Zack's Kernel News
Zack's Kernel News

Chronicler Zack Brown reports on the latest news, views, dilemmas, and developments within the Linux kernel community.
Fixing Memory Usage by Not Fixing It
Al Viro recently posted some "flagday" patches – changes that were so invasive, they couldn't be done piecemeal. His idea was to convert the kernel memory handling APIs so that functions like free_page()
and a bunch of others would return a pointer instead of just a plain number. His thinking was that everyone doing anything with RAM wanted to get a usable memory pointer, instead of having to do a typecast every time they called the memory handling functions.
Linus Torvalds, however, put the kibosh on the whole idea. Changing an API that had been in place for almost the entire lifespan of the Linux kernel project would cause a lot of confusion among developers. It would also, he said, make backporting new features to earlier versions of the kernel an even bigger headache than it already was, because the backport would have to make sure it undid all of Al's flagday changes, just to get a patch that would successfully apply to the earlier kernel version.
The proper way to do what Al had proposed, said Linus, would be to create a new set of functions that had different names and to allow both versions of each function to exist side by side. That way, people could migrate their portions of the kernel to the new functions in a piecemeal way over time.
[...]
Buy this article as PDF
(incl. VAT)