"The min_granularity setting was renamed to base_slice in this commit in v6 kernel.
The comment says it scales with CPU count and the comment is incorrect. I wonder whether kernel developers are aware of that mistake as they are rewriting the scheduler!
- Official comments in the code says it’s scaling with log2(1+cores) but it doesn’t.
- All the comments in the code are incorrect.
- Official documentation and man pages are incorrect.
- Every blog article, stack overflow answer and guide ever published about the scheduler is incorrect."
How has no one noticed a server first kernel being limited to 8 cores?
Because it isn’t. This impacts when the scheduler kicks in, not on how many cores stuff is running on. With fewer cores scheduler is faster triggered again, and and at 8 cores the adjustment for that stops. Which may be an intentional decision to avoid high latency issues.
@aard @Fizz
Wasn’t the scheduler a one byte/bit at a time on/off scheme at some point?
Yeah its mum used to say “you eat to fast eat one byte at a time”