lkml.org 
[lkml]   [2011]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 05/12] mm: alloc_contig_range() added
    On Thu, Mar 31, 2011 at 09:02:41AM -0700, Dave Hansen wrote:
    > On Thu, 2011-03-31 at 15:16 +0200, Marek Szyprowski wrote:
    > > + ret = 0;
    > > + while (!PageBuddy(pfn_to_page(start & (~0UL << ret))))
    > > + if (WARN_ON(++ret >= MAX_ORDER))
    > > + return -EINVAL;
    >
    > Holy cow, that's dense. Is there really no more straightforward way to
    > do that?
    >
    > In any case, please pull the ++ret bit out of the WARN_ON(). Some
    > people like to do:
    >
    > #define WARN_ON(...) do{}while(0)
    >
    > to save space on some systems.

    That should be fixed, as the if (WARN_ON()) has become a standard in
    most of the kernel. Removing WARN_ON() should be:

    #define WARN_ON(x) ({0;})

    But I agree, that there should be no "side effects" inside a WARN_ON(),
    which that "++ret" is definitely one.

    -- Steve



    \
     
     \ /
      Last update: 2011-03-31 21:29    [W:0.019 / U:1.252 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site