Re: [Lhms-devel] [PATCH 0/7] Fragmentation Avoidance V19

Linus Torvalds
2005-11-03T18:03:46Z

On Thu, 3 Nov 2005, Martin J. Bligh wrote:
> > And I suspect that by default, there should be zero of them. Ie you'd have
> > to set them up the same way you now set up a hugetlb area.
>
> So ... if there are 0 by default, and I run for a while and dirty up
> memory, how do I free any pages up to put into them? Not sure how that
> works.

You don't.

Just face it - people who want memory hotplug had better know that
beforehand (and let's be honest - in practice it's only going to work in
virtualized environments or in environments where you can insert the new
bank of memory and copy it over and remove the old one with hw support).

Same as hugetlb.

Nobody sane _cares_. Nobody sane is asking for these things. Only people
with special needs are asking for it, and they know their needs.

You have to realize that the first rule of engineering is to work out the
balances. The undeniable fact is, that 99.99% of all users will never care
one whit, and memory management is complex and fragile. End result: the
0.01% of users will have to do some manual configuration to keep things
simpler for the cases that really matter.

Because the case that really matters is the sane case. The one where we
- don't change memory (normal)
- only add memory (easy)
- only switch out memory with hardware support (ie the _hardware_
supports parallel memory, and you can switch out a DIMM without
software ever really even noticing)
- have system maintainers that do strange things, but _know_ that.

We simply DO NOT CARE about some theoretical "general case", because the
general case is (a) insane and (b) impossible to cater to without
excessive complexity.

Guys, a kernel developer needs to know when to say NO.

And we say NO, HELL NO!! to generic software-only memory hotplug.

If you are running a DB that needs to benchmark well, you damn well KNOW
IT IN ADVANCE, AND YOU TUNE FOR IT.

Nobody takes a random machine and says "ok, we'll now put our most
performance-critical database on this machine, and oh, btw, you can't
reboot it and tune for it beforehand". And if you have such a person, you
need to learn to IGNORE THE CRAZY PEOPLE.

When you hear voices in your head that tell you to shoot the pope, do you
do what they say? Same thing goes for customers and managers. They are the
crazy voices in your head, and you need to set them right, not just
blindly do what they ask for.

Linus