From 1f509c0d0462a40d206aa7323ff8a88b2096a2d6 Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Tue, 7 Aug 2012 03:31:59 +0200 Subject: [PATCH] kernel/dsched: Add a version parameter to the DSCHED_POLICY_MODULE macro. --- share/man/man9/dsched.9 | 10 +++++++--- sys/kern/dsched/as/as.c | 2 +- sys/kern/dsched/bfq/bfq.c | 2 +- sys/kern/dsched/fq/fq_core.c | 2 +- sys/sys/dsched.h | 5 +++-- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/share/man/man9/dsched.9 b/share/man/man9/dsched.9 index 5d61aa941e..fa0c6105f3 100644 --- a/share/man/man9/dsched.9 +++ b/share/man/man9/dsched.9 @@ -29,7 +29,7 @@ .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 29, 2010 +.Dd August 7, 2012 .Dt DSCHED 9 .Os .Sh NAME @@ -82,7 +82,7 @@ Functions: .Fn dsched_unregister "struct dsched_policy *d_policy" .Pp Macros: -.Fn DSCHED_POLICY_MODULE "name" "modeventhand_t evh" +.Fn DSCHED_POLICY_MODULE "name" "modeventhand_t evh" "version" .Fn DSCHED_DISK_CTX_LOCK "struct dsched_disk_ctx *diskctx" .Fn DSCHED_DISK_CTX_UNLOCK "struct dsched_disk_ctx *diskctx" .Fn DSCHED_THREAD_IO_LOCK "struct dsched_thread_io *tdio" @@ -113,7 +113,7 @@ To create a new dsched policy .Sq foo the following is required: .Bd -literal -DSCHED_POLICY_MODULE(dsched_foo, foo_mod_handler); +DSCHED_POLICY_MODULE(dsched_foo, foo_mod_handler, 1); struct dsched_policy dsched_foo_policy = { .name = "foo", @@ -300,6 +300,10 @@ policy with on load and to unregister it using .Fn dsched_unregister when it is unloaded. +.Fa version +is the version number of the module (see +.Xr MODULE_VERSION 9 +for more information). .Pp The .Fn dsched_strategy_async diff --git a/sys/kern/dsched/as/as.c b/sys/kern/dsched/as/as.c index 0f3d51f4ad..d388f78099 100644 --- a/sys/kern/dsched/as/as.c +++ b/sys/kern/dsched/as/as.c @@ -287,4 +287,4 @@ as_mod_handler(module_t mod, int type, void *unused) return 0; } -DSCHED_POLICY_MODULE(dsched_as, as_mod_handler); +DSCHED_POLICY_MODULE(dsched_as, as_mod_handler, 1); diff --git a/sys/kern/dsched/bfq/bfq.c b/sys/kern/dsched/bfq/bfq.c index d9d29b6f83..5d04988f2c 100644 --- a/sys/kern/dsched/bfq/bfq.c +++ b/sys/kern/dsched/bfq/bfq.c @@ -1379,4 +1379,4 @@ bfq_sysctl_auto_max_budget_handler(SYSCTL_HANDLER_ARGS) return error; } -DSCHED_POLICY_MODULE(dsched_bfq, bfq_mod_handler); +DSCHED_POLICY_MODULE(dsched_bfq, bfq_mod_handler, 1); diff --git a/sys/kern/dsched/fq/fq_core.c b/sys/kern/dsched/fq/fq_core.c index 195d7a28fe..01657f67f5 100644 --- a/sys/kern/dsched/fq/fq_core.c +++ b/sys/kern/dsched/fq/fq_core.c @@ -427,4 +427,4 @@ fq_mod_handler(module_t mod, int type, void *unused) return 0; } -DSCHED_POLICY_MODULE(dsched_fq, fq_mod_handler); +DSCHED_POLICY_MODULE(dsched_fq, fq_mod_handler, 1); diff --git a/sys/sys/dsched.h b/sys/sys/dsched.h index 199c5d9641..e254a31aaf 100644 --- a/sys/sys/dsched.h +++ b/sys/sys/dsched.h @@ -237,13 +237,14 @@ TAILQ_HEAD(dsched_policy_head, dsched_policy); #define DSCHED_THREAD_IO_MAX_SZ 384 #define DSCHED_DISK_CTX_MAX_SZ 1024 -#define DSCHED_POLICY_MODULE(name, evh) \ +#define DSCHED_POLICY_MODULE(name, evh, version) \ static moduledata_t name##_mod = { \ #name, \ evh, \ NULL \ }; \ -DECLARE_MODULE(name, name##_mod, SI_SUB_PRE_DRIVERS, SI_ORDER_MIDDLE) +DECLARE_MODULE(name, name##_mod, SI_SUB_PRE_DRIVERS, SI_ORDER_MIDDLE); \ +MODULE_VERSION(name, version) void dsched_disk_create_callback(struct disk *dp, const char *head_name, int unit); void dsched_disk_update_callback(struct disk *dp, struct disk_info *info); -- 2.41.0