[sheepdog] [PATCH v2 0/5] work: implement a dynamically changing	thread pool
    MORITA Kazutaka 
    morita.kazutaka at gmail.com
       
    Thu Feb 28 11:46:17 CET 2013
    
    
  
This removes a short thread feature, and adds a worker thread pool
again with support of dymanic pool size.  The reasons we need this
series are:
 - Currently, sheep calls a pthread_create for every I/O request, but
   the overhead is not so cheap especially when the underlying disk is
   fast (e.g. the disk has non-volatile cache).
 - Some operations (e.g. object cache pusher) consumes too many
   threads and causes a problem.  To control the maximum number of
   threads, a thread pool model is better for us.
Changes from v1:
 - introduce a protection period for shrining work queue to avoid
   frequent creation/deletion of threads
 - rebase onto the latest master
 - some cleanups
MORITA Kazutaka (5):
  work: remove short thread
  logger: use LWP for worker idx
  work: remove unused codes
  work: glow the number of worker threads dynamically
  work: shrink the number of worker threads dynamically
 include/logger.h |    2 +-
 include/util.h   |    1 +
 lib/logger.c     |    5 +-
 lib/util.c       |    6 ++
 sheep/sheep.c    |   16 ++---
 sheep/work.c     |  179 ++++++++++++++++++++++++++----------------------------
 sheep/work.h     |   14 +++--
 7 files changed, 113 insertions(+), 110 deletions(-)
-- 
1.7.9.5
    
    
More information about the sheepdog
mailing list