Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Mar 2009 01:55:15 +0100
From:      Luigi Rizzo <rizzo@icir.org>
To:        stable@freebsd.org
Cc:        Luigi Rizzo <rizzo@iet.unipi.it>, Fabio Checconi <fabio@gandalf.sssup.it>
Subject:   updated geom_sched code
Message-ID:  <20090308005515.GA68934@onelab2.iet.unipi.it>

next in thread | raw e-mail | index | archive | help
Hi all,
this is an update on the work that Fabio Checconi and I are doing
on disk scheduling, which was first announced here a couple of
months ago:

    http://lists.freebsd.org/pipermail/freebsd-stable/2009-January/047597.html

Since the previous version, we have done some massive cleanup and
consolidation of the code, fixed a bug in the system's disksort,
and added amd64 support.

We believe the code is now ready for some wider testing
(as long as you are not using g_journal, see below).

Full source code can be downloaded from

    http://info.iet.unipi.it/~luigi/FreeBSD/geom_sched-20090307.tgz

(the archive also includes pre-built RELENG_7/i386 modules).

Instructions on how to install and use the scheduler are included in
the source code, along with some notes on the implemented schedulers.

The major changes from the previous version are the following:

  - support for early loading of scheduler modules, allowing their
    use on root devices;

  - support for the geom 'retaste' function;

  - general cleanup of the code, simplification of the internal
    interfaces, some bugs fixed;

  - support for the ugly binary patching hack on amd64;

  - support for multiple dispatches in RR;

  - support for on-the-fly scheduler switches;

  - support for unloading schedulers in-use.

NOTE: due to the way we store classification info, the schedulers
are probably incompatible with g_journal.

Apart from that (which needs to be fixed by adding a field to the
struct bio), we believe the code to be quite stable now, so future
work will be mainly focused on adding more scheduling algorithms
and doing a thorough performance evaluation under various workloads.
In the meantime we'd really appreciate any comment from you on the
approach we took, and anyone testing the code.

	cheers
	Luigi and Fabio



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090308005515.GA68934>