Another Episode of “Seems Perfectly Feasible and Then Dies”–Script to Simplify the Process of Changing System Call Tables
David Howells put in fairly a bit of work on a script,
./scripts/syscall-manage.pl, to simplify the total course of of altering the
system name tables. With this script, it was a easy matter to add, take away,
rename or renumber any system name you appreciated. The script additionally would resolve
conflicts, in the occasion that two repositories renumbered the system calls in
Why did David want to write this patch? Why weren’t system calls already pretty
simple to handle? When you make a system name, you add it to a grasp record, and then
you add it to the system name “tables”, which is the place the operating kernel appears to be like up
which kernel operate corresponds to which system name quantity. Kernel builders
want to ensure system calls are represented in all related spots in the supply
tree. Renaming, renumbering and making different modifications to system calls includes a
lot of fiddly little particulars. David’s script merely would do every little thing
of story no problemo hasta la vista.
Arnd Bergmann remarked, “Ah, enjoyable. You had already threatened to add that script in
the previous. The implementation of course appears to be like nice, I used to be simply hoping we might
as an alternative get rid of the want for it first.” But, bowing to necessity, Arnd provided
some technical options for enhancements to the patch.
However, Linus Torvalds swooped in at this explicit second, saying:
Ugh, I hate it.
I am positive the script is every kind of intelligent and helpful, however I actually suppose the
resolution will not be this type of helper script, however merely that we should always work at not
having every structure add new system calls individually in the first place.
IOW, we should always have a look at having only one unified desk for brand new system name numbers,
and intention for the per-architecture ones to be for “legacy numbering”.
Maybe that will not occur, however in the _hope_ that it occurs, I actually would favor
that folks not work at making scripts for the present nasty scenario.
And the portcullis got here crashing down.
It’s fascinating that, as an alternative of accepting this comparatively apparent enchancment to
the present scenario, Linus would slightly depart it damaged and ugly, in order that
somebody sometime someplace may be motivated to do the harder-yet-better repair. And,
it is all the extra fascinating given how excessive the present drawback is. Without
truly being damaged, the scenario requires builders to put in an amazing
quantity of care and effort into one thing that David’s script might make trivial and
simple. Even for such an clearly “good” patch, Linus offers thought to the coverage
and cultural implications, and the future motivations of different individuals working in
that area of code.
Note: for those who’re talked about above and need to put up a response above the remark part, ship a message along with your response textual content to email@example.com.