]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
common/OpHistory: move insert/cleanup into separate thread
authorPiotr Dałek <piotr.dalek@corp.ovh.com>
Thu, 22 Feb 2018 13:45:52 +0000 (14:45 +0100)
committerPiotr Dałek <piotr.dalek@corp.ovh.com>
Mon, 26 Feb 2018 14:27:42 +0000 (15:27 +0100)
commit635a60d76fec3344528aa7ce1ca231cd6e75694f
treea1a53ffecaff14ed4cb6273d6c390112de0d8e70
parent046f635d1c85b84eafe4abfa6887b5145705927e
common/OpHistory: move insert/cleanup into separate thread

Cluster that's flooded with incoming ops (and enabled optracker)
is bottlenecked by OpHistory::insert. Reduce that by:
- pushing incoming ops into separate queue that'll be processed by
  separate thread.
- using std::atomic_bool for shutdown flag so ops_history_lock doesn't
  need to be taken as often

Signed-off-by: Piotr Dałek <piotr.dalek@corp.ovh.com>
src/common/TrackedOp.cc
src/common/TrackedOp.h