]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: Introduce new PGOpQueueable class for recovery push/reply messages.
authorSridhar Seshasayee <sseshasa@redhat.com>
Mon, 7 Sep 2020 18:56:40 +0000 (00:26 +0530)
committerSridhar Seshasayee <sseshasa@redhat.com>
Mon, 7 Sep 2020 20:08:17 +0000 (01:38 +0530)
commit0af7d6de5e2ccb321af23f6b6dc4155c436fef1e
tree444e6d55e8293e0620d4f723c404c545fa108ef8
parenta8bf3e9b2f804d11600d412dae0b9493a3df61c8
osd: Introduce new PGOpQueueable class for recovery push/reply messages.

Introduce a new PGOpQueueable class called PGRecoveryMsg to be used for
background recovery specific messages - MOSDPGPush and MOSDPGPushReply.
Earlier the above was categorized into the PGOpItem class leading to the
scheduler (for e.g. dmclock) giving higher importance to recovery IO
compared to client IO regardless of the weightage given to client IO.
This resulted in the poor performance of client IO.

This new class helps the existing and future (e.g. dmclock) IO schedulers
to schedule either client or recovery specific IO operations based on the
scheduling algorithm being employed and try to meet the QoS requirements.

Messages with CEPH_MSG_PRIO_HIGH or higher priority are given higher
importance.

Fixes: https://tracker.ceph.com/issues/47344
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
src/osd/scheduler/OpSchedulerItem.cc
src/osd/scheduler/OpSchedulerItem.h