On Mon, Feb 26, 2018 at 05:53:57PM -0800, skannan@xxxxxxxxxxxxxx wrote:
On 2018-02-24 00:41, Peter Zijlstra wrote:
On Fri, Feb 23, 2018 at 04:19:38PM -0800, Saravana Kannan wrote:
Some PMUs events can be read from any CPU. So allow the PMU to mark
events as such. For these events, we don't need to reject reads or
make smp calls to the event's CPU and cause unnecessary wake ups.
Good examples of such events would be events from caches shared across
all CPUs.
So why would the existing ACTIVE_PKG not work for you? Because clearly
your example does not cross a package.
Because based on testing it on hardware, it looks like the two clusters in
an ARM DynamIQ design are not considered part of the same "package". When I
say clusters, I using the more common interpretation of "homogeneous CPUs
running on the same clock"/CPUs in a cpufreq policy and not ARM's new
redefinition of cluster. So, on a SoC with 4 little and 4 big cores, it'll
still trigger a lot of unnecessary smp calls/IPIs that cause unnecessary
wakeups.
arch/arm64/include/asm/topology.h:#define topology_physical_package_id(cpu) (cpu_topology[cpu].cluster_id)
*sigh*... that's just broken...