public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* Smart plugging of multiple devices connected to a single controller
@ 2008-10-22 18:24 Elias Oltmanns
  2008-10-22 19:22 ` Elias Oltmanns
  0 siblings, 1 reply; 2+ messages in thread
From: Elias Oltmanns @ 2008-10-22 18:24 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-ide, linux-scsi

Hi Jens,

in an effort to avoid calling the ->request_fn() from hard irq context
in ide, a patch like the one attached below would seem convenient (not
even compile tested yet). However, before implementing this or, indeed,
in case you should outright reject this patch, I'd like to ask for your
opinion about a more general approach: Since ide, scsi and libata (once
it has moved out of scsi) have very similar issues with devices that
cannot process the request queue in parallel (typically because they are
connected to the same controller), would it be appropriate to deal with
that in the block layer directly? Currently, I'm mainly concerned with
the problem that devices connected to the same controller are served
without too much discrimination due to races in the (un)plug logic,
which is currently being dealt with more or less cleverly in scsi / ide.
Generally though, there might be other shared resources (like a tag map,
etc.) that could be maintained in a in a block layer structure similar to
struct Scsi_Host. All request queues belonging to such a group could be
added to a circular link list rooted at the structure containing the
shared resources, i.e. the unplug_timer and whatever you deem adequate
to be moved there.

What do you think about it?

Regards,

Elias

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-10-22 19:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-22 18:24 Smart plugging of multiple devices connected to a single controller Elias Oltmanns
2008-10-22 19:22 ` Elias Oltmanns

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox