error: implicit declaration of function ‘sched_needs_cpu’

Trying to compile kernel with ck patch & BFQ & Reiser 4. Kernel version is linux-4.4.70-18.9. Error message is:

make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
+ make -j2
make[2]: warning: -jN forced in submake: disabling jobserver mode.
kernel/time/tick-sched.c: In function ‘tick_nohz_stop_sched_tick’:
kernel/time/tick-sched.c:587:2: error: implicit declaration of function ‘sched_needs_cpu’ -Werror=implicit-function-declaration]
  if (sched_needs_cpu(cpu) || rcu_needs_cpu(basemono, &next_rcu) ||
cc1: some warnings being treated as errors
make[4]: *** [kernel/time/tick-sched.o] Error 1
make[3]: *** [kernel/time] Error 2
make[2]: *** [kernel] Error 2

I was compiling kernel in my home dir (copied all files from /usr/src/linux). When I copied .config file from that dir to /usr/src/linux and executed command make -j3 rpm it, suddenly, prints out really useful information about problem & points to the corresponding configuration options! And what I is turned off Old Idle dynticks config (CONFIG_NO_HZ). Why it is so I have no idea. I jut wanted to save some disk space on my root partition.

I’m not sure how an I/O disk scheduler might improve efficiency storing data…
AFAIK the I/O disk scheduler only manages the bytes flow to and from the disk controller to improve throughput which wouldn’t have anything to do with the bytes on the disk.

To view already available, IIRC the main options are CFQ, noop and deadline. Main reasons to specify are when you’re running a database application or on an SSD drive.


I just wanted to save space on / partition compiling kernel outside root partition.