OK (though the name is reminiscent of the horrible Win32 API to my ears), but adding a new scheduler requiring different parameters would be another ABI change, wouldn't it, requiring another new syscall: the parameter type would change. Either that or you make the parameter type a void *, which is just ioctl() in new clothes and Linus would tear your lungs out.
Posted Oct 14, 2009 22:15 UTC (Wed) by raistlin (guest, #37586)
[Link]
Well, this may be true or not, depending on the new new scheduler!
Generally speacking, you are definitely right, since each new scheduler/scheduling class could ask some room for its own parameter(s).
What we were thinking here is (and this also comes from some comments/suggestions we got on LKML):
- if we define a general enough task model, it is likely that even new
algorithms can deal with that, without the need of their very specific
fields;
- if we want, sched_param_ex could be bloated a little bit with some
padding or non-utilized field, reserved for future extensions.
However, I'm sure that, if things keep going, this issue will came up in LKML at some point, and then we we'll see what people there think... :-D