[lkml]   [2009]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [RFC][PATCH] create workqueue threads only when needed
    Oliver Neukum wrote:
    > Am Monday 02 February 2009 10:05:28 schrieb Benjamin Herrenschmidt:
    [I wrote]
    >> > Work which /may/ sleep longer, for example performs SCSI transactions,
    >> > needs to go into a private workqueue or other kind of context.
    >> Well, it's a bit silly to allocate a private workqueue with all it's
    >> associated per CPU kernel threads for something as rare as resetting
    >> your eth NIC ... or even SCSI error handling in fact.
    > How do you avoid a deadlock if SCSI error handling doesn't use
    > a dedicated workqueue?

    SCSI error handling happens in dedicated per-Scsi_Host threads. These
    look like candidates for some kind of thread pool implementation too
    though (like Arjan's kernel/async.c), especially since a Scsi_Host
    instance is sometimes actually a per-target instance.

    But I thought primarily about scsi_add_device and scsi_remove_device and
    friends. Incidentally, device probing is exactly what Arjan's fastboot
    facility is targeting. (Sometimes device shutdown is slow too and wants
    to be parallelized versus other bus event handling then.)
    Stefan Richter
    -=====-==--= --=- ---=-

     \ /
      Last update: 2009-02-02 12:43    [W:0.020 / U:37.896 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site