Re: [PATCH]: adding counters to count bytes read/written

Manik Raina (manik@cisco.com)
Mon, 20 May 2002 16:33:40 +0530


Thanks for the comments Matti, Please see inline ...

Matti Aarnio wrote:
>
> On Mon, May 20, 2002 at 03:09:36PM +0530, Manik Raina wrote:
> > Hi Linus,
> >
> > This patch adds 2 counters to the task_struct for
> > counting how many bytes were read/written using
> > the read()/write() system calls.
> >
> > These counters may be useful in determining how
> > many IO requests are made by each process.
>
> These are defined as UINTegers, are you sure that is appropriate type ?
> What to do when they will overflow ? For short term activity tracking
> they may be ok (4GB/200 MB/sec = 20 sec to wrap around), but for accounting
> the overflow might not be liked thing..

How about 64 bit counters ? i feel those should go on without
wraparound for a _very_ long time.

Did you have anything else in mind ?

>
> For short-term IO-activity tracking they may indeed make sense, but I
> would add another pair of counters to assist on that tracking. Namely
> "values at the end of previous interval", which are maintained by the
> activity tracking code.

Would this still be required if the counters are 64 bit ?

>
> Reading one byte at the time won't grow those counters very fast, but will
> cause massive amounts of syscalls, and context switches, so tracking data
> amount alone isn't good enough.

What else would you suggest i track ?
thanks
Manik

>
> ....
> > diff -u -r ../temp/linux-2.5.12/include/linux/sched.h ./include/linux/sched.h
> > --- ../temp/linux-2.5.12/include/linux/sched.h Wed May 1 05:38:47 2002
> > +++ ./include/linux/sched.h Mon May 20 09:25:32 2002
> > @@ -315,6 +315,7 @@
> > int link_count, total_link_count;
> > struct tty_struct *tty; /* NULL if no tty */
> > unsigned int locks; /* How many file locks are being held */
> > + unsigned int bytes_written, bytes_read;
> > /* ipc stuff */
> > struct sysv_sem sysvsem;
> > /* CPU-specific state of this task */
>
> /Matti Aarnio
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/