B1;2005;0cYinghai,
On Mon, 22 Mar 2010, Yinghai Lu wrote:
Right, and we never get rid of e820.c at all. Simply because e820 is a
x86 specific clusterfuck. No way to find anything which is remotely
insane like that in any other architecture.
I really do not understand why you ever thought that moving that code
to a generic place is something useful and acceptable.
The point is, that some of the algorithms which e820 needs to sanitize
the maps might be of general use, but definitely not the whole e820
crappola. And if you look close, lmb has most of them already.
Dammit. I asked for an explanation not for some headword
listing. These bullet points do _NOT_ explain at all why e820 is
superior.
Of course you do not need to call lmb_enforce_memory_limit() simply
because it is not relevant to the existing e820 code at all.
What's the point ?
So what's the implication for x86 vs. the early_res stuff ? Any down
sides, up sides other than not sorted and merged?
Why does that matter ?
That does not explain the value of the name field at all. If some code
frees a wrong range a backtrace is always more helpful than some
arbitrary name field. Am I missing something ?
Care to explain in clear wording what you need to solve ? "move some
code from early_res to lmb.c?" is definitely not an useful
explanation.
Why ?
No, posting arbitrary code snippets which you think are necessary to
solve it is not the way to go.
There is _ZERO_ explanation _WHY_ you think that this is a
prerequisite.
Those largely uncommented commented code snippets (uncommented as the
corresponding code in x86) are _NOT_ an explanation at all.
You just state that you need that whole bunch just w/o telling _WHY_.
The more I look into this I doubt that there is an actual reason for
this complexity. It just looks like it has grown that way by fixing
corner cases all over the place and not out of a real design
requirement.
Either that or it's just the lack of understanding how to map lmb
functionality to the problem at hand as certainly LMB does not map 1:1
to the current x86 way of solving that problem.
Please give a proper explanation for this, really !
Thanks,
tglx
--