Thread (16 messages) 16 messages, 3 authors, 2016-09-01
DORMANTno replies

[PATCH v7 8/9] arm64: pmu: Detect and enable multiple PMUs in an ACPI system

From: Will Deacon <hidden>
Date: 2016-09-01 14:30:37
Also in: linux-acpi

On Fri, Aug 26, 2016 at 05:44:59PM -0500, Jeremy Linton wrote:
Hi,

On 08/26/2016 10:04 AM, Punit Agrawal wrote:
(trimming)
quoted
quoted
+			pmu = kzalloc(sizeof(struct pmu_types), GFP_KERNEL);
+			if (!pmu) {
+				pr_warn("Unable to allocate pmu_types\n");
+				/*
+				 * continue to count cpus for any pmu_types
+				 * already allocated, but don't allocate any
+				 * more pmu_types. This avoids undercounting.
+				 */
+				alloc_failure = true;
Why not just fail probe and return an error? What is the benefit of
having some of the PMUs available?
AFAIC, there isn't a good reason for penalizing PMU's which we can get
working if a subset of the system PMUs can't be created. But this is per PMU
type, so with current systems the kzalloc will be called a max of 2 times
(there is the potential of a 3rd time, due to some other error handling, but
that doesn't change the argument much). AKA, this doesn't result in "partial
registration" of a PMU.
... but this will look mighty confusing to userspace, where things will
appear to "half-work", if for some reason the machine makes it that far
at all.

I think we should stick with the KISS approach and just fail the probe
as Punit is suggesting.

Will
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help