firelzrd/bore-scheduler

doesn't work on 6.5.4

fsyy opened this issue ยท 4 comments

fsyy commented

I'm usign linux-tkg and i get this when i apply the latest patch:

-> ######################################################
->
-> Applying your own linux-6.5 patch /home/fsyy/build/linux-tkg/linux65-tkg-userpatches/0001-linux6.5.y-eevdf-bore3.1.4.mypatch
->
-> ######################################################
patching file include/linux/sched.h
Hunk #2 succeeded at 580 (offset 3 lines).
Hunk #3 succeeded at 1017 (offset 3 lines).
patching file init/Kconfig
Hunk #1 succeeded at 1306 (offset 29 lines).
patching file kernel/sched/core.c
Hunk #1 succeeded at 4485 (offset -6 lines).
Hunk #2 succeeded at 4650 (offset -6 lines).
Hunk #3 succeeded at 4973 (offset -7 lines).
Hunk #4 succeeded at 10125 (offset 16 lines).
patching file kernel/sched/debug.c
patching file kernel/sched/fair.c
Hunk #5 succeeded at 1268 (offset -7 lines).
Hunk #6 FAILED at 5077.
Hunk #7 succeeded at 6629 (offset -4 lines).
Hunk #8 succeeded at 8364 (offset 1 line).
Hunk #9 succeeded at 8378 (offset 1 line).
1 out of 9 hunks FAILED -- saving rejects to file kernel/sched/fair.c.rej

fsyy commented

just seen that there is now: BORE (Burst-Oriented Response Enhancer - EEVDF variant) CPU Scheduler

It's compiling. :)

just seen that there is now: BORE (Burst-Oriented Response Enhancer - EEVDF variant) CPU Scheduler

It's compiling. :)

What/where is that versus 0001-linux6.5.y-eevdf-bore3.1.4.patch? I get these with it in 6.5.{4,5}:

1 out of 3 hunks FAILED -- saving rejects to file include/linux/sched.h.rej
1 out of 4 hunks FAILED -- saving rejects to file kernel/sched/core.c.rej
3 out of 9 hunks FAILED -- saving rejects to file kernel/sched/fair.c.rej

Ah, this patch was rebased on linux 6.6 I guess, e.g.

 place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags)

...doesn't exist until 6.6-rc1. Ref: sched: EEVDF and latency-nice and/or slice-attr

Should it get renamed to 0001-linux6.6.y-eevdf-bore... ?

UPDATE: I got it to build and run (on 6.5.5) by applying the above sched patch but had to replace:

 	if (pi)
 		cpuset_read_lock();
 

...with:

 	/*
 	 * SCHED_DEADLINE bandwidth accounting relies on stable cpusets
 	 * information.
fsyy commented

linux-tkg has the EEVDF wit BORE scheduler patch integrated into its PKGBUILD.

Thank you guys for your interest.

If you are patching on CFS kernel, then my linux-6.5-bore patch should work. Also please consider patching the constgran-vanilla-max patch which I found to show good overall performance.
We have been having the best experience (sustained good responsiveness under heaviest load) on the CFS variant so far.

As you already mentioned, as of the next major release 6.6, EEVDF will be mainlined, and CFS will be ditched.
But the sad thing is that EEVDF itself currently suffers from a little responsiveness issue at near 100% load and above.
(ptr1337 and I found it out when stressing the earliest version of EEVDF, and we've been waiting for it to improve)
I'll keep my eyes on the issue, and whenever available, will be doing my best to catch up with latest EEVDF improvements and provide you best experience.

With respect, we wish our best for the EEVDF team in keeping their great job to improve the excellent new standard scheduler.