lkml.org 
[lkml]   [2004]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH][2.6] first/next_cpu returns values > NR_CPUS
    On Sun, Aug 01, 2004 at 06:36:32AM -0700, Paul Jackson wrote:
    > You mean, in Zwane's example, we'd see a return from any_online_cpu() of
    > 32 or 64, not 3 (his NR_CPUS), and not just on i386, but on a majority
    > of arch's. That's what you're saying, right?
    > Ok ... that favors your preference, teaching the users of find_next_bit
    > to be more tolerant.
    > Darn. Your min(nbits, ...) patch looks good, but more is needed.
    > And could you make it:
    > + return min(nbits, find_next_bit(srcp->bits, nbits, n+1));
    > rather than:
    > + return min(NR_CPUS, find_next_bit(srcp->bits, nbits, n+1));
    > for consistency of presentation? All the cpu and node mask macros of
    > this form (#define wrapped static inline) use the inline's parameter
    > names in the body of the inline, not what the define passed as those
    > params, including another 'nbits' in this very line of code.

    No problem.


    Index: hotplug-2.6.8-rc2/include/linux/cpumask.h
    ===================================================================
    --- hotplug-2.6.8-rc2.orig/include/linux/cpumask.h 2004-07-29 04:44:59.000000000 -0700
    +++ hotplug-2.6.8-rc2/include/linux/cpumask.h 2004-08-01 06:32:31.615472016 -0700
    @@ -207,13 +207,13 @@
    #define first_cpu(src) __first_cpu(&(src), NR_CPUS)
    static inline int __first_cpu(const cpumask_t *srcp, int nbits)
    {
    - return find_first_bit(srcp->bits, nbits);
    + return min_t(int, nbits, find_first_bit(srcp->bits, nbits));
    }

    #define next_cpu(n, src) __next_cpu((n), &(src), NR_CPUS)
    static inline int __next_cpu(int n, const cpumask_t *srcp, int nbits)
    {
    - return find_next_bit(srcp->bits, nbits, n+1);
    + return min_t(int, nbits, find_next_bit(srcp->bits, nbits, n+1));
    }

    #define cpumask_of_cpu(cpu) \
    -
    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-03-22 14:04    [W:0.024 / U:0.836 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site