Benoit,
-----Original Message----- From: linux-omap-owner@vger.kernel.org [mailto:linux-omap- owner@vger.kernel.org] On Behalf Of Cousson, Benoit Sent: Friday, August 27, 2010 3:56 PM To: vishwanath.sripathy@linaro.org; Sripathy, Vishwanath Cc: linux-omap@vger.kernel.org; linaro-dev@lists.linaro.org; Jean Pihet; Chalhoub, Nicole; Bour, Vincent Subject: Re: [PATCH] OMAP CPUIDLE: CPU Idle latency measurement
Hi Vishwa,
On 8/28/2010 12:08 AM, vishwanath.sripathy@linaro.org wrote:
From: Vishwanath BSvishwanath.sripathy@linaro.org
This patch has instrumentation code for measuring latencies for various CPUIdle C states for OMAP. Idea here is to capture the timestamp at various phases of CPU Idle and then compute the sw latency for various c states. For OMAP, 32k clock is chosen as reference clock this as is an always on clock. wkup domain memory (scratchpad memory) is used for storing timestamps. One can see the worstcase latencies in below sysfs entries (after enabling
CONFIG_CPU_IDLE_PROF
in .config). This information can be used to correctly configure cpu
idle
latencies for various C states after adding HW latencies for each of these sw latencies. /sys/devices/system/cpu/cpu0/cpuidle/state<n>/actual_latency /sys/devices/system/cpu/cpu0/cpuidle/state<n>/sleep_latency /sys/devices/system/cpu/cpu0/cpuidle/state<n>/wkup_latency
FYI, Jean is currently working on using standard Linux probes in order to instrument CPUIdle / CPUfreq. I'm not sure it is doable, but it might better to use standard method to do that instead of purely OMAP3 specific stuff. This code will not scale easily on OMAP4.
Just discussed how to scale this for all OMAPs. Firstly we need to get this code to common place instead of tying it to OMAP3/OMAP4 specific low level code. Since on OMAP3, we can push C-functions on SRAM and for OMAP4 we don't have any limitation, all this code can be converted to C.
Vishwa is planning to attempt that in next version.
Regards, santosh