From: Wei Jin Date: Thu, 28 Apr 2016 11:00:48 +0000 (+0800) Subject: fast dispatch heartbeat message X-Git-Tag: v11.0.0~719^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6f1f717446314618db7a165c75dfd6a76a01f55e;p=ceph.git fast dispatch heartbeat message Signed-off-by: Wei Jin --- diff --git a/src/osd/OSD.h b/src/osd/OSD.h index 8a62ebbc1b2..3fb996b0902 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -1594,6 +1594,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); }