From: Wei Jin Date: Thu, 28 Apr 2016 11:00:48 +0000 (+0800) Subject: fast dispatch heartbeat message X-Git-Tag: v10.2.4~100^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0b93a9a1e7929bc0709ec139fbc6686783f99044;p=ceph.git fast dispatch heartbeat message Signed-off-by: Wei Jin (cherry picked from commit 6f1f717446314618db7a165c75dfd6a76a01f55e) --- diff --git a/src/osd/OSD.h b/src/osd/OSD.h index 79a0d17aac86..1d918ff57e03 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -1598,6 +1598,20 @@ public: struct HeartbeatDispatcher : public Dispatcher { OSD *osd; explicit HeartbeatDispatcher(OSD *o) : Dispatcher(o->cct), osd(o) {} + + bool ms_can_fast_dispatch_any() const { return true; } + bool ms_can_fast_dispatch(Message *m) const { + switch (m->get_type()) { + case CEPH_MSG_PING: + case MSG_OSD_PING: + return true; + default: + return false; + } + } + void ms_fast_dispatch(Message *m) { + osd->heartbeat_dispatch(m); + } bool ms_dispatch(Message *m) { return osd->heartbeat_dispatch(m); }