syscall accounting ?

Matti Aarnio (matti.aarnio@sonera.fi)
Fri, 9 Apr 1999 15:33:10 +0300 (EEST)


Hi,

A topic I want to ask isn't about C2 (which requires facilities
for logging all syscalls the system executes), but rather performance
monitoring issue.

Sometimes I would like to know how many syscalls processes are doing,
both per process, and cumulative total in the system.

This to be able to detect when system is bogged down simply because
some process is calling e.g. write() on a socket, and is getting
a EBADF, but is ignoring it... (Like emacs in certain occasions.)

To implement this, the task struct would need a syscall counter,
and every syscall would inc it. Also a global syscall counter
would need to exist -- make that a 'per processor' counters.
Reading them at /proc/something could be allowed not to show quite
up to date data, and thus no need to have e.g. spinlocks.

Who would like to implement that ?
- kernel changes in all lowlevel syscall routines
- utility changes (e.g. top)

/Matti Aarnio <matti.aarnio@sonera.fi>

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