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/