• 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
msr.h 6.34 KB