From: Jianpeng Ma Date: Tue, 21 Apr 2020 00:44:53 +0000 (+0800) Subject: osd/OSD: wakeup all threads of shard. X-Git-Tag: v15.2.5~144^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=51d3e7f4877b97717bce15e93f691f273da325df;p=ceph.git osd/OSD: wakeup all threads of shard. In our test(4NVME), we found for 4K randread(8/16 mean shard, 2/1 mean thread_per_shard): QD 8_2(IOPS(k)) 16_1(IOPS(K)) 8_2(apply patch) 32 191 263 263.5 Signed-off-by: Jianpeng Ma (cherry picked from commit d1cf3fb80bce50a13da0fd45dba65248cbe38383) --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index e72f9f6f650..9fe1653489a 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -10711,7 +10711,7 @@ void OSD::ShardedOpWQ::_enqueue(OpSchedulerItem&& item) { if (empty) { std::lock_guard l{sdata->sdata_wait_lock}; - sdata->sdata_cond.notify_one(); + sdata->sdata_cond.notify_all(); } }