[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5940FEBF.3020009@huawei.com>
Date: Wed, 14 Jun 2017 17:15:43 +0800
From: wangyijing <wangyijing@...wei.com>
To: Johannes Thumshirn <jthumshirn@...e.de>, <jejb@...ux.vnet.ibm.com>,
<martin.petersen@...cle.com>
CC: <chenqilin2@...wei.com>, <hare@...e.com>,
<linux-scsi@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<chenxiang66@...ilicon.com>, <huangdaode@...ilicon.com>,
<wangkefeng.wang@...wei.com>, <zhaohongjiang@...wei.com>,
<dingtianhong@...wei.com>, <guohanjun@...wei.com>,
<yanaijie@...wei.com>, <hch@....de>, <dan.j.williams@...el.com>,
<emilne@...hat.com>, <thenzl@...hat.com>, <wefu@...hat.com>,
<charles.chenxin@...wei.com>, <chenweilong@...wei.com>
Subject: Re: [PATCH v2 2/2] libsas: Enhance libsas hotplug
>> In this patch, we try to solve these issues in following steps:
>> 1. create a new workqueue used to run sas event work, instead of scsi host workqueue,
>> because we may block sas event work, we cannot block the normal scsi works.
>> When libsas receive a phy down event, sas_deform_port would be called, and now we
>> block sas_deform_port and wait for destruction work finish, in sas_destruct_devices,
>> we may wait ata error handler, it would take a long time, so if do all stuff in scsi
>> host workq, libsas may block other scsi works too long.
>> 2. create a new workqueue used to run sas discovery events work, instead of scsi host
>> workqueue, because in some cases, eg. in revalidate domain event, we may unregister
>> a sas device and discover new one, we must sync the execution, wait the remove process
>> finish, then start a new discovery. So we must put the probe and destruct discovery
>> events in a new workqueue to avoid deadlock.
>> 3. introudce a asd_sas_port level wait-complete and a sas_discovery level wait-complete
>> we use former wait-complete to achieve a sas event atomic process and use latter to
>> make a sas discovery sync.
>> 4. remove disco_mutex in sas_revalidate_domain, since now sas_revalidate_domain sync
>> the destruct discovery event execution, it's no need to lock disco mutex there.
>
> The way you've written the changelog suggests this patch should be split
> into 4 patches, each one taking care of one of your change items.
I will split it in next version.
Thanks!
Yijing.
>
Powered by blists - more mailing lists