diff mbox

[RESEND] cxl: Force psl data-cache flush during device shutdown

Message ID 20170104061852.18512-1-vaibhav@linux.vnet.ibm.com (mailing list archive)
State Accepted
Headers show

Commit Message

Vaibhav Jain Jan. 4, 2017, 6:18 a.m. UTC
This change adds a force psl data cache flush during device shutdown
callback. This should reduce a possibility of psl holding a dirty
cache line while the CAPP is being reinitialized, which may result in
a UE [load/store] machine check error.

Signed-off-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
---
Resend: Fixed the author ident.
---
 drivers/misc/cxl/pci.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Andrew Donnellan Jan. 4, 2017, 6:43 a.m. UTC | #1
On 04/01/17 17:18, Vaibhav Jain wrote:
> This change adds a force psl data cache flush during device shutdown
> callback. This should reduce a possibility of psl holding a dirty
> cache line while the CAPP is being reinitialized, which may result in
> a UE [load/store] machine check error.
>
> Signed-off-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>

Should this be cc: stable? (it does depend on aaa2245ed836 which only 
came in during 4.9)

Looks good.

Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>



> ---
> Resend: Fixed the author ident.
> ---
>  drivers/misc/cxl/pci.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
> index 80a87ab..73432e7 100644
> --- a/drivers/misc/cxl/pci.c
> +++ b/drivers/misc/cxl/pci.c
> @@ -1610,6 +1610,9 @@ static void cxl_pci_remove_adapter(struct cxl *adapter)
>  	cxl_sysfs_adapter_remove(adapter);
>  	cxl_debugfs_adapter_remove(adapter);
>
> +	/* Flush adapter datacache as its about to be removed */
> +	cxl_data_cache_flush(adapter);
> +
>  	cxl_deconfigure_adapter(adapter);
>
>  	device_unregister(&adapter->dev);
>
Frederic Barrat Jan. 5, 2017, 2:44 p.m. UTC | #2
Le 04/01/2017 à 07:18, Vaibhav Jain a écrit :
> This change adds a force psl data cache flush during device shutdown
> callback. This should reduce a possibility of psl holding a dirty
> cache line while the CAPP is being reinitialized, which may result in
> a UE [load/store] machine check error.
>
> Signed-off-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
> ---

Looks good to me, thanks!

Acked-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>


> Resend: Fixed the author ident.
> ---
>  drivers/misc/cxl/pci.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
> index 80a87ab..73432e7 100644
> --- a/drivers/misc/cxl/pci.c
> +++ b/drivers/misc/cxl/pci.c
> @@ -1610,6 +1610,9 @@ static void cxl_pci_remove_adapter(struct cxl *adapter)
>  	cxl_sysfs_adapter_remove(adapter);
>  	cxl_debugfs_adapter_remove(adapter);
>
> +	/* Flush adapter datacache as its about to be removed */
> +	cxl_data_cache_flush(adapter);
> +
>  	cxl_deconfigure_adapter(adapter);
>
>  	device_unregister(&adapter->dev);
>
Michael Ellerman Jan. 27, 2017, 12:40 a.m. UTC | #3
On Wed, 2017-01-04 at 06:18:52 UTC, Vaibhav Jain wrote:
> This change adds a force psl data cache flush during device shutdown
> callback. This should reduce a possibility of psl holding a dirty
> cache line while the CAPP is being reinitialized, which may result in
> a UE [load/store] machine check error.
> 
> Signed-off-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
> Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
> Acked-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/d7b1946c7925a270062b2e0718aa57

cheers
diff mbox

Patch

diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
index 80a87ab..73432e7 100644
--- a/drivers/misc/cxl/pci.c
+++ b/drivers/misc/cxl/pci.c
@@ -1610,6 +1610,9 @@  static void cxl_pci_remove_adapter(struct cxl *adapter)
 	cxl_sysfs_adapter_remove(adapter);
 	cxl_debugfs_adapter_remove(adapter);
 
+	/* Flush adapter datacache as its about to be removed */
+	cxl_data_cache_flush(adapter);
+
 	cxl_deconfigure_adapter(adapter);
 
 	device_unregister(&adapter->dev);