1. 29 10月, 2014 1 次提交
    • H
      timekeeping: Provide fast accessor to the seconds part of CLOCK_MONOTONIC · 9e3680b1
      Heena Sirwani 提交于
      This is the counterpart to get_seconds() based on CLOCK_MONOTONIC. The
      use case for this interface are kernel internal coarse grained
      timestamps which do neither require the nanoseconds fraction of
      current time nor the CLOCK_REALTIME properties. Such timestamps can
      currently only retrieved by calling ktime_get_ts64() and using the
      tv_sec field of the returned timespec64. That's inefficient as it
      involves the read of the clocksource, math operations and must be
      protected by the timekeeper sequence counter.
      
      To avoid the sequence counter protection we restrict the return value
      to unsigned 32bit on 32bit machines. This covers ~136 years of uptime
      and therefor an overflow is not expected to hit anytime soon.
      
      To avoid math in the function we calculate the current seconds portion
      of CLOCK_MONOTONIC when the timekeeper gets updated in
      tk_update_ktime_data() similar to the CLOCK_REALTIME counterpart
      xtime_sec.
      
      [ tglx: Massaged changelog, simplified and commented the update
        	function, added docbook comment ]
      Signed-off-by: NHeena Sirwani <heenasirwani@gmail.com>
      Reviewed-by: NArnd Bergman <arnd@arndb.de>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: opw-kernel@googlegroups.com
      Link: http://lkml.kernel.org/r/da0b63f4bdf3478909f92becb35861197da3a905.1414578445.git.heenasirwani@gmail.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      9e3680b1
  2. 24 7月, 2014 14 次提交