| Date | Fri, 12 Aug 2011 14:04:50 -0700 | From | Greg KH <> | Subject | [65/90] sparc: Dont do expensive hypervisor PCR write unless necessary. |
| |
3.0-stable review patch. If anyone has any objections, please let us know.
------------------
From: "David S. Miller" <davem@davemloft.net>
[ Upstream commit 314ff52727fe94dfbe07f3a9a489ab3ca8d8df5a ]
The hypervisor call is only necessary if hypervisor events are being requested.
So if we're not tracking hypervisor events, simply do a direct register write.
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- arch/sparc/kernel/pcr.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
--- a/arch/sparc/kernel/pcr.c +++ b/arch/sparc/kernel/pcr.c @@ -80,8 +80,11 @@ static void n2_pcr_write(u64 val) { unsigned long ret; - ret = sun4v_niagara2_setperf(HV_N2_PERF_SPARC_CTL, val); - if (ret != HV_EOK) + if (val & PCR_N2_HTRACE) { + ret = sun4v_niagara2_setperf(HV_N2_PERF_SPARC_CTL, val); + if (ret != HV_EOK) + write_pcr(val); + } else write_pcr(val); }
|