On Wed, Apr 24, 2013 at 11:16:39AM -0400, Naoya Horiguchi wrote: > On Wed, Apr 24, 2013 at 04:14:54AM -0400, Johannes Weiner wrote: > > @@ -491,10 +491,13 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params) > > > > sprintf (name, "SYSV%08x", key); > > if (shmflg & SHM_HUGETLB) { > > + unsigned int hugesize; > > + > > /* hugetlb_file_setup applies strict accounting */ > > if (shmflg & SHM_NORESERVE) > > acctflag = VM_NORESERVE; > > - file = hugetlb_file_setup(name, 0, size, acctflag, > > + hugesize = ALIGN(size, huge_page_size(&default_hstate)); > > + file = hugetlb_file_setup(name, hugesize, acctflag, > > &shp->mlock_user, HUGETLB_SHMFS_INODE, > > (shmflg >> SHM_HUGE_SHIFT) & SHM_HUGE_MASK); > > } else { > > Would it be better to find proper hstate instead of using default_hstate? You are probably right, I guess we can't assume default_hstate anymore after page_size_log can be passed in. Can we have hugetlb_file_setup() return an adjusted length, or an alignment requirement? Or pull the hstate lookup into the callsites (since they pass in page_size_log to begin with)? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>