Vzhledem k tomu, že vývojáři kernelu jsou pragmatici, neudělají s tím pravděpodobně nic ani kdyby zaslal patch. Takovéhle různé hodnoty v optimalizacích jsou prostě často určené heuristicky a dát tam hodnotu, která jde snadno spočítat, je rozumné řešení. A magické konstanty – někdy je podstatně větší magie nějaká složitě pojmenovaná konstanta, jejíž hodnotu musím hledat, než když na první pohled vidím, že se to dělí 4 – a v komentáři nad tím je napsáno proč.
dopředná optimalizace je také chyba. Aplikovat patch pro ladění výkonu nebo konfigurací je legitimní způsob jak to udělat. Není potřeba na vše dávat parametr a takhle to je správně, konstanta v kódu dokud nedává smysl to dát někam jinám.
Nezapomeň i na takovou drobnost, že cokoliv vystrčíš ven je prostě veřejný interface a jen tak se toho nezbavíš, musíš to udržovat i s případným refaktorem a při jiné implementaci scheduleru to nemusí už dávat smysl. Tohle je prostě interní věc dané implementace, ta má zůstat interní.
První, co mne napadá: má někdo ze zdejších diskutujících vůbec představu, jak často a v jakém kontextu se tahle funkce vlastně volá? Ono násobit 0.312 a posunout o dva bity může být v některých případech zatracený rozdíl.
A pak také bývá dobré podívat se i na reakce na ten patch. A, ejhle, co to nevidím: I think we can do better, but this does re-instate the previous behavior at least for this merge window. So FWIW
Reviewed-and-tested-by: Qais Yousef <...>