1. 08 Nov, 2008 2 commits
    • Ingo Molnar's avatar
      sched: optimize sched_clock() a bit · 7cbaef9c
      Ingo Molnar authored
      sched_clock() uses cycles_2_ns() needlessly - which is an irq-disabling
      variant of __cycles_2_ns().
      
      Most of the time sched_clock() is called with irqs disabled already.
      The few places that call it with irqs enabled need to be updated.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      7cbaef9c
    • Ingo Molnar's avatar
      sched: improve sched_clock() performance · 0d12cdd5
      Ingo Molnar authored
      in scheduler-intense workloads native_read_tsc() overhead accounts for
      20% of the system overhead:
      
       659567 system_call                              41222.9375
       686796 schedule                                 435.7843
       718382 __switch_to                              665.1685
       823875 switch_mm                                4526.7857
       1883122 native_read_tsc                          55385.9412
       9761990 total                                      2.8468
      
      this is large part due to the rdtsc_barrier() that is done before
      and after reading the TSC.
      
      But sched_clock() is not a precise clock in the GTOD sense, using such
      barriers is completely pointless. So remove the barriers and only use
      them in vget_cycles().
      
      This improves lat_ctx performance by about 5%.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      0d12cdd5
  2. 07 Nov, 2008 5 commits
  3. 06 Nov, 2008 33 commits