Re: [PATCH v3 1/3] perf: Use monotonic clock as a source for timestamps
On Tue, Nov 04, 2014 at 03:25:27PM +, Pawel Moll wrote: > Very good idea, should have came up with it myself :-) > > Does __setup("perf_use_local_clock") sound reasonable? Would not the 'module' already prefix a perf.? I never quite know how all that works out. But sure, that works. > Then we have to > decide whether to hide the sysctl "perf_sample_time_clk_id" (my > preferred option, will see how difficult it is) or just provide an > invalid clock_id (eg. -1) in it. invalid clock id is fine with me, although I suppose the clock people might have an oh-pinion ;-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v3 1/3] perf: Use monotonic clock as a source for timestamps
On Tue, 2014-11-04 at 07:23 +, Peter Zijlstra wrote: > On Tue, Nov 04, 2014 at 12:28:36AM +, Pawel Moll wrote: > > > +int sysctl_perf_sample_time_clk_id = CLOCK_MONOTONIC; > > const ? Sure (unless we have to change it as mentioned below) > > /* > > * perf samples are done in some very critical code paths (NMIs). > > * If they take too much CPU time, the system can lock up and not > > @@ -324,7 +326,7 @@ extern __weak const char *perf_pmu_name(void) > > > > static inline u64 perf_clock(void) > > { > > - return local_clock(); > > + return ktime_get_mono_fast_ns(); > > } > > Do we maybe want to make it boot-time switchable back to local_clock for > people with bad systems and or backwards compat issues? Very good idea, should have came up with it myself :-) Does __setup("perf_use_local_clock") sound reasonable? Then we have to decide whether to hide the sysctl "perf_sample_time_clk_id" (my preferred option, will see how difficult it is) or just provide an invalid clock_id (eg. -1) in it. Cheers! Pawel -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v3 1/3] perf: Use monotonic clock as a source for timestamps
On Tue, 2014-11-04 at 07:23 +, Peter Zijlstra wrote: On Tue, Nov 04, 2014 at 12:28:36AM +, Pawel Moll wrote: +int sysctl_perf_sample_time_clk_id = CLOCK_MONOTONIC; const ? Sure (unless we have to change it as mentioned below) /* * perf samples are done in some very critical code paths (NMIs). * If they take too much CPU time, the system can lock up and not @@ -324,7 +326,7 @@ extern __weak const char *perf_pmu_name(void) static inline u64 perf_clock(void) { - return local_clock(); + return ktime_get_mono_fast_ns(); } Do we maybe want to make it boot-time switchable back to local_clock for people with bad systems and or backwards compat issues? Very good idea, should have came up with it myself :-) Does __setup(perf_use_local_clock) sound reasonable? Then we have to decide whether to hide the sysctl perf_sample_time_clk_id (my preferred option, will see how difficult it is) or just provide an invalid clock_id (eg. -1) in it. Cheers! Pawel -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v3 1/3] perf: Use monotonic clock as a source for timestamps
On Tue, Nov 04, 2014 at 03:25:27PM +, Pawel Moll wrote: Very good idea, should have came up with it myself :-) Does __setup(perf_use_local_clock) sound reasonable? Would not the 'module' already prefix a perf.? I never quite know how all that works out. But sure, that works. Then we have to decide whether to hide the sysctl perf_sample_time_clk_id (my preferred option, will see how difficult it is) or just provide an invalid clock_id (eg. -1) in it. invalid clock id is fine with me, although I suppose the clock people might have an oh-pinion ;-) -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v3 1/3] perf: Use monotonic clock as a source for timestamps
On Tue, Nov 04, 2014 at 12:28:36AM +, Pawel Moll wrote: > +int sysctl_perf_sample_time_clk_id = CLOCK_MONOTONIC; const ? > /* > * perf samples are done in some very critical code paths (NMIs). > * If they take too much CPU time, the system can lock up and not > @@ -324,7 +326,7 @@ extern __weak const char *perf_pmu_name(void) > > static inline u64 perf_clock(void) > { > - return local_clock(); > + return ktime_get_mono_fast_ns(); > } Do we maybe want to make it boot-time switchable back to local_clock for people with bad systems and or backwards compat issues? Everybody using Core2 and older will very much not want to have this unless they've got a very good reason for wanting it. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v3 1/3] perf: Use monotonic clock as a source for timestamps
On Tue, Nov 04, 2014 at 12:28:36AM +, Pawel Moll wrote: +int sysctl_perf_sample_time_clk_id = CLOCK_MONOTONIC; const ? /* * perf samples are done in some very critical code paths (NMIs). * If they take too much CPU time, the system can lock up and not @@ -324,7 +326,7 @@ extern __weak const char *perf_pmu_name(void) static inline u64 perf_clock(void) { - return local_clock(); + return ktime_get_mono_fast_ns(); } Do we maybe want to make it boot-time switchable back to local_clock for people with bad systems and or backwards compat issues? Everybody using Core2 and older will very much not want to have this unless they've got a very good reason for wanting it. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/