Albert Cahalan wrote: > On 12/20/06, David Wragg <[EMAIL PROTECTED]> wrote: > > "Albert Cahalan" <[EMAIL PROTECTED]> writes: > > > On Mon, Dec 18, 2006 at 11:50:08PM +0000, David Wragg wrote: > > >> This patch (against 2.6.19/2.6.19.1) adds the four context > > >> switch values (voluntary context switches, involuntary > > >> context switches, and the same values accumulated from > > >> terminated child processes) to the end of /proc/*/stat, > > >> similarly to min_flt, maj_flt and the time used values. > > > > > > Hmmm, OK, do people have a use for these values? > > > > My reason for writing the patch was to track which processes are > > active (i.e. got scheduled to run) by polling these context switch > > values. The time used values are not a reliable way to detect process > > activity on fast machines. So for example, when sorting by %CPU, top > > often shows many processes using 0% CPU, despite the fact that these > > processes are running occasionally. If top sorted by (%CPU, context > > switch count delta), it might give a more useful display of which > > processes are active on the system. > > Oh, that'd be great.
It may be great, but it's really only a workaround. The real fix is in changing the current probed proc-timing to an inlined one. > The cumulative ones are still not justified though, and I fear they > may be 64-bit even on i386. It turns out that an i386 procps spends > much of its time doing 64-bit division to parse the damn ASCII crap. > I suppose I could just skip those fields, but generating them isn't > too cheap and probably I'd get stuck parsing them for some other > reason -- having them separate is probably a good idea. Agreed. It may also be advisable to add a top3 line in /proc/stat, to circumvent parsing /proc/*/stat, when only checking who is eating CPU most. Thanks! -- Al - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/