Date: Thu, 16 Jun 2011 07:12:46 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-hackers@freebsd.org Cc: Yuri <yuri@rawbw.com>, Dan Nelson <dnelson@allantgroup.com> Subject: Re: Why user time of the process depends on machine load? Message-ID: <201106160712.46408.jhb@freebsd.org> In-Reply-To: <20110615215515.GA6889@dan.emsphone.com> References: <4DF91458.8010508@rawbw.com> <20110615215515.GA6889@dan.emsphone.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, June 15, 2011 5:55:17 pm Dan Nelson wrote: > In the last episode (Jun 15), Yuri said: > > When I test performance of the code, I always observe dependency of CPU > > user time on the presence of other CPU intense processes. Same CPU-only > > deterministic process that on the quiet machine completes in 220 user > > seconds in the presence of, for example, kde rebuild would complete in > > 261, 266 or even 379 user seconds. I am talking about times shown by > > time(1), not actual an execution time. It's the same time as getrusage(2) > > returns in ru_utime field. > > > > Why time that process takes in user seconds depends on what other > > processes are running? > > > > FreeBSD-8.2 STABLE on i7 CPU @ 9200 @ 2.67GHz. > > Some possible factors: > > o Intel Turbo Boost, which raises the clock rate of a single core if the > other cores are idle. A single process on an idle system will run faster. > > o i7 chips have a shared L3 cache across all cores, so a single process on > an idle system will tend to have more of its data in cache compared to a > system with multiple processes, so it spends less time waiting for slower > physical memory lookups. > > o Process accounting isn't exact. I may be wrong, but I don't think > timestamps are taken every time a syscall is invoked and returns. Some > time marked as "user" may actually be "system" time, in which case you may > be seeing the effect of contention in the kernel as more processes are > run. This is very true. You can only really trust the sum of system + user time and compare that across runs. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106160712.46408.jhb>