• Ingo Molnar's avatar
    sched: fix cpu clock · dfbf4a1b
    Ingo Molnar authored
    David Miller pointed it out that nothing in cpu_clock() sets
    prev_cpu_time. This caused __sync_cpu_clock() to be called
    all the time - against the intention of this code.
    
    The result was that in practice we hit a global spinlock every
    time cpu_clock() is called - which - even though cpu_clock()
    is used for tracing and debugging, is suboptimal.
    
    While at it, also:
    
    - move the irq disabling to the outest layer,
      this should make cpu_clock() warp-free when called with irqs
      enabled.
    
    - use long long instead of cycles_t - for platforms where cycles_t
      is 32-bit.
    Reported-by: default avatarDavid Miller <davem@davemloft.net>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    dfbf4a1b
sched.c 224 KB