public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* re: accounting for threads
@ 2001-06-19 14:53 Dan Kegel
  2001-06-19 14:57 ` J . A . Magallon
  2001-06-19 15:44 ` ognen
  0 siblings, 2 replies; 150+ messages in thread
From: Dan Kegel @ 2001-06-19 14:53 UTC (permalink / raw)
  To: jamagallon, linux-kernel@vger.kernel.org

"J . A . Magallon" <jamagallon@able.es> wrote:
> I want to know the CPU time used by a POSIX-threaded program. I have tried
> to use getrusage() with RUSAGE_SELF and RUSAGE_CHILDREN. Problem:
> main thread just do nothing, spawns children and waits. And I get always
> 0 ru_utime.
> 
> I guess it can be because of 2 things:
> 
> - RUSAGE_CHILDREN only works for fork()'ed children (although in linux threads
> and processes are the same). Perhaps fork() sets some kind of flag in
> clone() for accounting.
> 
> - AFAIK, linux puts an intermediate 'thread controller'. That controller
> uses no CPU time, and RUSAGE_CHILDREN gets only the first children level.
> 
> Any suggestion to mesaure threads CPU time ? I can't manage only with
> wall-time, because I'm not sure to have all the box just for me.
> And I would like also to mesaure system time to evaluate contention.

