All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] thread-pool: fix performance regression
@ 2022-05-14  6:50 Paolo Bonzini
  2022-05-14  6:50 ` [PATCH v3 1/3] thread-pool: optimize scheduling of completion bottom half Paolo Bonzini
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Paolo Bonzini @ 2022-05-14  6:50 UTC (permalink / raw)
  To: qemu-devel; +Cc: stefanha, nsaenzju

Together, these two patches fix the performance regression induced by
QemuSemaphore; individually they don't though.

The third patch is a small cleanup on top, that was enabled by the
recent introduction of min_threads/max_threads knobs for the
thread pool.

6.2:
   iops        : min=58051, max=62260, avg=60282.57, stdev=1081.18, samples=30
    clat percentiles (usec):   1.00th=[  490],   99.99th=[  775]
   iops        : min=59401, max=61290, avg=60651.27, stdev=468.24, samples=30
    clat percentiles (usec):   1.00th=[  490],   99.99th=[  717]
   iops        : min=59583, max=60816, avg=60353.43, stdev=282.69, samples=30
    clat percentiles (usec):   1.00th=[  490],   99.99th=[  701]
   iops        : min=58099, max=60713, avg=59739.53, stdev=755.49, samples=30
    clat percentiles (usec):   1.00th=[  494],   99.99th=[  717]
	
patched:
   iops        : min=60616, max=62522, avg=61654.37, stdev=555.67, samples=30
    clat percentiles (usec):   1.00th=[  474],   99.99th=[ 1303]
   iops        : min=61841, max=63600, avg=62878.47, stdev=442.40, samples=30
    clat percentiles (usec):   1.00th=[  465],   99.99th=[  685]
   iops        : min=62976, max=63910, avg=63531.60, stdev=261.05, samples=30
    clat percentiles (usec):   1.00th=[  461],   99.99th=[  693]
   iops        : min=60803, max=63623, avg=62653.37, stdev=808.76, samples=30
    clat percentiles (usec):   1.00th=[  465],   99.99th=[  685]
	
Paolo

v1->v2: support min_threads/max_threads

v2->v3: fix NULL pointer dereference [Nicolas]

Paolo Bonzini (3):
  thread-pool: optimize scheduling of completion bottom half
  thread-pool: replace semaphore with condition variable
  thread-pool: remove stopping variable

 util/thread-pool.c | 74 +++++++++++++++++++---------------------------
 1 file changed, 30 insertions(+), 44 deletions(-)

-- 
2.36.0



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2022-05-17 15:28 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-14  6:50 [PATCH v3 0/3] thread-pool: fix performance regression Paolo Bonzini
2022-05-14  6:50 ` [PATCH v3 1/3] thread-pool: optimize scheduling of completion bottom half Paolo Bonzini
2022-05-17 15:20   ` Stefan Hajnoczi
2022-05-14  6:50 ` [PATCH v3 2/3] thread-pool: replace semaphore with condition variable Paolo Bonzini
2022-05-17 12:46   ` Nicolas Saenz Julienne
2022-05-17 14:18     ` Paolo Bonzini
2022-05-17 14:37       ` Nicolas Saenz Julienne
2022-05-17 15:19   ` Stefan Hajnoczi
2022-05-17 15:21     ` Paolo Bonzini
2022-05-14  6:50 ` [PATCH v3 3/3] thread-pool: remove stopping variable Paolo Bonzini
2022-05-17 15:20   ` Stefan Hajnoczi
2022-05-17 14:30 ` [PATCH v3 0/3] thread-pool: fix performance regression Nicolas Saenz Julienne

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.