Re: [REGRESSION] Two issues that prevent process accounting (taskstats) from working correctly

From: Tejun Heo
Date: Mon Feb 06 2017 - 11:20:36 EST


Hello,

On Mon, Feb 06, 2017 at 11:39:04AM +0100, Martin Steigerwald wrote:
> > Ben Hutchings reports:
> >
> > "It looks like the taskstats bug was introduced by 513e3d2d11c9 as that
> > means cpumask_parse() may not initialise as many bits as
> > cpumask_subset() compares"

I see, so that patch switched parsing and printing to always use
nr_cpu_ids but left the comparison functions to keep using
nr_cpumask_bits which may be NR_CPUS instead of nr_cpu_ids.

> Okay, any conclusion out of this? Any feedback from the maintainers of this
> code?

We can switch back the parse functions to nr_cpumask_bits, or just get
rid of nr_cpumask_bits and use nr_cpu_ids everywhere. The only reason
we use nr_cpumask_bits is because on small configurations the constant
NR_CPUS can be more efficient than having to read out nr_cpu_ids
variable each time.

Hmm... I'll restore the parse functions to use nr_cpumask_bits instead
for now. The confusing part was the output results. Input should be
okay even if we flip between nr_cpu_ids and NR_CPUS.

Thanks.

--
tejun