Re: [PATCH][2.6] first/next_cpu returns values > NR_CPUS

From: OGAWA Hirofumi
Date: Thu Aug 05 2004 - 11:59:51 EST


Matthew Dobson <colpatch@xxxxxxxxxx> writes:

> > #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 first_node(src) __first_node(&(src), MAX_NUMNODES)
> static inline int __first_node(const nodemask_t *srcp, int nbits)
> {
> - return find_first_bit(srcp->bits, nbits);
> + return min_t(int, nbits, find_first_bit(srcp->bits, nbits));
> }
>
> #define next_node(n, src) __next_node((n), &(src), MAX_NUMNODES)
> static inline int __next_node(int n, const nodemask_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));
> }

Shouldn't these use simply min()? I worry min_t() may hide the real bug...
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/