aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/perf_counter.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/perf_counter.c')
-rw-r--r--kernel/perf_counter.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/perf_counter.c b/kernel/perf_counter.c
index ba5e921e1f36..6e6834e0587e 100644
--- a/kernel/perf_counter.c
+++ b/kernel/perf_counter.c
@@ -1288,6 +1288,11 @@ static unsigned int perf_poll(struct file *file, poll_table *wait)
1288 return events; 1288 return events;
1289} 1289}
1290 1290
1291static void perf_counter_reset(struct perf_counter *counter)
1292{
1293 atomic_set(&counter->count, 0);
1294}
1295
1291static long perf_ioctl(struct file *file, unsigned int cmd, unsigned long arg) 1296static long perf_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
1292{ 1297{
1293 struct perf_counter *counter = file->private_data; 1298 struct perf_counter *counter = file->private_data;
@@ -1303,6 +1308,9 @@ static long perf_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
1303 case PERF_COUNTER_IOC_REFRESH: 1308 case PERF_COUNTER_IOC_REFRESH:
1304 perf_counter_refresh(counter, arg); 1309 perf_counter_refresh(counter, arg);
1305 break; 1310 break;
1311 case PERF_COUNTER_IOC_RESET:
1312 perf_counter_reset(counter);
1313 break;
1306 default: 1314 default:
1307 err = -ENOTTY; 1315 err = -ENOTTY;
1308 } 1316 }