Question about disk schedulers

Luigi Rizzo rizzo at iet.unipi.it
Sat Feb 28 08:18:09 PST 2009


On Sat, Feb 28, 2009 at 01:47:07AM -0500, Yoshihiro Ota wrote:
> Hi, Luigi and Fabio:
> 
> I have a question about the GEOM disk scheduler you announed a while ago.
> http://lists.freebsd.org/pipermail/freebsd-stable/2009-January/047597.html
> 
> Can you tell me how does the scheduler interact with gjournal?
> Do you expect to improve response time even if used together with gjounral
> or to interfere each other?
> 
> As I only had a journaled partition available for an experiment, I tried
> this combination on 7.1-RELEASE but it paniced 4 times out of 5 at attempts
> as soon as I mounted.

Hi,
a possible problem is that the scheduler uses the bio_caller1 field
in the topmost request to store classification info -- there is no
place to store the info in a standard 'bio' and changing the structure
is rather intrusive.

I see that gjournal.h has this comment:

	/*
	 * Use bio_caller1 field as a pointer in queue.
	 */
	#define bio_next        bio_caller1

so if gjournal is the top layer in the hierarchy there might be
a conflict.

Apart from adding a specific field to the struct bio (in the long
term this is the way to go) perhaps one could try and add a gnop
class on top of gjournal, so that would free the bio_caller1 in
the topmost bio and prevent the panic.

But thanks for the report, we will keep this in mind and in the
next release (which should happen in a week or so) we will
also add a patch or suggestion for handling this problem

	cheers
	luigi


More information about the freebsd-stable mailing list