From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753284AbbC0QgF (ORCPT ); Fri, 27 Mar 2015 12:36:05 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:53596 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752754AbbC0QgC (ORCPT ); Fri, 27 Mar 2015 12:36:02 -0400 Date: Fri, 27 Mar 2015 17:35:47 +0100 From: Peter Zijlstra To: Stephane Eranian Cc: Thomas Gleixner , Arnaldo Carvalho de Melo , Jiri Olsa , Linus Torvalds , LKML , John Stultz , "H. Peter Anvin" , David Ahern , Andrew Morton , Ingo Molnar Subject: Re: [tip:perf/timer] perf: Add per event clockid support Message-ID: <20150327163547.GI23123@twins.programming.kicks-ass.net> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 27, 2015 at 09:31:45AM -0700, Stephane Eranian wrote: > On Fri, Mar 27, 2015 at 4:48 AM, tip-bot for Peter Zijlstra > > +static int perf_event_set_clock(struct perf_event *event, clockid_t clk_id) > > +{ > > + bool nmi_safe = false; > > + > > + switch (clk_id) { > > + case CLOCK_MONOTONIC: > > + event->clock = &ktime_get_mono_fast_ns; > > + nmi_safe = true; > > + break; > > + > > + case CLOCK_MONOTONIC_RAW: > > + event->clock = &ktime_get_raw_fast_ns; > > + nmi_safe = true; > > + break; > > + > > + case CLOCK_REALTIME: > > + event->clock = &ktime_get_real_ns; > > + break; > > + > > + case CLOCK_BOOTTIME: > > + event->clock = &ktime_get_boot_ns; > > + break; > > + > > + case CLOCK_TAI: > > + event->clock = &ktime_get_tai_ns; > > + break; > > + > Can all those clocks be safely called from an NMI context? + if (!nmi_safe && !(event->pmu->capabilities & PERF_PMU_CAP_NO_NMI)) + return -EINVAL; no :-)