lkml.org 
[lkml]   [2005]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC] Demand faulting for large pages
From
Date
On Fri, 2005-08-05 at 10:53, Andi Kleen wrote:
> On Fri, Aug 05, 2005 at 10:21:38AM -0500, Adam Litke wrote:
> > Below is a patch to implement demand faulting for huge pages. The main
> > motivation for changing from prefaulting to demand faulting is so that
> > huge page allocations can follow the NUMA API. Currently, huge pages
> > are allocated round-robin from all NUMA nodes.
>
> I think matching DEFAULT is better than having a different default for
> huge pages than for small pages.

I am not exactly sure what the above means. Is 'DEFAULT' a system
default numa allocation policy?

> In general more programs are happy with local memory than remote memory.

I totally agree.

> Also it makes it consistent.
>
> >
> > The default behavior in SLES9 for i386 is to use demand faulting with
> > NUMA policy-aware allocations. To my knowledge, this continues to work
>
> Not sure what you're trying to say here. All allocations are NUMA policy aware.

Sorry, I really wasn't clear. That statement referred to huge pages
specifically. I was trying to point out that numa policy-aware huge
page allocation combined with demand faulting in SLES9/i386 has been a
success.

> > well in practice. Thanks to consolidated hugetlb code, switching the
> > behavior requires changing only one fault handler. The bulk of the
> > patch just moves the logic from hugelb_prefault() to
> > hugetlb_pte_fault().
>
> Are you sure you fixed get_user_pages to handle this properly? It doesn't
> like it.

Unless I am missing something, the call to follow_hugetlb_page() in
get_user_pages() is just an optimization. Removing it means
follow_page() will be called individually for each PAGE_SIZE page in the
huge page. We can probably do better but I didn't want to cloud this
patch with that logic.

--
Adam Litke - (agl at us.ibm.com)
IBM Linux Technology Center

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

\
 
 \ /
  Last update: 2005-08-05 18:49    [W:0.081 / U:0.452 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site