diff options
author | avg <avg@FreeBSD.org> | 2013-07-24 09:45:31 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2013-07-24 09:45:31 +0000 |
commit | 9e6374b6a9ee35bc4eb4e1d73c4942b4b2391e57 (patch) | |
tree | 86485591661a4e2aaffdc78caab463f4b4f101f9 /sys/ofed/include | |
parent | 0a4136d3530f88ddcec3af09ad403f557fba393b (diff) | |
download | FreeBSD-src-9e6374b6a9ee35bc4eb4e1d73c4942b4b2391e57.zip FreeBSD-src-9e6374b6a9ee35bc4eb4e1d73c4942b4b2391e57.tar.gz |
rename scheduler->swapper and SI_SUB_RUN_SCHEDULER->SI_SUB_LAST
Also directly call swapper() at the end of mi_startup instead of
relying on swapper being the last thing in sysinits order.
Rationale:
- "RUN_SCHEDULER" was misleading, scheduling already takes place at that stage
- "scheduler" was misleading, the function swaps in the swapped out processes
- another SYSINIT(SI_SUB_RUN_SCHEDULER, SI_ORDER_ANY) could never be
invoked depending on its relative order with scheduler; this was not obvious
and the bug actually used to exist
Reviewed by: kib (ealier version)
MFC after: 14 days
Diffstat (limited to 'sys/ofed/include')
-rw-r--r-- | sys/ofed/include/linux/module.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/ofed/include/linux/module.h b/sys/ofed/include/linux/module.h index 1e3a682..8c83006 100644 --- a/sys/ofed/include/linux/module.h +++ b/sys/ofed/include/linux/module.h @@ -68,17 +68,17 @@ _module_run(void *arg) } #define module_init(fn) \ - SYSINIT(fn, SI_SUB_RUN_SCHEDULER, SI_ORDER_FIRST, _module_run, (fn)) + SYSINIT(fn, SI_SUB_LAST, SI_ORDER_FIRST, _module_run, (fn)) /* * XXX This is a freebsdism designed to work around not having a module * load order resolver built in. */ #define module_init_order(fn, order) \ - SYSINIT(fn, SI_SUB_RUN_SCHEDULER, (order), _module_run, (fn)) + SYSINIT(fn, SI_SUB_LAST, (order), _module_run, (fn)) #define module_exit(fn) \ - SYSUNINIT(fn, SI_SUB_RUN_SCHEDULER, SI_ORDER_FIRST, _module_run, (fn)) + SYSUNINIT(fn, SI_SUB_LAST, SI_ORDER_FIRST, _module_run, (fn)) #define module_get(module) #define module_put(module) |