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

From: Martin Steigerwald
Date: Mon Feb 06 2017 - 05:47:10 EST


Am Montag, 19. Dezember 2016, 18:25:49 CET schrieb Peter Zijlstra:
> On Mon, Dec 19, 2016 at 01:06:00PM +0100, Martin Steigerwald wrote:
> > 2) When using the NETLINK inface, the command TASKSTATS_CMD_GET
> > consequently returns -EINVAL.
> >
> > The code that is used by the atopacctd daemon is based on the demo code
> > 'getdelays.c' that can be found in the kernel source code tree
> > (..../linux/Documentation/accounting/getdelays.c). Also this 'getdelays'
> > program does not work any more (also -EINVAL on the same call)
> > with the newer kernels. I really spent a lot of time on this issue to
> > get the code running (there are many places in the kernel code where
> > -EINVAL for this call can be given), but I did not succeed. It is really
> > an incompatibility introduced by the kernel code.
> > It would be nice if the kernel maintainers provide a working version of
> > the getdelays program in the kernel source tree.
> >
> > I only experience this problem on Debian8 with a 4.8 kernel (virtual
> > machine with 4 cores).
> > On CentOS7 with a 4.8 kernel it works fine (physical machine with 4
> > cores).
> >
> > I will anyhow adapt atopacctd for this issue that it detects and logs
> > the -EINVAL and terminates.
> > The current version of atopacctd keeps running which is not useful at all.
> >
> >
> > I reported this as:
> >
> > Bug 190711 - Process accounting: Using the NETLINK inface, the command
> > TASKSTATS_CMD_GET returns -EINVAL
> >
> > https://bugzilla.kernel.org/show_bug.cgi?id=190711
>
> 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"

Thank you.

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

Thank you,