Whamcloud - gitweb
LU-56 libcfs: CPT affinity workitem scheduler
authorLiang Zhen <liang@whamcloud.com>
Mon, 14 May 2012 07:27:41 +0000 (15:27 +0800)
committerOleg Drokin <green@whamcloud.com>
Thu, 28 Jun 2012 03:42:07 +0000 (23:42 -0400)
commitc48a869557fe7663f4f3370b130d4c248958180e
tree62a820b2f05d087528c5538efa9790627a331537
parent8a5b8dbda960b155f669c13602504f1233a84c7e
LU-56 libcfs: CPT affinity workitem scheduler

this patch covered multipled changes:
- flexible APIs for creating WI schedulers
  a) therioticall user can create any number of WI schedulers, each
     scheduler can have its own threads pool
  b) user can create CPT affinity WI schedulers for each CPT, it's
     reserved for LNet selftest.
- rehashing and LNet selftest will not share WI schedulers anymore
- libcfs will only start a WI scheduler with small number of threads
  for cfs_hash rehashing
- LNet selftest will create its own schedulers on starting of module,
  and destroy schedulers on shutting down of module

Signed-off-by: Liang Zhen <liang@whamcloud.com>
Change-Id: Idf66a83817fe847ed29e052e0ddc2a4fed498f1a
Reviewed-on: http://review.whamcloud.com/2729
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Bobi Jam <bobijam@whamcloud.com>
Reviewed-by: Doug Oucharek <doug@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
libcfs/include/libcfs/libcfs_workitem.h
libcfs/libcfs/hash.c
libcfs/libcfs/module.c
libcfs/libcfs/workitem.c
lnet/selftest/framework.c
lnet/selftest/module.c
lnet/selftest/rpc.c
lnet/selftest/selftest.h