Andres Freund <andres@anarazel.de> Sunday 17 April 2011 20:02:11
> On Sunday 17 April 2011 19:26:31 Radosław Smogura wrote:
> > Kernel merges vm_structs. So mappings are compacted. I'm not kernel
> > specialist, but skipping memory consumption, for not compacted mappings,
> > kernel uses btrees for dealing with TLB, so it should not matter if
> > there is 100 vm_structs or 100000 vm_structs.
>
> But the CPUs TLB cache has maybe 16/256 (1lvl, 2nd) to 64/512 entries. That
> will mean that there will be cachemisses all over.
> Additionally your scheme requires flushing it regularly...
>
> Andres
I only know Phenom has 4096 entries I think and this covers 16MB of memory.
But I was taking about memory usage of struct vm_struct in kernel. I tries as
well with huge pages, but I can't write really fast allocator for this, it's
slower then malloc, maybe from different reasons.
Regards,
Radek