• Stefan Richter's avatar
    firewire: fw-sbp2: use an own workqueue (fix system responsiveness) · df8ec249
    Stefan Richter authored
    Firewire-sbp2 did very uncooperative things in the kernel's shared
    workqueue:  Sleeping until reception of management status from the
    target for up to 2 seconds, and performing SCSI inquiry and all of the
    setup of SCSI command set drivers via scsi_add_device.  If there were
    transient or permanent error conditions, this caused long blockage of
    the kernel's events process, noticeable e.g. by blocked keyboard input.
    
    We now allocate a workqueue process exclusive to fw-sbp2.  As a side
    effect, this also increases parallelism of fw-sbp2's login and reconnect
    work versus fw-core's device discovery and device update work which is
    performed in the shared workqueue.
    Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
    Signed-off-by: default avatarKristian Høgsberg <krh@redhat.com>
    df8ec249
fw-sbp2.c 37.3 KB