It made sense on a microscopic level, in the sense that it did what it was
supposed to do. Yes. But no, it didn't make SENSE.
It did not make sense on _any_ system design level. And that's what I make
my judgement calls on.
The problem is that I consider any driver that tries to "know" the
bootsequence to be a very very broken driver. We had that problem several
years ago, where a driver that was a module had a very different boot
sequence than a driver that was compiled in. It results in complete and
utter confusion, because a driver ends up working/notworking according to
whether it was installed as a module or not.
I fixed that, and people complained because I broke a lot of drivers.
Tough luck, they got fixed, and we're the better for it, because the old
code did not make sense - different memory management depending on whether
they were compiled in or drivers.
Using "initmem_freed" does not make sense, in the very same very real
manner. A driver should know effing all about the boot sequence, and
should not care. If it does, it is broken, because it then gets broken
when I change the boot sequence. Comprende?
So what happened was that I cleaned up the boot sequence, and no
well-written drivers broke. That should give you some food for thought. I
didn't need to touch any of the drivers I use.
I'd like to re-iterate: I _maintain_ the kernel. And because I do that, it
makes _no_ sense to me to have drivers (or anything else, for that matter)
that "know" about internal mm details.
Case dismissed, "initmem_freed" is never going back in, exactly because
the _only_ reason for having it is to support bad code that has spagetti-
like knowledge of some arcane thing that it shouldn't know about.
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/faq.html