Re: [PATCH] 2.6.0-test4 -- add context switch counters

Larry McVoy
2003-08-27T15:53:11Z

I normally hate ifdefs but this might be a good place to use a bunch of
macros and make them conditional on config_stats or something. Updating
counters is going to add to the size of the data cache footprint and it
would be nice, for those people working on embedded low speed processors,
if they could config this out. I personally would leave it in, I like
this stats. I just know that the path to slowness is paved one cache
miss at a time.

On Tue, Aug 26, 2003 at 11:54:35PM -0700, William Lee Irwin III wrote:
> On Wed, Aug 27, 2003 at 10:57:44AM +1000, Peter Chubb wrote:
> > Currently, the context switch counters reported by getrusage() are
> > always zero. The appended patch adds fields to struct task_struct to
> > count context switches, and adds code to do the counting.
> > The patch adds 4 longs to struct task struct, and a single addition to
> > the fast path in schedule().
>
> Thanks, this will be useful. We're still missing a fair number of them:
>
> struct rusage {
> struct timeval ru_utime; /* user time used */
> struct timeval ru_stime; /* system time used */
> long ru_maxrss; /* maximum resident set size */
> long ru_ixrss; /* integral shared memory size */
> long ru_idrss; /* integral unshared data size */
> long ru_isrss; /* integral unshared stack size */
> long ru_minflt; /* page reclaims */
> long ru_majflt; /* page faults */
> long ru_nswap; /* swaps */
> long ru_inblock; /* block input operations */
> long ru_oublock; /* block output operations */
> long ru_msgsnd; /* messages sent */
> long ru_msgrcv; /* messages received */
> long ru_nsignals; /* signals received */
> long ru_nvcsw; /* voluntary context switches */
> long ru_nivcsw; /* involuntary " */
> };
--
---
Larry McVoy lm at bitmover.com http://www.bitmover.com/lm