Skip to contentSkip to conversation

System accounting and taskstats update

PATCH In review Jay Lan 2 participants 2 messages Aug 3, 2006

lore
Share & tools
lore

Jay Lan

author
#0 lore raw

cover System accounting and taskstats update

This posting is to replace the "CSA accounting and taskstats update" patches i posted on 7/31.

This set of patches would provide basic system accounting and extended system accounting data to userland using the taskstats interface.

Patches are created against 2.6.18-rc2.

taskstats-rev2.patch
taskstats-acct.patch
bsd-to-xacct.patch

Regards,
Jay Lan <[email protected]>

ChageLog:
Feedbacks from Shailabh Nagar
- realign new fields, and rename some fields names
- keep ac_ prefix for basic accounting fields but remove prefix on extended accounting fields.
- fix typos
- use timespec_sub() routine simplify code
- fix compilation issue if some CONFIG flags off
- use 'static inlines' on CONFIG flag '#else' cases

Feedbacks from Balbir Singh
- use 'BUILD_DEBUG_ON' to check TS_COMM_LEN value
- use portable cputime_to_msecs() API
- set system time to 1 usec if both stime and utime are less than 1 usec.

Since most of the accounting data required by CSA are also used in BSD Process Accounting, i initially named those accounting fields handling as "basic accounting" and the rest as "CSA extension". However, there is not really much left in CSA. Thus, it makes sense to eliminate CSA from the kernel all together.

However, Shailabh liked to separate the taskstats interface part from the accounting data part and i agreed that it was the right thing to do.

Thus, there will be kernel/tsacct.c and include/linux/tsacct_kern.h to become home of the accounting data handling code. A new config flag "CONFIG_TASK_XACCT" is added so that three routines dealing with extended accouting can be defined as dummy.

#1 lore raw
Quoted 2 lines · On Wed, 02 Aug 2006 21:19:35 -0700 Jay Lan <[email protected]> wrote:

This posting is to replace the "CSA accounting and taskstats update" patches i posted on 7/31.

Could I hassle you for a full API description? I guess the actual transport and data represenatation is covered by Shailabh's documents, but it'd be valuable if you could prepare a Documentation file which describes what the various fields mean and which explains when and how they are accumulated and when they are delivered to userspace, etc.

Thanks.