lkml.org 
[lkml]   [2017]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v5 1/7] scsi: libsas: Use dynamic alloced work to avoid sas event lost
    From
    Date
    On 12/08/2017 10:42 AM, Jason Yan wrote:
    > Now libsas hotplug work is static, every sas event type has its own
    > static work, LLDD driver queues the hotplug work into shost->work_q.
    > If LLDD driver burst posts lots hotplug events to libsas, the hotplug
    > events may pending in the workqueue like
    >
    > shost->work_q
    > new work[PORTE_BYTES_DMAED] --> |[PHYE_LOSS_OF_SIGNAL][PORTE_BYTES_DMAED] -> processing
    > |<-------wait worker to process-------->|
    >
    > In this case, a new PORTE_BYTES_DMAED event coming, libsas try to queue
    > it to shost->work_q, but this work is already pending, so it would be
    > lost. Finally, libsas delete the related sas port and sas devices, but
    > LLDD driver expect libsas add the sas port and devices(last sas event).
    >
    > This patch use dynamic allocated work to avoid this issue.
    >
    > Signed-off-by: Yijing Wang <wangyijing@huawei.com>
    > CC: John Garry <john.garry@huawei.com>
    > CC: Johannes Thumshirn <jthumshirn@suse.de>
    > CC: Ewan Milne <emilne@redhat.com>
    > CC: Christoph Hellwig <hch@lst.de>
    > CC: Tomas Henzl <thenzl@redhat.com>
    > CC: Dan Williams <dan.j.williams@intel.com>
    > Signed-off-by: Jason Yan <yanaijie@huawei.com>
    > ---
    > drivers/scsi/libsas/sas_event.c | 74 +++++++++++++++++++++++++++++---------
    > drivers/scsi/libsas/sas_init.c | 27 ++++++++++++--
    > drivers/scsi/libsas/sas_internal.h | 6 ++++
    > drivers/scsi/libsas/sas_phy.c | 44 +++++------------------
    > drivers/scsi/libsas/sas_port.c | 18 +++++-----
    > include/scsi/libsas.h | 17 +++++----
    > 6 files changed, 115 insertions(+), 71 deletions(-)
    >
    Reviewed-by: Hannes Reinecke <hare@suse.com>

    Cheers,

    Hannes
    --
    Dr. Hannes Reinecke Teamlead Storage & Networking
    hare@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)

    \
     
     \ /
      Last update: 2017-12-15 13:15    [W:3.163 / U:0.112 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site