Re: THP: AnonHugePages in /proc/[pid]/smaps is correct or not?

From: Lin Feng
Date: Mon Apr 01 2013 - 23:38:45 EST


Hi Zhouping,

On 04/02/2013 11:09 AM, Zhouping Liu wrote:
> I don't understand clearly the last sentence 'you'll probably only get 100% hugepages only 1/512th of the time.'
> could you please explain more details about 'only 1/512th of the time'?

IIUC, thp size is 2M so it may be comprised of 512 normal page(size 4k).
Since your test code is not 2M aligned(not using posix_memalign()) so
the start address of the mapped vma will be random, such as
2M*i+4k*1, 2M*i+4k*2...2M*i+k4*511, there is 512 possibilities.

The only chance you get thp happens when the first map just starts at 2M*i,
and the consequent maps also benefit from this.

-------- snip --------
>
> so, again, if I understand correctly, thp should tune the naturally aligned maps, such as generated by mmap()/malloc(),
> make such maps 'hugepagesize' aligned if the maps or vma is equal and greater than 'hugepagesize', doesn't it?

We may gain performance improving from this.

thanks,
linfeng
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/