Messages in this thread |  | | Date | Wed, 27 Nov 1996 10:48:23 +0100 (MET) | From | Ingo Molnar <> | Subject | Re: Please don't beat me up (was Re: Bugs and wishes in memory management area) |
| |
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
|  |