[PATCH v4] cxl: Force context lock during EEH flow
Frederic Barrat
fbarrat at linux.vnet.ibm.com
Tue Apr 11 21:13:42 AEST 2017
Le 11/04/2017 à 12:40, Michael Ellerman a écrit :
> Frederic Barrat <fbarrat at linux.vnet.ibm.com> writes:
>
>> Le 05/04/2017 à 13:35, Vaibhav Jain a écrit :
>>> During an eeh event when the cxl card is fenced and card sysfs attr
>>> perst_reloads_same_image is set following warning message is seen in the
>>> kernel logs:
>>>
>>> [ 60.622727] Adapter context unlocked with 0 active contexts
>>> [ 60.622762] ------------[ cut here ]------------
>>> [ 60.622771] WARNING: CPU: 12 PID: 627 at
>>> ../drivers/misc/cxl/main.c:325 cxl_adapter_context_unlock+0x60/0x80 [cxl]
>>>
>>> Even though this warning is harmless, it clutters the kernel log
>>> during an eeh event. This warning is triggered as the EEH callback
>>> cxl_pci_error_detected doesn't obtain a context-lock before forcibly
>>> detaching all active context and when context-lock is released during
>>> call to cxl_configure_adapter from cxl_pci_slot_reset, a warning in
>>> cxl_adapter_context_unlock is triggered.
>>>
>>> To fix this warning, we acquire the adapter context-lock via
>>> cxl_adapter_context_lock() in the eeh callback
>>> cxl_pci_error_detected() once all the virtual AFU PHBs are notified
>>> and their contexts detached. The context-lock is released in
>>> cxl_pci_slot_reset() after the adapter is successfully reconfigured
>>> and before we call slot_reset callback on slice attached device-drivers.
>>>
>>> Cc: stable at vger.kernel.org
>>> Fixes: 70b565bbdb91("cxl: Prevent adapter reset if an active context exists")
>>> Reported-by: Andrew Donnellan <andrew.donnellan at au1.ibm.com>
>>> Signed-off-by: Vaibhav Jain <vaibhav at linux.vnet.ibm.com>
>>> ---
>>
>> Pending test result from cxl-flash:
>> Acked-by: Frederic Barrat <fbarrat at linux.vnet.ibm.com>
>
> Still pending ... ?
Yes, still waiting. It was mentioned in a call with the cxlflash team
yesterday.
Fred
>
> cheers
>
More information about the Linuxppc-dev
mailing list