Oleg Drokin <gr...@linuxhacker.ru> writes:
>>> The second patch that I am not sure if we wnat, but it seems to be useful
>>> until struct cpumask is fully dynamic is to convert what looks like
>>> whole-set operations e.g. copies, namely:
>>> cpumask_setall, cpumask_clear, cpumask_copy to always operate on NR_CPUS
>>> bits to ensure there's no stale garbage left in the mask should the
>>> cpu count increases later.
>> You can't do this, because dynamically allocated cpumasks don't have
>> NR_CPUS bits.
>
> Well, right now they certainly have. As in, it's a static define and we 
> allocate
> a bitmap to fit the (in my case) up to 8192 bits into such off-stack masks.

You're right, we should fix that properly.  Right now, cpumask_size() has:

        /* FIXME: Once all cpumask assignments are eliminated, this
         * can be nr_cpumask_bits */
        return BITS_TO_LONGS(NR_CPUS) * sizeof(long);

>> Let's just kill all the cpus_ functions.  This wasn't done originally
>> because archs which didn't care about offline cpumasks didn't want the
>> churn.  In particular, they must not copy struct cpumask by assignment,
>> and fixing those is a fair bit of churn.
>
> Ah, copy masks by assignment, I see.
> Well, I guess we can eliminate the users outside of the affected arch trees
> (I assume in x86 there would be no objections?) and perhaps add a warning to
> checkpatch.pl?

OK... I have done a sweep.  It's not *that* bad with spatch.

I'm going to remove all the old functions.  Expect a series RSN.

Cheers,
Rusty.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to