summaryrefslogtreecommitdiffstats
path: root/sys/modules
diff options
context:
space:
mode:
authorluigi <luigi@FreeBSD.org>2010-04-12 16:37:45 +0000
committerluigi <luigi@FreeBSD.org>2010-04-12 16:37:45 +0000
commitfa43d14d2c21e7548d0af04ea1059af5388ed442 (patch)
tree3d2396c98dfa68eb1810122ba8118d0e4554dcd2 /sys/modules
parentb257a79630808882711bcfc3799b0922b5aee877 (diff)
downloadFreeBSD-src-fa43d14d2c21e7548d0af04ea1059af5388ed442.zip
FreeBSD-src-fa43d14d2c21e7548d0af04ea1059af5388ed442.tar.gz
Bring in geom_sched, support for scheduling disk I/O requests
in a device independent manner. Also include an example anticipatory scheduler, gsched_rr, which gives very nice performance improvements in presence of competing random access patterns. This is joint work with Fabio Checconi, developed last year and presented at BSDCan 2009. You can find details in the README file or at http://info.iet.unipi.it/~luigi/geom_sched/
Diffstat (limited to 'sys/modules')
-rw-r--r--sys/modules/geom/Makefile1
-rw-r--r--sys/modules/geom/geom_sched/Makefile5
-rw-r--r--sys/modules/geom/geom_sched/Makefile.inc9
-rw-r--r--sys/modules/geom/geom_sched/gs_sched/Makefile6
-rw-r--r--sys/modules/geom/geom_sched/gsched_rr/Makefile9
5 files changed, 30 insertions, 0 deletions
diff --git a/sys/modules/geom/Makefile b/sys/modules/geom/Makefile
index abce379..0b2e3e8 100644
--- a/sys/modules/geom/Makefile
+++ b/sys/modules/geom/Makefile
@@ -19,6 +19,7 @@ SUBDIR= geom_bde \
geom_part \
geom_pc98 \
geom_raid3 \
+ geom_sched \
geom_shsec \
geom_stripe \
geom_sunlabel \
diff --git a/sys/modules/geom/geom_sched/Makefile b/sys/modules/geom/geom_sched/Makefile
new file mode 100644
index 0000000..5937fa0
--- /dev/null
+++ b/sys/modules/geom/geom_sched/Makefile
@@ -0,0 +1,5 @@
+# $FreeBSD$
+
+SUBDIR= gs_sched gsched_rr
+
+.include <bsd.subdir.mk>
diff --git a/sys/modules/geom/geom_sched/Makefile.inc b/sys/modules/geom/geom_sched/Makefile.inc
new file mode 100644
index 0000000..808d6eb
--- /dev/null
+++ b/sys/modules/geom/geom_sched/Makefile.inc
@@ -0,0 +1,9 @@
+# $FreeBSD$
+# included by geom_sched children
+
+.PATH: ${.CURDIR}/../../../../geom/sched
+
+# 6.x needs this path
+#CFLAGS += -I${.CURDIR}/../../../../geom/sched
+
+# .include <bsd.kmod.mk>
diff --git a/sys/modules/geom/geom_sched/gs_sched/Makefile b/sys/modules/geom/geom_sched/gs_sched/Makefile
new file mode 100644
index 0000000..5739365
--- /dev/null
+++ b/sys/modules/geom/geom_sched/gs_sched/Makefile
@@ -0,0 +1,6 @@
+# $FreeBSD$
+KMOD= geom_sched
+SRCS= g_sched.c subr_disk.c
+
+# ../Makefile.inc automatically included
+.include <bsd.kmod.mk>
diff --git a/sys/modules/geom/geom_sched/gsched_rr/Makefile b/sys/modules/geom/geom_sched/gsched_rr/Makefile
new file mode 100644
index 0000000..4209277
--- /dev/null
+++ b/sys/modules/geom/geom_sched/gsched_rr/Makefile
@@ -0,0 +1,9 @@
+# $FreeBSD$
+
+KMOD= gsched_rr
+SRCS= gs_rr.c
+# hash.h on 6.x has a (char *) cast on a const pointer
+#CWARNFLAGS=
+
+# ../Makefile.inc automatically included
+.include <bsd.kmod.mk>
OpenPOWER on IntegriCloud