Re: virtually and physically (page) aligned allocation

Arnd Bergmann
2009-02-24T23:49:00Z

On Tuesday 24 February 2009, H. Peter Anvin wrote:
> Parav Pandit wrote:
> > In other way,
> > If user space application allocates memory which is aligned to page
> > boundary for say 4 pages using posix_memalign(), will is ensure that
> > it corresponds to exactly 4 physical pages in kernel which can be pinned down?
> >
>
> You can use hugetlbfs to allocate a 2 MB page, otherwise no.

Well, posix_memalign should be able to give you alignment of up to page size
in real addresses (which I think is what Parav was asking for), but can not
guarantee larger than page size real alignment.

If an address is page aligned in user space, it is also guaranteed to be
page aligned in real storage. Alignment larger than page size can not be
forced or detected in user space except when using hugetlbfs.