1. 10 May, 2010 6 commits
    • John Stultz's avatar
      clocksource: Add clocksource_register_hz/khz interface · d7e81c26
      John Stultz authored
      How to pick good mult/shift pairs has always been difficult to
      describe to folks writing clocksource drivers, since it requires
      careful tradeoffs in adjustment accuracy vs overflow limits.
      
      Now, with the clocks_calc_mult_shift function, its much
      easier. However, not many clocksources have converted to using that
      function, and there is still the issue of the max interval length
      assumption being made by each clocksource driver independently.
      
      So this patch simplifies the registration process by having
      clocksources be registered with a hz/khz value and the registration
      function taking care of setting mult/shift.
      
      This should take most of the confusion out of writing a clocksource
      driver.
      
      Additionally it also keeps the shift size tradeoff (more accuracy vs
      longer possible nohz times) centralized so the timekeeping core can
      keep track of the assumptions being made.
      
      [ tglx: Coding style and comments fixed ]
      Signed-off-by: default avatarJohn Stultz <johnstul@us.ibm.com>
      LKML-Reference: <1273280858-30143-1-git-send-email-johnstul@us.ibm.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      d7e81c26
    • Stanislaw Gruszka's avatar
      posix-cpu-timers: Optimize run_posix_cpu_timers() · 29f87b79
      Stanislaw Gruszka authored
      We can optimize and simplify things taking into account signal->cputimer
      is always running when we have configured any process wide cpu timer.
      
      In check_process_timers(), we don't have to check if new updated value of
      signal->cputime_expires is smaller, since we maintain new first expiration
      time ({prof,virt,sched}_expires) in code flow and all other writes to
      expiration cache are protected by sighand->siglock .
      Signed-off-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      29f87b79
    • Thomas Gleixner's avatar
      Merge branch 'linus' into timers/core · dbb6be6d
      Thomas Gleixner authored
      Reason: Further posix_cpu_timer patches depend on mainline changes
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      dbb6be6d
    • Linus Torvalds's avatar
      Linux 2.6.34-rc7 · b57f95a3
      Linus Torvalds authored
      b57f95a3
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 · 93cb4631
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
        [SCSI] Retry commands with UNIT_ATTENTION sense codes to fix ext3/ext4 I/O error
        [SCSI] Enable retries for SYNCRONIZE_CACHE commands to fix I/O error
        [SCSI] scsi_debug: virtual_gb ignores sector_size
        [SCSI] libiscsi: regression: fix header digest errors
        [SCSI] fix locking around blk_abort_request()
        [SCSI] advansys: fix narrow board error path
      93cb4631
    • Arjan van de Ven's avatar
      cpuidle: Fix incorrect optimization · 1c6fe036
      Arjan van de Ven authored
      commit 672917dc ("cpuidle: menu governor: reduce latency on exit")
      added an optimization, where the analysis on the past idle period moved
      from the end of idle, to the beginning of the new idle.
      
      Unfortunately, this optimization had a bug where it zeroed one key
      variable for new use, that is needed for the analysis.  The fix is
      simple, zero the variable after doing the work from the previous idle.
      
      During the audit of the code that found this issue, another issue was
      also found; the ->measured_us data structure member is never set, a
      local variable is always used instead.
      Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
      Cc: Corrado Zoccolo <czoccolo@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1c6fe036
  2. 07 May, 2010 13 commits
  3. 06 May, 2010 21 commits