On Tue, Feb 12, 2008 at 11:55:45AM -0800, Linus Torvalds wrote:
Hm, I think we are in violent agreement here :)
No, I might have mistyped previously, but I really do not believe in
this at all.
I agree with this. But I was reacting to your "there are major reasons
to stay with an old interface..." portion above, while I feel we should
always work to fixe those interfaces as best as possible.
No, not at all.
I have tried, and successfully done this many times in the past. The
kobject change was one example: add a new function, migrate all users of
a direct pointer over to that function, after that work is all done and
in, change the structure and do the needed work afterward. All is
bisectable completly, with no big "flag day" needed.
Same goes for a lot of USB changes. Hell, we've been slowly moving
toward changing the USB urb callback for _years_ yet, not quite getting
there, but the groundwork is done, making it much simpler and easy for
it to happen. Eventually things will flip over and the eventual patch
for all callback functions will be trivial and easily reviewed and
merged.
In short, I agree that flag days are bad and should be avoided at all
costs, and that slow incremental, bisectable changes are how we evolve
properly. And that we need to always be able to do this kind of work,
and never be stuck with the "can't change an old, internal api" model.
To bring it around to the original topic, -next should help us in
finding these issues out, exactly like -mm is.
If we want to make a new rule of "only merging api or cross-subsystem
changes after everything else", that's wonderful with me, I have no
objection to it at all.
thanks,
greg k-h
--