HEADSUP: KSE about to become a kernel option

Jiawei Ye leafy7382 at gmail.com
Fri Oct 27 06:20:43 UTC 2006


On 10/27/06, David Xu <davidxu at freebsd.org> wrote:
> I assume that without KSE, the scheduler's code size is reduced, this saves
> I-CACHE and execution time.
>
> David Xu
Is SCHED_CORE compatible with this change? I get

cc -c -mtune=pentium4 -march=pentium2 -std=c99 -g -Wall
-Wredundant-decls -Wnested-externs -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef
-fformat-extensions -nostdinc -I-  -I. -I/usr/src/sys
-I/usr/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS
-include opt_global.h -fno-common -finline-limit=8000 --param
inline-unit-growth=100 --param large-function-growth=1000
-mno-align-long-strings -mpreferred-stack-boundary=2  -mno-mmx
-mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -Werror
/usr/src/sys/kern/sched_core.c
/usr/src/sys/kern/sched_core.c:356: warning: "struct ksegrp" declared
inside parameter list
/usr/src/sys/kern/sched_core.c:356: warning: its scope is only this
definition or declaration, which is probably not what you want
/usr/src/sys/kern/sched_core.c:372: warning: "struct ksegrp" declared
inside parameter list
/usr/src/sys/kern/sched_core.c:374: warning: "struct ksegrp" declared
inside parameter list
/usr/src/sys/kern/sched_core.c:618: warning: "struct ksegrp" declared
inside parameter list
/usr/src/sys/kern/sched_core.c:619: error: conflicting types for
'sched_is_timeshare'
/usr/src/sys/kern/sched_core.c:372: error: previous declaration of
'sched_is_timeshare' was here
/usr/src/sys/kern/sched_core.c:619: error: conflicting types for
'sched_is_timeshare'
/usr/src/sys/kern/sched_core.c:372: error: previous declaration of
'sched_is_timeshare' was here
/usr/src/sys/kern/sched_core.c: In function `sched_is_timeshare':
/usr/src/sys/kern/sched_core.c:620: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c: At top level:
/usr/src/sys/kern/sched_core.c:624: warning: "struct ksegrp" declared
inside parameter list
/usr/src/sys/kern/sched_core.c:625: error: conflicting types for
'sched_calc_pri'
/usr/src/sys/kern/sched_core.c:374: error: previous declaration of
'sched_calc_pri' was here
/usr/src/sys/kern/sched_core.c:625: error: conflicting types for
'sched_calc_pri'
/usr/src/sys/kern/sched_core.c:374: error: previous declaration of
'sched_calc_pri' was here
/usr/src/sys/kern/sched_core.c: In function `sched_calc_pri':
/usr/src/sys/kern/sched_core.c:629: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:630: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:630: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:637: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c: In function `sched_recalc_pri':
/usr/src/sys/kern/sched_core.c:647: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c:649: warning: passing arg 1 of
`sched_is_timeshare' from incompatible pointer type
/usr/src/sys/kern/sched_core.c:650: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:661: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:663: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:671: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:673: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:675: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:683: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:686: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:687: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:691: warning: passing arg 1 of
`sched_calc_pri' from incompatible pointer type
/usr/src/sys/kern/sched_core.c: In function `sched_update_runtime':
/usr/src/sys/kern/sched_core.c:698: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c:700: warning: passing arg 1 of
`sched_is_timeshare' from incompatible pointer type
/usr/src/sys/kern/sched_core.c:708: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:709: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c: In function `sched_commit_runtime':
/usr/src/sys/kern/sched_core.c:717: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c:719: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:719: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:720: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:722: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:722: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:723: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c: In function `schedinit':
/usr/src/sys/kern/sched_core.c:815: error: `ksegrp0' undeclared (first
use in this function)
/usr/src/sys/kern/sched_core.c:815: error: (Each undeclared identifier
is reported only once
/usr/src/sys/kern/sched_core.c:815: error: for each function it appears in.)
/usr/src/sys/kern/sched_core.c: In function `sched_unlend_prio':
/usr/src/sys/kern/sched_core.c:911: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c: In function `sched_prio':
/usr/src/sys/kern/sched_core.c:926: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c: At top level:
/usr/src/sys/kern/sched_core.c:952: warning: "struct ksegrp" declared
inside parameter list
/usr/src/sys/kern/sched_core.c:953: error: conflicting types for
'sched_user_prio'
/usr/src/sys/sys/sched.h:83: error: previous declaration of
'sched_user_prio' was here
/usr/src/sys/kern/sched_core.c:953: error: conflicting types for
'sched_user_prio'
/usr/src/sys/sys/sched.h:83: error: previous declaration of
'sched_user_prio' was here
/usr/src/sys/kern/sched_core.c: In function `sched_user_prio':
/usr/src/sys/kern/sched_core.c:957: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:961: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:963: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:967: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:970: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:971: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c: In function `sched_lend_user_prio':
/usr/src/sys/kern/sched_core.c:984: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c:985: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c: In function `sched_unlend_user_prio':
/usr/src/sys/kern/sched_core.c:994: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c:997: error: dereferencing pointer to
incomplete type
/usr/src/sys/kern/sched_core.c:1000: warning: passing arg 1 of
`sched_user_prio' from incompatible pointer type
/usr/src/sys/kern/sched_core.c: In function `sched_switch':
/usr/src/sys/kern/sched_core.c:1017: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c:1030: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c:1039: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c:1039: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c:1046: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c:1057: error: structure has no member
named `td_ksegrp'
/usr/src/sys/kern/sched_core.c: In function `sched_nice':
/usr/src/sys/kern/sched_core.c:1094: warning: implicit declaration of
function `FOREACH_KSEGRP_IN_PROC'
/usr/src/sys/kern/sched_core.c:1094: warning: nested extern
declaration of `FOREACH_KSEGRP_IN_PROC'
/usr/src/sys/kern/sched_core.c:1094: error: syntax error before '{' token
/usr/src/sys/kern/sched_core.c:1097: warning: implicit declaration of
function `FOREACH_THREAD_IN_GROUP'
/usr/src/sys/kern/sched_core.c:1097: warning: nested extern
declaration of `FOREACH_THREAD_IN_GROUP'
/usr/src/sys/kern/sched_core.c:1098: error: syntax error before "td"
/usr/src/sys/kern/sched_core.c: At top level:
/usr/src/sys/kern/sched_core.c:356: warning: 'slot_fill' declared
`static' but never defined
/usr/src/sys/kern/sched_core.c:578: warning: 'kseq_choose' defined but not used
/usr/src/sys/kern/sched_core.c:372: warning: 'sched_is_timeshare'
declared `static' but never defined
/usr/src/sys/kern/sched_core.c:373: warning: 'sched_choose' declared
`static' but never defined
/usr/src/sys/kern/sched_core.c:374: warning: 'sched_calc_pri' declared
`static' but never defined
/usr/src/sys/kern/sched_core.c:375: warning: 'sched_starving' declared
`static' but never defined
/usr/src/sys/kern/sched_core.c:837: warning: 'sched_pctcpu_update'
defined but not used
/usr/src/sys/kern/sched_core.c:642: warning: 'sched_recalc_pri'
defined but not used
/usr/src/sys/kern/sched_core.c:716: warning: 'sched_commit_runtime'
defined but not used
/usr/src/sys/kern/sched_core.c:433: warning: 'krunq_check' defined but not used
*** Error code 1

Stop in /usr/obj/usr/src/sys/MAIL.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.


Jiawei Ye
-- 
"If it looks like a duck, walks like a duck, and quacks like a duck,
then to the end user it's a duck, and end users have made it pretty
clear they want a duck; whether the duck drinks hot chocolate or
coffee is irrelevant."


More information about the freebsd-current mailing list