From mboxrd@z Thu Jan 1 00:00:00 1970 From: alexandre.belloni@free-electrons.com (Alexandre Belloni) Date: Tue, 19 Jan 2016 01:16:18 +0100 Subject: How to get better precision out of getrusage on the ARM? In-Reply-To: References: <20151222144907.GK8644@n2100.arm.linux.org.uk> <20151222151314.GM8644@n2100.arm.linux.org.uk> Message-ID: <20160119001618.GT3367@piout.net> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Patrick, I was wondering whether you had the chance to test this patch from the RT tree: http://git.kernel.org/cgit/linux/kernel/git/rt/linux-rt-devel.git/commit/?h=v4.4-rt2&id=57142bdff523a67657d0b2603eaa91df58b88bd8 when trying your sched_clock experiment? On 30/12/2015 at 10:00:46 -0500, Patrick Doyle wrote : > Continuing on... > I now have a CLOCKSOURCE_OF_DECLARED()'ed 10 MHz clock source running > on my ARM processor (Atmel SAMA5D2 Xplained board). It registers > itself through sched_clock_register() to provide a high resolution > sched clock. Once I turned on "Full dynticks CPU time accounting" > (CONFIG_VIRT_CPU_ACCOUNTING_GEN), I was able to get better than jiffy > resolution from my calls to getrusage(RUSAGE_THREAD,..). But things > still aren't quite right. I am using getrusage() to provide some > runtime profile information to an existing application (that was > ported to run on Linux instead of a custom RTOS). I have code that > looks like: > > tick() > // commented out code that used to do something > tock() > > where tick() & tock() are my profile "start" and "stop" points that > call getrusage() to record and and accumulate time spent between calls > to tick() & tock(). Most of the time, I get a delta of 0 between the > two calls, which I expect. But occasionally, I get a delta ranging > between 800us and 1000us, which I don't understand at all. It seems > like my thread is being "charged" for time spent doing something else. > Perhaps an interrupt occurred and its time got charged to my thread; > perhaps a higher priority thread ran for 1ms, I don't know (yet). > > Does anybody have any suggestions as to where I might look, or as to > what kernel CONFIG options might make the most sense for an > application such as this? > > --wpd > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com