lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100928103938.GB4261@balbir.in.ibm.com>
Date:	Tue, 28 Sep 2010 16:09:38 +0530
From:	Balbir Singh <balbir@...ux.vnet.ibm.com>
To:	Martin Schwidefsky <schwidefsky@...ibm.com>
Cc:	Oleg Nesterov <oleg@...hat.com>,
	Michael Holzheu <holzheu@...ux.vnet.ibm.com>,
	Shailabh Nagar <nagar1234@...ibm.com>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Venkatesh Pallipadi <venki@...gle.com>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Suresh Siddha <suresh.b.siddha@...el.com>,
	John stultz <johnstul@...ibm.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	Ingo Molnar <mingo@...e.hu>,
	Heiko Carstens <heiko.carstens@...ibm.com>,
	linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC][PATCH 09/10] taskstats: Fix exit CPU time accounting

* Martin Schwidefsky <schwidefsky@...ibm.com> [2010-09-28 12:36:25]:

> On Tue, 28 Sep 2010 14:53:55 +0530
> Balbir Singh <balbir@...ux.vnet.ibm.com> wrote:
> 
> > * Martin Schwidefsky <schwidefsky@...ibm.com> [2010-09-28 11:08:28]:
> > 
> > > On Tue, 28 Sep 2010 14:06:02 +0530
> > > Balbir Singh <balbir@...ux.vnet.ibm.com> wrote:
> > > 
> > > > * Martin Schwidefsky <schwidefsky@...ibm.com> [2010-09-27 15:42:57]:
> > > > > Got the part about self-reaping processes. But there is another issue:
> > > > > consider an exiting thread where the group leader is still active.
> > > > > The time for the thread will be added to the utime/stime fields in
> > > > > the signal structure. Taskstats will happily ignore that time while
> > > > > the group leader is still running.
> > > > >
> > > > 
> > > > Why do you say that? Not sure your comment is very clean, in
> > > > fill_tgid, we do
> > > > 
> > > > 1. Accumulate signal stats (contains stats for dead threads)
> > > > 2. Accumulate stats for current threads
> > > > 
> > > > fill_tgid_exit does something similar
> > > 
> > > Hmm, I can't find anything in the code where the tsk->signal->{utime,stime}
> > 
> > That is left to the actual subsystem (I should have been clearer in
> > stating that the limitation is not with the taskstats infrastructure
> > itself). Yes, your observation is indeed correct.
> > 
> > taskstats code is expected to contain the callback for the subsystems
> > it supports. delayacct() already does the right thing today, AFAICS
> > 
> > > gets transferred to the taskstats record. There is a loop in fill_tgid over
> > > the threads of the process but all it does is to call delayacct_add_tsk.
> > > And that function does nothing with the cpu time of dead threads which is
> > > stored in the signal structure. In addition which taskstats field is
> > > supposed to contain the cpu time of the dead thread, ac_utime/ac_stime?
> > >
> > 
> > I've not focused much on ac_*, The changes that need to occur are we
> > need to get the tsacct.c callbacks into taskstats.
> 
> Ok, so tsacct.c is the right place to implement it. We will need new fields
> in struct taskstats to contain the tsk->signal->{utime,stime} and some code
> in bacct_add_tsk to do the copy. Agreed ?
>

Yes, the caveat though is that tsacct.c or xacct was not designed to
provide notifications for tgid exit or provide tgid data. I don't
recollect why they decided to go down that path or if there are some
limitations that affect it. 

-- 
	Three Cheers,
	Balbir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