My post you replied to yesterday, subject "Re: getrusage vs /proc/pid/stat",
contains code that does what you want (it's also at http://www.kegel.com/lt.tar.gz).  
To use it, declare a variable
  LinuxTimes lt;
have each thread call lt.addSelf() once; then to measure the total CPU time
used by all those threads as a group, call lt.times() instead of times().
(On Solaris, you can continue to just call times(), you don't need lt at all.)
lt.times() is a simulation of the classical times() system call for LinuxThreads.

Let me know if this helps.  And anyone else, let me know if there's a simpler
way to do this.  Should LinuxThreads be doing this under the hood, so it can
be a little closer to posix threads compliance?
- Dan

-- 
"A computer is a state machine.
 Threads are for people who can't program state machines."
         - Alan Cox

^ permalink raw reply	[flat|nested] 150+ messages in thread
* accounting for threads
@ 2001-06-13 22:19 J . A . Magallon
  0 siblings, 0 replies; 150+ messages in thread
From: J . A . Magallon @ 2001-06-13 22:19 UTC (permalink / raw)
  To: Lista Linux-Kernel

Hi.

First, sorry if this is a glibc issue. Just chose to ask here first.

I want to know the CPU time used by a POSIX-threaded program. I have tried
to use getrusage() with RUSAGE_SELF and RUSAGE_CHILDREN. Problem:
main thread just do nothing, spawns children and waits. And I get always
0 ru_utime.

I guess it can be because of 2 things:

- RUSAGE_CHILDREN only works for fork()'ed children (although in linux threads
and processes are the same). Perhaps fork() sets some kind of flag in
clone() for accounting.

- AFAIK, linux puts an intermediate 'thread controller'. That controller
uses no CPU time, and RUSAGE_CHILDREN gets only the first children level.

Any suggestion to mesaure threads CPU time ? I can't manage only with
wall-time, because I'm not sure to have all the box just for me.
And I would like also to mesaure system time to evaluate contention.

TIA

-- 
J.A. Magallon                           #  Let the source be with you...        
mailto:jamagallon@able.es
Linux Mandrake release 8.1 (Cooker) for i586
Linux werewolf 2.4.5-ac13 #1 SMP Sun Jun 10 21:42:28 CEST 2001 i686

^ permalink raw reply	[flat|nested] 150+ messages in thread

end of thread, other threads:[~2001-06-25 13:45 UTC | newest]

Thread overview: 150+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-06-19 14:53 accounting for threads Dan Kegel
2001-06-19 14:57 ` J . A . Magallon
2001-06-19 15:44 ` ognen
2001-06-19 15:58   ` Alan Cox quote? (was: Re: accounting for threads) Dan Kegel
2001-06-19 16:02     ` David S. Miller
2001-06-19 16:12       ` Padraig Brady
2001-06-19 19:10       ` bert hubert
2001-06-19 19:18         ` Alan Cox
2001-06-19 19:32           ` bert hubert
2001-06-19 19:43           ` Alexander Viro
2001-06-20 15:22           ` Jes Sorensen
2001-06-20 15:33             ` Alexander Viro
2001-06-20 15:59               ` Threads are processes that share more bert hubert
2001-06-20 16:15                 ` Alexander Viro
2001-06-20 18:48                 ` Martin Devera
2001-06-20 19:19                   ` Unknown PCI Net Device Greg Ingram
2001-06-20 22:53                     ` Andreas Dilger
2001-06-20 22:56                       ` Jeff Garzik
2001-06-20 23:00                       ` Alan Cox
2001-06-20 22:08                 ` Threads are processes that share more Stephen Satchell
2001-06-20 22:14                   ` ognen
2001-06-20 23:10                   ` J . A . Magallon
2001-06-24 23:47                     ` Larry McVoy
2001-06-25  2:23                       ` David S. Miller
2001-06-20 16:39               ` Alan Cox quote? (was: Re: accounting for threads) george anzinger
2001-06-20 18:35                 ` Alexander Viro
2001-06-21  4:11                   ` Rusty Russell
2001-06-21 23:37                     ` Alexander Viro
2001-06-21 23:55                       ` Alexander Viro
2001-06-22 14:53                         ` Richard Gooch
2001-06-20 16:40               ` Jes Sorensen
2001-06-20 20:09               ` Rob Landley
2001-06-20 19:05           ` Victor Yodaiken
2001-06-20 14:35         ` Mike Porter
2001-06-20 11:56           ` Rob Landley
2001-06-19 16:02     ` Ben Pfaff
2001-06-19 16:09     ` Larry McVoy
2001-06-19 16:26       ` Matthew Kirkwood
2001-06-19 16:52         ` Larry McVoy
2001-06-19 18:18           ` Rob Landley
2001-06-19 23:31           ` Timur Tabi
2001-06-20 11:52             ` Rob Landley
2001-06-20 21:20               ` Albert D. Cahalan
2001-06-20 18:12                 ` Rob Landley
2001-06-20 23:28                   ` Dan Podeanu
2001-06-21  0:42                   ` D. Stimits
2001-06-20 20:18                     ` Rob Landley
2001-06-21  1:57                       ` D. Stimits
2001-06-21 14:46                         ` Idea: Patches-from-linus mailing list? (Was Re: Alan Cox quote? (was: Re: accounting for threads)) Rob Landley
2001-06-21 14:02                   ` Alan Cox quote? (was: Re: accounting for threads) Jesse Pollard
2001-06-21 14:18                     ` Rob Landley
2001-06-22 14:46               ` Mikulas Patocka
2001-06-22 13:29                 ` Rob Landley
2001-06-24 21:41                   ` J . A . Magallon
2001-06-24 16:55                     ` Rob Landley
2001-06-24 22:30                       ` J . A . Magallon
2001-06-24 18:21                         ` Rob Landley
2001-06-25 13:48                           ` J . A . Magallon
2001-06-24 22:39                         ` Steven Walter
2001-06-24 23:50                         ` Larry McVoy
2001-06-24 20:24                           ` Rob Landley
2001-06-25  0:05                           ` J . A . Magallon
2001-06-25  0:32                             ` Gerhard Mack
2001-06-25  0:59                               ` Davide Libenzi
2001-06-25  2:18                         ` Galen Hancock
2001-06-20 14:59             ` Matthias Urlichs
2001-06-20 19:14           ` Victor Yodaiken
2001-06-20 21:01           ` RE:Why use threads ( was: Alan Cox quote?) David Schwartz
2001-06-20 21:26             ` Why " Victor Yodaiken
2001-06-20 22:18               ` David Schwartz
2001-06-20 22:41                 ` Davide Libenzi
2001-06-20 22:47                   ` [OT] " Jeff Garzik
2001-06-21  0:21                   ` David Schwartz
2001-06-21  0:56                     ` Davide Libenzi
2001-06-21  1:32                       ` David Schwartz
2001-06-21  2:22                         ` Davide Libenzi
2001-06-21  2:43                           ` David Schwartz
2001-06-21 16:10                             ` Davide Libenzi
2001-06-21 19:55                               ` Marco Colombo
2001-06-20 22:43                 ` Mike Castle
2001-06-21  1:43                   ` David Schwartz
2001-06-19 17:10       ` Alan Cox quote? (was: Re: accounting for threads) Matti Aarnio
2001-06-19 17:20       ` Mike Castle
2001-06-19 17:37         ` Larry McVoy
2001-06-19 17:45           ` Mike Castle
2001-06-19 18:08             ` Georg Nikodym
2001-06-19 19:38               ` Georg Nikodym
2001-06-19 19:56                 ` Michael Meissner
2001-06-19 17:53           ` Steve Underwood
2001-06-19 19:01             ` Alan Cox
2001-06-20  2:57               ` Michael Rothwell
2001-06-20  3:04                 ` Larry McVoy
2001-06-20  3:38                   ` John R Lenton
2001-06-20 10:21                   ` john slee
2001-06-20 18:08                     ` Larry McVoy
2001-06-20 16:21                   ` Davide Libenzi
2001-06-20  9:14                 ` Alan Cox
2001-06-22  2:36                   ` Michael Rothwell
2001-06-19 17:36       ` Jonathan Lundell
2001-06-19 17:41         ` Larry McVoy
2001-06-19 20:57         ` David S. Miller
2001-06-19 21:11           ` Jonathan Lundell
2001-06-19 21:15             ` David S. Miller
2001-06-19 23:56               ` Jonathan Lundell
2001-06-20  0:19                 ` Mike Castle
2001-06-20  0:28                   ` Larry McVoy
2001-06-20  1:30                     ` Ben Greear
2001-06-20  2:14                       ` Mike Castle
2001-06-20  9:00                     ` Henning P. Schmiedehausen
2001-06-20 11:25                       ` [OT] Threads, inelegance, and Java Aaron Lehmann
2001-06-20 11:25                         ` Rob Landley
2001-06-20 17:36                           ` Martin Dalecki
2001-06-20 19:27                             ` Mike Harrold
2001-06-20 17:46                               ` Rob Landley
2001-06-20 19:53                               ` Martin Dalecki
2001-06-20 17:53                                 ` Rob Landley
2001-06-21  7:45                                   ` Albert D. Cahalan
     [not found]                               ` <mailman.993067219.29993.linux-kernel2news@redhat.com>
2001-06-20 20:16                                 ` Pete Zaitcev
2001-06-20 22:05                                   ` Alan Cox
     [not found]                           ` <20010621000725.A24672@werewolf.able.es>
2001-06-20 19:15                             ` Rob Landley
2001-06-21  9:40                               ` Jonathan Morton
     [not found]                             ` <mailman.993083762.1429.linux-kernel2news@redhat.com>
2001-06-21  3:13                               ` Pete Zaitcev
2001-06-21 13:59                                 ` Rob Landley
2001-06-21 16:48                           ` Adam Sampson
2001-06-20 15:12                         ` Ben Greear
2001-06-20 15:44                           ` Russell Leighton
2001-06-20 16:32                             ` Davide Libenzi
2001-06-20 16:54                               ` Russell Leighton
2001-06-20 17:03                               ` Tony Hoyle
2001-06-20 15:10                                 ` Rob Landley
2001-06-20 20:23                                   ` Tony Hoyle
2001-06-21  8:12                                     ` Henning P. Schmiedehausen
2001-06-20 20:40                                   ` Richard B. Johnson
2001-06-20 20:48                                     ` Tony Hoyle
2001-06-20 21:00                                     ` Daniel Phillips
2001-06-20 21:06                                       ` Richard B. Johnson
2001-06-20 18:14                               ` Henning P. Schmiedehausen
2001-06-20 16:53                           ` Larry McVoy
2001-06-20 12:36                             ` Rob Landley
2001-06-20 21:14                           ` Aaron Lehmann
2001-06-20 18:09                         ` Henning P. Schmiedehausen
2001-06-20 19:05                         ` William T Wilson
2001-06-20  0:04           ` Alan Cox quote? (was: Re: accounting for threads) Chris Ricker
2001-06-20  0:59             ` Robert Love
2001-06-19 18:01       ` Alan Cox quote? Kai Henningsen
2001-06-19 18:49         ` Larry McVoy
2001-06-19 21:12           ` Richard Gooch
2001-06-19 22:50             ` Henning P. Schmiedehausen
2001-06-19 20:12         ` Henning P. Schmiedehausen
  -- strict thread matches above, loose matches on Subject: below --
2001-06-13 22:19 accounting for threads J . A . Magallon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox