Re: latest linus-2.5 BK broken

Rusty Russell
2002-06-19T15:20:05Z

In message <Pine.LNX.4.33.0206181701240.2562-100000@penguin.transmeta.com> you
write:
>
> On Wed, 19 Jun 2002, Rusty Russell wrote:
> >
> > - new_mask &= cpu_online_map;
> > + /* Eliminate offline cpus from the mask */
> > + for (i = 0; i < NR_CPUS; i++)
> > + if (!cpu_online(i))
> > + new_mask &= ~(1<<i);
> > +
>
> And why can't cpu_online_map be a bitmap?
>
> What's your beef against sane and efficient data structures? The above is
> just crazy.

Oh, it can be. I wasn't going to require something from all archs for
this one case (well, it was more like zero cases when I first did the
patch).

> and then add a few simple operations like
>
> cpumask_and(cpu_mask_t * res, cpu_mask_t *a, cpu_mask_t *b);

Sure... or just make all archs supply a "cpus_online_of(mask)" which
does that, unless there are other interesting cases. Or we can go the
other way and have a general "and_region(void *res, void *a, void *b,
int len)". Which one do you want?

> This is not rocket science, and I find it ridiculous that you claim to
> worry about scaling up to thousands of CPU's, and then you try to send me
> absolute crap like the above which clearly is unacceptable for lots of
> CPU's.

Spinning 1000 times doesn't phase me until someone complains.
Breaking userspace code does. One can be fixed if it proves to be a
bottleneck. Understand?

Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.