[LWN Logo]

Date:	Fri, 28 Jan 2000 11:31:29 +0100
From:	Jan Astalos <astalos@tuke.sk>
To:	linux-kernel@vger.rutgers.edu
Subject: [PATCH] precise time accounting using TSC for 2.2.14

This is a multi-part message in MIME format.
--------------8C819003189BD8F8435411E3
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

This patch contains improved time accounting for uniprocessor machines
with TSC counter. 

Problem: Accounting of process time is done in time handler every clock
tick. If process releases CPU before clock tick, used time is accounted
to next running process or idle process. It is possible to make process
that uses up to 30% of CPU time but is not reported to be running at
all.

Solution: To count short slices at context switch and to add accumulated
jiffies to utime in time handler. I tested it on my K6 and I didn't
noticed any nasty side effects. Tests are OK now...

Yes. Used time is still not split correctly, but sum of utime and stime
should be correct now. I don't want to put any additional overhead on
system calls. If someone will improve the patch, and/or rewrite it for
SMP machines, I would like to have a copy. Also, if I missed something
please send me a note (cc it to my address). Thanks.

Jan

PS: I know that everyone will read the patch before using it :-), but
just for the case: there is new parameter in kernel config in 'General
setup' group, active only if you select TSC machine and no SMP support.
--------------8C819003189BD8F8435411E3
Content-Type: application/x-gzip;
 name="precacct.patch.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="precacct.patch.gz"

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
--------------8C819003189BD8F8435411E3--


-
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/