Messages in this thread | | | Subject | Re: [RFC][PATCH v1 1/2] libsas: Alloc dynamic work to avoid missing sas events | From | Hannes Reinecke <> | Date | Wed, 14 Sep 2016 13:52:55 +0200 |
| |
On 09/13/2016 04:30 AM, Yijing Wang wrote: > Now libsas hotplug work is static, LLDD driver queue > the hotplug work into shost->work_q. If LLDD driver > burst post lots hotplug event to libsas, the hotplug > events may pending in the workqueue like > > shost->workq > tail | PHYE_LOSS_OF_SIGNAL | PORTE_BYTES_DMAED | head > > In this case, if a new PORTE_BYTES_DMAED event coming, > it would be lost, because we can not queue a work which > is already pending in the workqueue, also libsas has a > pending bit to avoid queue the same event. > > The lost hotplug event make something confusing, e.g. > we have sas disks connected hardware, but we can not > found them in kernel. > > This patch remove the static defined hotplug work, > and use dynamic work to avoid missing hotplug events. > > Signed-off-by: Yijing Wang <wangyijing@huawei.com> > Signed-off-by: Yousong He <heyousong@huawei.com> > Signed-off-by: Qilin Chen <chenqilin2@huawei.com> > --- > drivers/scsi/libsas/sas_event.c | 61 ++++++++++++++++++++--------------- > drivers/scsi/libsas/sas_init.c | 5 +-- > drivers/scsi/libsas/sas_internal.h | 3 ++ > drivers/scsi/libsas/sas_phy.c | 50 ++++++++--------------------- > drivers/scsi/libsas/sas_port.c | 23 ++++++++------ > include/scsi/libsas.h | 8 ----- > 6 files changed, 66 insertions(+), 84 deletions(-) > Reviewed-by: Hannes Reinecke <hare@suse.com>
Cheers,
Hannes -- Dr. Hannes Reinecke zSeries & Storage hare@suse.de +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
| |