lkml.org 
[lkml]   [2011]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 2/9] mm: alloc_contig_freed_pages() added
    From
    Date
    On Tue, 2011-10-18 at 10:26 -0700, Michal Nazarewicz wrote:
    > > You can do this in a more general fashion by checking the
    > > zone boundaries and resolving the pfn->page every MAX_ORDER_NR_PAGES.
    > > That will not be SPARSEMEM specific.
    >
    > I've tried doing stuff that way but it ended up with much more code.

    I guess instead of:

    >> +static inline bool zone_pfn_same_memmap(unsigned long pfn1, unsigned long pfn2)
    >> +{
    >> + return pfn_to_section_nr(pfn1) == pfn_to_section_nr(pfn2);
    >> +}

    You could do:

    static inline bool zone_pfn_same_maxorder(unsigned long pfn1, unsigned long pfn2)
    {
    unsigned long mask = MAX_ORDER_NR_PAGES-1;
    return (pfn1 & mask) == (pfn2 & mask);
    }

    I think that works. Should be the same code you have now, basically.

    -- Dave



    \
     
     \ /
      Last update: 2011-10-18 19:53    [W:0.029 / U:31.220 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site