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

Alan Cox (alan@lxorguk.ukuu.org.uk)
Wed, 27 Nov 1996 20:27:11 +0000 (GMT)


> 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?).

There is an even worse problem with the buddy system, especially on CPU's
without 4 way caches. All our structures tend to have the used stuff at
the top and data below. Our kmalloc spends all day landing all the
critical structures on the same cache line..

> 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?

Some CPU's the TLB is software. On all CPU's I know an SMP CPU invalidation
needs software and is relatively expensive.

Alan