Hi Yury,
Replying back in plaintext, as you sent an HTML message.
On Sun, 2022-08-21 at 09:18 -0400, Yury Norov wrote:
On Sun, Aug 21, 2022, 09:08 Sander Vanheule sander@svanheule.net wrote:
Hi Yury,
On Sat, 2022-08-20 at 14:35 -0700, Yury Norov wrote:
On Sat, Aug 20, 2022 at 05:03:09PM +0200, Sander Vanheule wrote:
When the number of CPUs that can possibly be brought online is known at boot time, e.g. when HOTPLUG is disabled, nr_cpu_ids may be smaller than NR_CPUS. In that case, cpu_possible_mask would not be completely filled, and cpumask_full(cpu_possible_mask) can return false for valid system configurations.
It doesn't mean we can just give up. You can check validity of possible cpumask like this: KUNIT_EXPECT_EQ(test, nr_cpu_ids, cpumask_first_zero(&mask_all)) KUNIT_EXPECT_EQ(test, NR_CPUS, cpumask_first(&mask_all))
Did you mean cpu_possible_mask, or mask_all?
cpu_possble_as of curse.
For cpu_possible_mask, these tests are in test_cpumask_first(), albeit under a slightly different form. Together with the tests in test_cpumask_weight() and test_cpumask_last(), cpu_possible_mask is already one of the more constrained masks.
For mask_all, the mask is filled up with nr_cpumask_bits <= NR_CPUS. I could add cpumask_first(), cpumask_first_zero(), and cpumask_last() tests though.
More tests could be also added for cpu_all_mask, since this does have all NR_CPUS bits set, but I think that belongs in a separate patch.
I think the extra mask_all and cpu_all_mask test are out of scope for this patch, but they could be added in another patch (for 6.1).
If you think that possible mask is tested by other parts, then can you notice that in comments?
Sure, I'll update the commit message to note the other constraints on cpu_possible_mask.
Best, Sander
linux-kselftest-mirror@lists.linaro.org