Date: Fri, 15 Jul 2005 00:45:24 -0600 From: Scott Long <scottl@samsco.org> To: Poul-Henning Kamp <phk@haven.freebsd.dk> Cc: Luigi Rizzo <rizzo@icir.org>, s223560@studenti.ing.unipi.it, Robert Watson <rwatson@freebsd.org>, current@freebsd.org Subject: Re: location of bioq lock Message-ID: <42D75B84.7090601@samsco.org> In-Reply-To: <8462.1121409797@phk.freebsd.dk> References: <8462.1121409797@phk.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
Poul-Henning Kamp wrote: > In message <20050714181356.A58300@xorpc.icir.org>, Luigi Rizzo writes: > > >>Anyways there might be a way out... >>requests go from dev_strategy() > > > The right place for this is geom_disk.c:g_disk_start() and the start > routines of the drivers which do not use geom_disk. > > The easiest way to handle it would be to set a flag on the g_provider > saying "no more", have g_down spill the requests into a side queue > and when the driver is ready again, it calls some function which > pulls the request out of the side queue again. > > I agree. The 'side queue' can be a bioq also that gets handed off in whole to the driver once the path is unfrozen, but that's an optimization that is best done at a later time. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42D75B84.7090601>