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/