|
|
Subscribe / Log in / New account

An EEVDF CPU scheduler for Linux

An EEVDF CPU scheduler for Linux

Posted Mar 11, 2023 19:30 UTC (Sat) by NYKevin (subscriber, #129325)
In reply to: An EEVDF CPU scheduler for Linux by Wol
Parent article: An EEVDF CPU scheduler for Linux

> And what happens if you have 11 processes each entitled to 100ms/s :-)

I imagine this is resolved by the "virtual time" that corbet mentioned in another comment. If you have too many processes, your virtual clock runs fast, so now there are more than 1000 (virtual) ms in a (real) second, and everybody gets scheduled as allocated. It's just that the 100 (virtual) ms that they get is significantly less than 100 real milliseconds. This is mathematically equivalent to multiplying everyone's quota by 10/11, but you don't have to actually go around doing all those multiplies and divides, nor do you have to deal with the rounding errors failing to line up with each other.

Of course, that wouldn't work for realtime scheduling (where you have actually given each process a contractual guarantee of 100 ms/s, and the process likely expects that to be 100 *real* milliseconds), but we're not talking about that. If you try to configure SCHED_DEADLINE in such a way, it will simply refuse the request as impossible to fulfill.


to post comments


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds