Re: [RFC] Demand faulting for large pages

From: Adam Litke (agl_at_us.ibm.com)
Date: 08/05/05

  • Next message: Antoine Martin: "Re: preempt with selinux NULL pointer dereference"
    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/
    

  • Next message: Antoine Martin: "Re: preempt with selinux NULL pointer dereference"

    Relevant Pages