Thread (3 messages) 3 messages, 2 authors, 2012-02-28

Re: [PATCH] HUGETLBFS: Align memory request to multiple of huge page size to avoid underallocating.

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2012-02-28 03:03:18
Also in: lkml

On Mon, 27 Feb 2012 21:55:17 -0500 Steven Truelove [off-list ref] wrote:
quoted
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
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help