Re: Please don't beat me up (was Re: Bugs and wishes in memory management area)

Ingo Molnar (
Wed, 27 Nov 1996 10:48:23 +0100 (MET)

On Wed, 27 Nov 1996, Mike Jagdis wrote:

> >If I remember correctly, the primary argument against this was the
> >performance penalty of invalidating the cache after every kernel
> >memory allocation. Besides which, it was pretty gross compared to the
> >superefficient buddy system.
> The buddy system is pretty gross for what we want. You don't need
> to pull gross hacks with page tables or use complex algorithms
> to handle memory allocation though!

IMHO, the problem is that once a pointer is given out, you cannot
reogranize your logical->physical memory mappings. With the page table
solution you can. It's a CPU hardware feature that is hard to emulate.

with the buddy system, once you are fragmented, you can do nothing about
it (other than using double indirection pointers [memory handles] which
basically emulate paging at a cost we probably dont want to pay?).

and the memory handle stuff isnt good for interrupt handlers ... neither
for SMP? TLB invalidates are basically a hardware-implemented
'handle-invalidate' feature ... we cannot really implement this in
software, can we?

-- mingo