On Mon, Mar 6, 2023 at 8:07 AM Vernon Yang <vernon2gm@xxxxxxxxx> wrote: > > After commit 596ff4a09b89 ("cpumask: re-introduce constant-sized cpumask > optimizations"), the cpumask size is divided into three different case, > so fix comment of cpumask_xxx correctly. No no. Those three cases are meant to be entirely internal optimizations. They are literally just "preferred sizes". The correct thing to do is always that * Returns >= nr_cpu_ids if no cpus set. because nr_cpu_ids is always the *smallest* of the access sizes. That's exactly why it's a ">=". The CPU mask stuff has always historically potentially used a different size than the actual nr_cpu_ids, in that it could do word-sized scans even when the machine might only have a smaller set of CPUs. So the whole "small" vs "large" should be seen entirely internal to cpumask.h. We should not expose it outside (sadly, that already happened with "nr_cpumask_size", which also was that kind of thing. So no, this patch is wrong. If anything, the comments should be strengthened. Of course, right now Guenter seems to be reporting a problem with that optimization, so unless I figure out what is going on I'll just need to revert it anyway. Linus Linus