Re: [RFC] Demand faulting for large pages
From: Adam Litke (agl_at_us.ibm.com)
Date: 08/05/05
- Previous message: serue_at_us.ibm.com: "Re: [PATCH] Stacker - single-use static slots"
- In reply to: Andi Kleen: "Re: [RFC] Demand faulting for large pages"
- Next in thread: Andi Kleen: "Re: [RFC] Demand faulting for large pages"
- Reply: Andi Kleen: "Re: [RFC] Demand faulting for large pages"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
To: Andi Kleen <ak@suse.de> Date: Fri, 05 Aug 2005 11:37:27 -0500
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/
- Previous message: serue_at_us.ibm.com: "Re: [PATCH] Stacker - single-use static slots"
- In reply to: Andi Kleen: "Re: [RFC] Demand faulting for large pages"
- Next in thread: Andi Kleen: "Re: [RFC] Demand faulting for large pages"
- Reply: Andi Kleen: "Re: [RFC] Demand faulting for large pages"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|
|