Re: [PATCH v4] sched/core: Use zero length to reset cpumasks in sched_setaffinity()

From: Florian Weimer
Date: Wed Oct 04 2023 - 08:56:08 EST


* Waiman Long:

> On 10/4/23 08:34, Florian Weimer wrote:
>> * Peter Zijlstra:
>>
>>> Subject: sched: Add CPU_FILL()
>>>
>>> Add the CPU_FILL() macros to easily create an all-set cpumask.
>>>
>>> FreeBSD also provides this macro with this semantic.
>>>
>>> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
>> My main concer is that obtaining the size of the mask, or at least an
>> approximiation is not exactly easy. If there's an expectation that
>> applications reset the mask more often than they do today (I don't have
>> the full context here), then we'd some decent interface to get the
>> approriate size.
>
> I believe the macro just use sizeof(cpu_set_t) as the size of the
> bitmask. It is the same case as in CPU_ZERO().

I mean the CPU_FILL_S macro also defined in the patch. Correctly
written applications should not use CPU_FILL and statically sized CPU
sets.

Thanks,
Florian