[LTP] [PATCH v3] overcommit_memory: Fix unstable subtest
Richard Palethorpe
rpalethorpe@suse.de
Mon Nov 30 09:54:44 CET 2020
Hello,
Joerg Vehlow <lkml@jv-coder.de> writes:
> Hi,
>>> +static long get_total_batch_size_bytes(void)
>>> +{
>>> + struct sysinfo info;
>>> + long ncpus = tst_ncpus_conf();
>> I'm not completely sure if this is the same value as num_cpus_present()
>> in the kernel? I'm just wondering if CPU hotplugging could result in the
>> wrong value being calculated (other than if it is hotplugged while the test
>> is running).
>
> I was thinking about this as well when I implemented this. Here is my
> reasoning:
>
> If hotplug is disabled possible=present and possible=nr cpus at
> boot. Otherwise present is the real number of existing (not
> necessarily enabled cpus), and possible=NR_CPU
> In both cases it is the number of cpus installed in the system,
> enabled or not.
>
> tst_ncpus_conf is _SC_NPROCESSORS_CONF, which is documented as
> "returns the number of processors the operating system configured. But
> it might be possible for the operating system to disable individual
> processors and so the call", in contrast to _SC_NPROCESSORS_ONLN
> "returns the number of processors which are currently online (i.e.,
> available).".
>
> I would interpret _SC_NPROCESSORS_CONF as equal to present and
> _SC_NPROCESSORS_ONLN as equal to online.
>
> Anything flaw in my logic?
>
> Jörg
This sounds correct, it would be strange if _SC_NPROCESSORS_CONF
returned num_possible_cpus().
--
Thank you,
Richard.
More information about the ltp
mailing list