Re: [patch 1/3] basic accounting over taskstats

From: Shailabh Nagar
Date: Thu Aug 03 2006 - 15:27:45 EST


Jay Lan wrote:
Shailabh Nagar wrote:

Andrew Morton wrote:


Or we remove this field altogether, perhaps. The same info is available
from /proc/pid/stat anyway. Is it really needed?


Gathering this data in userspace from /proc might be
difficult esp. for short-lived tasks.


This is a serious concern. I think increasing TS_COMM_LEN
to 32 would be a good solution.


Also, /proc may not be mounted ? I'd heard somewhere that
some sysadmins don't install /proc for security reasons.
Don't know how far thats true.

Several other fields, totalling 58 bytes, added by the CSA
patches are also duplicated in /proc/pid/stat. But all of them
could change in value during the lifetime of a task so I'm
guessing its not useful to get them from /proc
even if some kind of userspace polling of the value was
possible.


The same concern above applies to here, doesn't it?

Yes. For some of the fields, pid/ppid/nice/sched you may not
really care about whether you get the value present sometime
during the lifetime vs. value at the time task exited, but for
others like utime/stime/minflt/majflt, getting the last value
is likely to matter. Either way, since there's no guarantee
that you can poll a short-lived task fast enough to get any value,
exporting the value from the kernel at exit seems to be the only safe
way.

--Shailabh


Regards,
- jay



But if there is a way, it would sure save a lot of payload
sent over taskstats !

"duplicate" fields from CSA:
+ __u8 ac_nice; /* task_nice */
+ char ac_comm[TS_COMM_LEN]; /* Command name */
+ __u8 ac_sched; /* Scheduling discipline */
+ __u32 ac_pid; /* Process ID */
+ __u32 ac_ppid; /* Parent process ID */
+ __u64 ac_utime; /* User CPU time [usec] */
+ __u64 ac_stime; /* SYstem CPU time [usec] */
+ __u64 ac_minflt; /* Minor Page Fault */
+ __u64 ac_majflt; /* Major Page Fault */



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