Currently, sheep calls a pthread_create for every I/O request, but the
overhead is not so cheap.  On my environment, it takes 320
microseconds for sheep to process 4 KB write, but I found that sheep
spends 30~40 microseconds in pthread_create.

This series removes a short thread and implements a dynamic worker
thread pool based on the previous work queue implementation.  With
this series, the 4 KB write performance was increased from 3100 IOPS
to 3350 IOPS on my environment.

MORITA Kazutaka (3):
  work: remove short thread
  work: enlarge the number of worker threads dynamically
  work: shrink the number of worker threads dynamically

 include/util.h |    2 +-
 lib/logger.c   |    4 +-
 sheep/work.c   |  168 +++++++++++++++++++++++++++----------------------------
 sheep/work.h   |    5 +-
 4 files changed, 89 insertions(+), 90 deletions(-)

-- 
1.7.2.5

-- 
sheepdog mailing list
sheepdog@lists.wpkg.org
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to