Good day to all,
On Wed, 29 Aug 2018 at 04:16, leo.yan@linaro.org wrote:
Hi Al,
On Wed, Aug 29, 2018 at 09:35:34AM +0000, Al Grant wrote:
Hi Leo,
- In the kernel command line, please add 'nohlt' to ensure CPUs are not powered off;
Is there work in progress (KWG ticket?) to avoid needing nohlt?
I'd like to leave this question for Mathieu, Mathieu has more insight for this topic and for KWG ticket.
There is no work in progress to fix power management issues on the dragon board nor do I see any coming in the foreseeable future.
One way of allowing CS and dynamic CPU power management to be active simultaneously is to properly implement TRCPDCR:PU. This is what was done on Juno and things work quite well. The downside of this approach is the required HW support and an update to the FW image for the PMIC.
Despite TRCPDCR:PU my preferred approach to dealing with CS power management on all platform has always been via the generic power domain subsystem (genPD), something that would void the aforementioned HW and FW requirements. When I looked into this 4 years ago the genPD subsystem was far from being ready for such a task, meaning that it couldn't handle domains shared by both devices (in this case CS) and CPU cores. The silver lining here is that I am told a lot of work has been done and things are almost ready for CS to be integrated with genPD.
Just give more input at here: at about 1~2 monthes ago I sent one email with Mathieu for power management with CoreSight, one dependency is to use GenPD to maintain between the Coresight power domain and CPU power domain, IIRC the GenPD hasn't been merged in mailine kernel for this part.
Another topic is to save and restore contexts for CPU suspend/resume flow so even the CPU has been powered off but CoreSight won't lose the context after the CPU resumes back.
Right, this would be needed for sysFS trace scenarios. This is currently a low priority item for me since this interface is very restrictive. If anything I would rather see time invested in dealing with genPDs.
Not sure if at YVR18 connect in next month if we have chance to some discussion for this. I think one meaningful thing is to firstly summary what's power management related issues we need to resolve for CoreSight, some power management is more relative with CoreSight, some are overlap between CoreSight and CPU power domain; the situation will get complex if we need cover the case when the power management logic is insane in the SoC design (please refer patch [1]), though this is low priority but it's better to find robust solution for insane system IMO.
We also have to come to term with the fact that some platforms simply can't be salvaged and other more intrusive means (like disabling CPUidle) need to be used.
[1] https://patchwork.kernel.org/patch/10064611/
We should aim for trace to be usable under 'normal' power-saving conditions without needing any special settings.
That is always my primary goal and the main reason for all the work that went in to making Juno right.
Mathieu
Totally agree.
Thanks, Leo Yan