Re: [PATCH v1 1/5] lib/test_cpumask: drop cpu_possible_mask full test

From: Sander Vanheule
Date: Wed Aug 10 2022 - 04:45:54 EST


Hi David,

On Wed, 2022-08-10 at 12:06 +0800, David Gow wrote:
> On Wed, Aug 10, 2022 at 2:09 AM Sander Vanheule <sander@xxxxxxxxxxxxx> wrote:
> >
> > cpu_possible_mask is not necessarily completely filled.  That means
> > running a check on cpumask_full() doesn't make sense, so drop the test.
> >
> > Fixes: c41e8866c28c ("lib/test: introduce cpumask KUnit test suite")
> > Link: https://lore.kernel.org/lkml/346cb279-8e75-24b0-7d12-9803f2b41c73@xxxxxxxxxx/
> > Reported-by: Maíra Canal <mairacanal@xxxxxxxxxx>
> > Signed-off-by: Sander Vanheule <sander@xxxxxxxxxxxxx>
> > Cc: David Gow <davidgow@xxxxxxxxxx>
> > ---
>
> Looks good to me. It'd maybe be worth noting _why_  cpu_possible_mask
> is not always filled (i.e., that the number of available CPUs might
> not match the maximum number of CPUs the kernel is built to support),
> but it's probably not worth doing a new version of the patch series
> just for that.
>
> Reviewed-by: David Gow <davidgow@xxxxxxxxxx>

Thanks for the reviews!

Perhaps the commit message could be replaced by:

"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) may return false for valid system
configurations."


Best,
Sander

>
> Cheers,
> -- David
>
>
> >  lib/test_cpumask.c | 1 -
> >  1 file changed, 1 deletion(-)
> >
> > diff --git a/lib/test_cpumask.c b/lib/test_cpumask.c
> > index a31a1622f1f6..4ebf9f5805f3 100644
> > --- a/lib/test_cpumask.c
> > +++ b/lib/test_cpumask.c
> > @@ -54,7 +54,6 @@ static cpumask_t mask_all;
> >  static void test_cpumask_weight(struct kunit *test)
> >  {
> >         KUNIT_EXPECT_TRUE(test, cpumask_empty(&mask_empty));
> > -       KUNIT_EXPECT_TRUE(test, cpumask_full(cpu_possible_mask));
> >         KUNIT_EXPECT_TRUE(test, cpumask_full(&mask_all));
> >
> >         KUNIT_EXPECT_EQ(test, 0, cpumask_weight(&mask_empty));
> > --
> > 2.37.1
> >