[lkml]   [2006]   [Jun]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [Patch][RFC] Disabling per-tgid stats on task exit in taskstats

>>> System: SGI a350, a two cpus IA64 machine.
>>> Kernel: 2.6.17-rc3 + delay-acct-taskstats patch set
>>> + tgid-disable_patch_shailabh + exit race patch_balbir +
>>> csa_patch_jlan
>>> I also modified the Decumentation/accounting/getdelay.c:
>>> - it repeatedly does recv() to retrieve data from kernel
>>> - instead of using printf() to display data received, i simply write
>>> it to
>>> disk as it would be for an accounting daemon. Note that currently
>>> both the
>>> BSD (or GNU) accounting and the CSA writes accounting data from
>>> kernel.
>>> As an effort of moving accounting system to userspace, the raw data
>>> needs
>>> to be written to a raw file first before further processing.
> In exit_recv.c, you appear to be dumping the per-tgid data received
> to disk too ?
> If the accounting daemon isn't interested in per-tgid, shouldn't it be
> discarding the data immediately after
> doing the recv() and only write to disk the data it wants ?
> Perhaps I'm missing something.
I modified my exit_recv.c so that
1) i can totally skip data marked TASKSTATS_TYPE_AGGR_TGID
2) i can optinally drop data after receipt without writing to disk

The first case produced a system time of 1.34 second and the second
case produced a system time of 1.25 sec. Big improvement over 1.74
sec, but still too high compared to 0.34 sec when we disable tgid

Shailabh and me now eye on the lock patch that fixed an exit race
crash i reported. The global lock was held too long in scanning threads.
Shailabh is working on a new patch.

- jay

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2006-06-22 01:37    [W:0.169 / U:7.844 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site