1. 07 7月, 2010 1 次提交
    • A
      sunrpc: make the cache cleaner workqueue deferrable · 8eab945c
      Artem Bityutskiy 提交于
      This patch makes the cache_cleaner workqueue deferrable, to prevent
      unnecessary system wake-ups, which is very important for embedded
      battery-powered devices.
      
      do_cache_clean() is called every 30 seconds at the moment, and often
      makes the system wake up from its power-save sleep state. With this
      change, when the workqueue uses a deferrable timer, the
      do_cache_clean() invocation will be delayed and combined with the
      closest "real" wake-up. This improves the power consumption situation.
      
      Note, I tried to create a DECLARE_DELAYED_WORK_DEFERRABLE() helper
      macro, similar to DECLARE_DELAYED_WORK(), but failed because of the
      way the timer wheel core stores the deferrable flag (it is the
      LSBit in the time->base pointer). My attempt to define a static
      variable with this bit set ended up with the "initializer element is
      not constant" error.
      
      Thus, I have to use run-time initialization, so I created a new
      cache_initialize() function which is called once when sunrpc is
      being initialized.
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      8eab945c
  2. 25 6月, 2010 2 次提交
  3. 23 6月, 2010 4 次提交
  4. 01 6月, 2010 4 次提交
  5. 31 5月, 2010 16 次提交
  6. 30 5月, 2010 13 次提交