On 12/08/2017 10:42 AM, Jason Yan wrote:
> Now all libsas works are queued to scsi host workqueue,
> include sas event work post by LLDD and sas discovery
> work, and a sas hotplug flow may be divided into several
> works, e.g libsas receive a PORTE_BYTES_DMAED event,
> currently we process it as following steps:
> sas_form_port  --- run in work in shost workq
>       sas_discover_domain  --- run in another work in shost workq
>               ...
>               sas_probe_devices  --- run in new work in shost workq
> We found during hot-add a device, libsas may need run several
> works in same workqueue to add device in system, the process is
> not atomic, it may interrupt by other sas event works, like
> PHYE_LOSS_OF_SIGNAL.
> 
> This patch is preparation of execute libsas sas event in sync. We need
> to use different workqueue to run sas event and disco event. Otherwise
> the work will be blocked for waiting another chained work in the same
> workqueue.
> 
> Signed-off-by: Yijing Wang <wangyij...@huawei.com>
> CC: John Garry <john.ga...@huawei.com>
> CC: Johannes Thumshirn <jthumsh...@suse.de>
> CC: Ewan Milne <emi...@redhat.com>
> CC: Christoph Hellwig <h...@lst.de>
> CC: Tomas Henzl <the...@redhat.com>
> CC: Dan Williams <dan.j.willi...@intel.com>
> Signed-off-by: Jason Yan <yanai...@huawei.com>
> ---
>  drivers/scsi/libsas/sas_discover.c |  2 +-
>  drivers/scsi/libsas/sas_event.c    |  6 +++---
>  drivers/scsi/libsas/sas_init.c     | 18 ++++++++++++++++++
>  include/scsi/libsas.h              |  3 +++
>  4 files changed, 25 insertions(+), 4 deletions(-)
> 
Reviewed-by: Hannes Reinecke <h...@suse.com>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                Teamlead Storage & Networking
h...@suse.de                                   +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)

Reply via email to