On Monday, June 1, 2015, Marko Zec <zec_at_fer.hr> wrote: > On Mon, 1 Jun 2015 11:34:00 +0200 > Luigi Rizzo <rizzo_at_iet.unipi.it <javascript:;>> wrote: > > > Hi, > > i was wondering how we can improve the netmap memory allocator > > to make use of 2M pages (through the page promotion trick). > > > > in netmap, when we allocate packet buffers, > > we issue requests for 4k blocks to contigmalloc(), > > and i have no idea if there is a way to improve the > > chance that the memory is mapped to 2M pages ? > > In my (previous life) experience, when requested large enough blocks, > malloc() did a good job at automatically promoting those to superpages, > and in my applications this behavior was 100% consistent, at least on > amd64. After the block is allocated one can check whether it is > superpage-mapped: > > pmap_t pmap = vmspace_pmap(curthread->td_proc->p_vmspace); > > if (pmap_mincore(pmap, (vm_offset_t) addr) & MINCORE_SUPER) > /* you're good */ > else > /* bad luck */ Thanks. Do you know if there is any way to run some equivalente test from user space ? Cheers Luigi > OTOH I'm not aware of any mechanisms for forcing superpage allocations > at malloc() time. > > Marko > -- -----------------------------------------+------------------------------- Prof. Luigi RIZZO, rizzo_at_iet.unipi.it . Dip. di Ing. dell'Informazione http://www.iet.unipi.it/~luigi/ . Universita` di Pisa TEL +39-050-2217533 . via Diotisalvi 2 Mobile +39-338-6809875 . 56122 PISA (Italy) -----------------------------------------+-------------------------------Received on Mon Jun 01 2015 - 08:11:14 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:58 UTC