lkml.org 
[lkml]   [2011]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch] perf - comment /proc/sys/kernel/perf_event_paranoid to be part of user ABI
On Tue, 24 May 2011, Ingo Molnar wrote:

> I agree with Vince that as far as shell scripts are concerned, checking
> /proc/sys/kernel/perf_event_paranoid would work best - and it works better than
> having to check the perf syscall.
>
> Vince: mind sending a patch that adds a comment to perf_event_paranoid that
> userspace relies on the existence of that file as a feature check? Having such
> reminders in the code works even better than frequent testing ;-)

Such a patch is included below. Not sure if this is exactly what you
meant.

> As far as the actual PAPI library goes i really hope it checks the syscall
> itself: that's much faster and more robust than an
> access("/proc/sys/kernel/perf_event_paranoid") call ...

For PAPI itself we decide with substrate to use at compile time.
This casme up because one of the vendors who ships PAPI on various kernel
revisions had a script to choose the right package to install, and as of
2.6.37 this broke due to /sys/devices/system/cpu/perf_events going away.

Thanks,

Vince
vweaver1@eecs.utk.edu

Signed-off-by: Vince Weaver <vweaver1@eecs.utk.edu>

diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 4fc9244..cbdc7bc 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -938,6 +938,8 @@ static struct ctl_table kern_table[] = {
},
#endif
#ifdef CONFIG_PERF_EVENTS
+ /* Userspace relies on this file existing as a check for */
+ /* perf_events being enabled. Do not remove! */
{
.procname = "perf_event_paranoid",
.data = &sysctl_perf_event_paranoid,

\
 
 \ /
  Last update: 2011-06-03 23:57    [W:0.052 / U:0.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site