1. 13 2月, 2015 5 次提交
  2. 09 2月, 2015 1 次提交
  3. 07 2月, 2015 7 次提交
  4. 05 2月, 2015 2 次提交
  5. 04 2月, 2015 3 次提交
  6. 31 1月, 2015 1 次提交
  7. 30 1月, 2015 1 次提交
  8. 29 1月, 2015 2 次提交
  9. 27 1月, 2015 1 次提交
  10. 26 1月, 2015 1 次提交
  11. 16 1月, 2015 1 次提交
    • Y
      rhashtable: Fix race in rhashtable_destroy() and use regular work_struct · 57699a40
      Ying Xue 提交于
      When we put our declared work task in the global workqueue with
      schedule_delayed_work(), its delay parameter is always zero.
      Therefore, we should define a regular work in rhashtable structure
      instead of a delayed work.
      
      By the way, we add a condition to check whether resizing functions
      are NULL before cancelling the work, avoiding to cancel an
      uninitialized work.
      
      Lastly, while we wait for all work items we submitted before to run
      to completion with cancel_delayed_work(), ht->mutex has been taken in
      rhashtable_destroy(). Moreover, cancel_delayed_work() doesn't return
      until all work items are accomplished, and when work items are
      scheduled, the work's function - rht_deferred_worker() will be called.
      However, as rht_deferred_worker() also needs to acquire the lock,
      deadlock might happen at the moment as the lock is already held before.
      So if the cancel work function is moved out of the lock covered scope,
      this will avoid the deadlock.
      
      Fixes: 97defe1e ("rhashtable: Per bucket locks & deferred expansion/shrinking")
      Signed-off-by: NYing Xue <ying.xue@windriver.com>
      Cc: Thomas Graf <tgraf@suug.ch>
      Acked-by: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      57699a40
  12. 15 1月, 2015 1 次提交
  13. 14 1月, 2015 4 次提交
  14. 09 1月, 2015 6 次提交
  15. 08 1月, 2015 1 次提交
    • P
      assoc_array: Include rcupdate.h for call_rcu() definition · 990428b8
      Pranith Kumar 提交于
      Include rcupdate.h header to provide call_rcu() definition. This was implicitly
      being provided by slab.h file which include srcu.h somewhere in its include
      hierarchy which in-turn included rcupdate.h.
      
      Lately, tinification effort added support to remove srcu entirely because of
      which we are encountering build errors like
      
      lib/assoc_array.c: In function 'assoc_array_apply_edit':
      lib/assoc_array.c:1426:2: error: implicit declaration of function 'call_rcu' [-Werror=implicit-function-declaration]
      cc1: some warnings being treated as errors
      
      Fix these by including rcupdate.h explicitly.
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Reported-by: NScott Wood <scottwood@freescale.com>
      990428b8
  16. 07 1月, 2015 2 次提交
    • P
      rcu: Set default to RCU_CPU_STALL_INFO=y · 68158fe2
      Paul E. McKenney 提交于
      The RCU_CPU_STALL_INFO code has been in for quite some time, and has
      proven reliable.  This commit therefore enables it by default.
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      68158fe2
    • P
      rcu: Make SRCU optional by using CONFIG_SRCU · 83fe27ea
      Pranith Kumar 提交于
      SRCU is not necessary to be compiled by default in all cases. For tinification
      efforts not compiling SRCU unless necessary is desirable.
      
      The current patch tries to make compiling SRCU optional by introducing a new
      Kconfig option CONFIG_SRCU which is selected when any of the components making
      use of SRCU are selected.
      
      If we do not select CONFIG_SRCU, srcu.o will not be compiled at all.
      
         text    data     bss     dec     hex filename
         2007       0       0    2007     7d7 kernel/rcu/srcu.o
      
      Size of arch/powerpc/boot/zImage changes from
      
         text    data     bss     dec     hex filename
       831552   64180   23944  919676   e087c arch/powerpc/boot/zImage : before
       829504   64180   23952  917636   e0084 arch/powerpc/boot/zImage : after
      
      so the savings are about ~2000 bytes.
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      CC: Josh Triplett <josh@joshtriplett.org>
      CC: Lai Jiangshan <laijs@cn.fujitsu.com>
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      [ paulmck: resolve conflict due to removal of arch/ia64/kvm/Kconfig. ]
      83fe27ea
  17. 04 1月, 2015 1 次提交
    • T
      rhashtable: Supports for nulls marker · f89bd6f8
      Thomas Graf 提交于
      In order to allow for wider usage of rhashtable, use a special nulls
      marker to terminate each chain. The reason for not using the existing
      nulls_list is that the prev pointer usage would not be valid as entries
      can be linked in two different buckets at the same time.
      
      The 4 nulls base bits can be set through the rhashtable_params structure
      like this:
      
      struct rhashtable_params params = {
              [...]
              .nulls_base = (1U << RHT_BASE_SHIFT),
      };
      
      This reduces the hash length from 32 bits to 27 bits.
      Signed-off-by: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f89bd6f8