From 269035ff03b6f2af3e93ec5bdd4a32814eb7eef7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20St=C3=B6neberg?= Date: Wed, 7 Jan 2015 23:41:03 +0100 Subject: [PATCH] osd_work: default back to numproc-1 threads for WORK_QUEUE_FLAG_MULTI (nw) --- src/osd/modules/sync/work_osd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/osd/modules/sync/work_osd.c b/src/osd/modules/sync/work_osd.c index 8a337cb7ff1..cb48614b229 100644 --- a/src/osd/modules/sync/work_osd.c +++ b/src/osd/modules/sync/work_osd.c @@ -207,9 +207,9 @@ osd_work_queue *osd_work_queue_alloc(int flags) // on a single-CPU system, create 1 thread for I/O queues, and 0 threads for everything else if (numprocs == 1) threadnum = (flags & WORK_QUEUE_FLAG_IO) ? 1 : 0; - // on an n-CPU system, create n threads for multi queues, and 1 thread for everything else + // on an n-CPU system, create n-1 threads for multi queues, and 1 thread for everything else else - threadnum = (flags & WORK_QUEUE_FLAG_MULTI) ? numprocs : 1; + threadnum = (flags & WORK_QUEUE_FLAG_MULTI) ? (numprocs - 1) : 1; if (osdworkqueuemaxthreads != NULL && sscanf(osdworkqueuemaxthreads, "%d", &osdthreadnum) == 1 && threadnum > osdthreadnum) threadnum = osdthreadnum;