Messages in this thread | | | Date | Mon, 27 Feb 2012 19:04:32 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] HUGETLBFS: Align memory request to multiple of huge page size to avoid underallocating. |
| |
On Mon, 27 Feb 2012 21:55:17 -0500 Steven Truelove <steven.truelove@utoronto.ca> wrote:
> > A few things... > > > > - sys_mmap_pgoff() does the rounding up prior to calling > > hugetlb_file_setup(). ipc/shm.c:newseg() does not. > > > > We should be consistent here: do it in the caller or the callee, > > not both (or neither!). I guess doing it in the callee would be > > best. > > > > - The above code could/should have used ALIGN(). Or round_up(): the > > difference presently escapes me, even though it was so obvious that > > we left all these things undocumented. > > > > - What's the point in aligning the length if we don't also look at > > the start address? If that isn't a multiple of huge_page_size(), we > > will need an additional page. > > > > Since mmap has an address to check and shmget does not, if the address > is going to be checked it will need to be in the caller.
Or pass a value of 0 from shmget.
> If you like, I > will leave the size check in hugetlb_file_setup() and remove the size > check from mmap_pgoff, but replace it with a check of the address. That > will centralize the common check (size of buffer), and let mmap_pgoff > check the part that is unique to it. Patch shortly. > > Steven Truelove
| |