From: Kevin Hilman <khilman@ti.com>
To: Jean Pihet <jean.pihet@newoldbits.com>
Cc: Grazvydas Ignotas <notasas@gmail.com>,
linux-omap@vger.kernel.org, Paul Walmsley <paul@pwsan.com>
Subject: Re: PM related performance degradation on OMAP3
Date: Tue, 24 Apr 2012 07:29:37 -0700 [thread overview]
Message-ID: <877gx5dwz2.fsf@ti.com> (raw)
In-Reply-To: <CAORVsuWP72dHFSBhX=Kux7GEk33qQgR74a74FFwzA8uniSabAQ@mail.gmail.com> (Jean Pihet's message of "Tue, 24 Apr 2012 11:50:06 +0200")
Jean Pihet <jean.pihet@newoldbits.com> writes:
> Hi Grazvydas, Kevin,
>
> I did some gather some performance measurements and statistics using
> custom tracepoints in __omap3_enter_idle.
> All the details are at
> http://www.omappedia.org/wiki/Power_Management_Device_Latencies_Measurement#C1_performance_problem:_analysis
> .
This is great, thanks.
[...]
> Here are the results (BW in MB/s) on Beagleboard:
> - 4.7: without using DMA,
>
> - Using DMA
> 2.1: [0]
> 2.1: [1] only C1
> 2.6: [1]+[2] no pre_ post_
> 2.3: [1]+[5] no pwrdm_for_each_clkdm
> 2.8: [1]+[5]+[2]
> 3.1: [1]+[5]+[6] no omap_sram_idle
> 3.1: No IDLE, no omap_sram_idle, all pwrdms to ON
>
> So indeed this shows there is some serious performance issue with the
> C1 C-state.
Yes, this confirms what both Grazvytas and I are seeing as well.
[...]
> From the list of contributors, the main ones are:
> (140us) pwrdm_pre_transition and pwrdm_post_transition,
See the series I just posted to address this one:
[PATCH/RFT 0/3] ARM: OMAP: PM: reduce overhead of pwrdm pre/post transitions
> (105us) omap2_gpio_prepare_for_idle and
> omap2_gpio_resume_after_idle. This could be avoided if PER stays ON in
> the latency-critical C-states,
> (78us) pwrdm_for_each_clkdm(mpu, core, deny_idle/allow_idle),
> (33us estimated) omap_set_pwrdm_state(mpu, core, neon),
> (11 us) clkdm_allow_idle(mpu). Is this needed?
In that same series, I removed this as it appears to be a remnant of a
code move (c.f. patch 3 in above series.)
> Here are a few questions and suggestions:
> - In case of latency critical C-states could the high-latency code be
> bypassed in favor of a much simpler version? Pushing the concept a bit
> farther one could have a C1 state that just relaxes the cpu (no WFI),
> a C2 state which bypasses a lot of code in __omap3_enter_idle, and the
> rest of the C-states as we have today,
I was thinking a "WFI only" state, with *all* powerdomains staying on is
probably sufficient for C1. Do you see the enter/exit latency from that
as even being too hight?
> - Is it needed to iterate through all the power and clock domains in
> order to keep them active?
No. My series above starts to addresses this, but I think Tero's
use-counting series is the final solution since this should really be
done when we know the powerdomains are transitioning.
Kevin
next prev parent reply other threads:[~2012-04-24 14:29 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-06 22:50 PM related performance degradation on OMAP3 Grazvydas Ignotas
2012-04-09 19:03 ` Kevin Hilman
2012-04-11 0:29 ` Grazvydas Ignotas
2012-04-12 0:19 ` Kevin Hilman
2012-04-13 17:32 ` Grazvydas Ignotas
2012-04-13 19:32 ` Grazvydas Ignotas
2012-04-17 14:30 ` Kevin Hilman
2012-04-17 21:50 ` Grazvydas Ignotas
2012-04-18 0:36 ` Kevin Hilman
2012-04-24 9:50 ` Jean Pihet
2012-04-24 10:38 ` Santosh Shilimkar
2012-04-24 12:21 ` Tero Kristo
2012-04-24 12:50 ` Jean Pihet
2012-04-24 13:04 ` Tero Kristo
2012-04-24 14:29 ` Kevin Hilman [this message]
2012-05-01 14:10 ` Jean Pihet
2012-05-01 17:27 ` Kevin Hilman
2012-05-02 5:59 ` Paul Walmsley
2012-05-02 19:46 ` Jean Pihet
2012-05-07 17:31 ` Kevin Hilman
2012-05-09 11:00 ` Jean Pihet
2012-04-12 23:02 ` Woodruff, Richard
2012-04-11 14:59 ` Gary Thomas
2012-04-11 17:23 ` Grazvydas Ignotas
2012-04-11 18:20 ` Gary Thomas
2012-04-11 19:17 ` Kevin Hilman
2012-04-12 10:44 ` Gary Thomas
2012-04-12 14:14 ` Kevin Hilman
2012-04-12 15:28 ` Gary Thomas
2012-04-12 16:57 ` Kevin Hilman
2012-04-12 17:10 ` Gary Thomas
2012-04-12 18:08 ` Kevin Hilman
2012-04-12 19:05 ` Gary Thomas
2012-04-12 22:03 ` Kevin Hilman
2012-04-13 0:39 ` Gary Thomas
2012-04-13 9:13 ` Felipe Balbi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877gx5dwz2.fsf@ti.com \
--to=khilman@ti.com \
--cc=jean.pihet@newoldbits.com \
--cc=linux-omap@vger.kernel.org \
--cc=notasas@gmail.com \
--cc=paul@pwsan.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).