Re: [PATCH v3 1/3] perf: Use monotonic clock as a source for timestamps

2014-11-04 Thread Peter Zijlstra
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

2014-11-04 Thread Pawel Moll
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

2014-11-04 Thread Pawel Moll
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

2014-11-04 Thread Peter Zijlstra
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

2014-11-03 Thread Peter Zijlstra
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

2014-11-03 Thread Peter Zijlstra
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/