From: Casey Bodley Date: Fri, 8 May 2015 16:16:20 +0000 (-0400) Subject: xio: use ceph clock for timestamps X-Git-Tag: v9.0.2~106^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=16d1c1e97d6a4bc04faaadc3fd82cd55320fa090;p=ceph.git xio: use ceph clock for timestamps accelio is using rdtsc to generate xio_msg.timestamp, which can't be reliably converted to a timeval. now uses ceph_clock_now() to assign the Message::recv_stamp and recv_complete_stamp Signed-off-by: Casey Bodley --- diff --git a/src/msg/xio/XioConnection.cc b/src/msg/xio/XioConnection.cc index 83784955c012..950ccfd47c1d 100644 --- a/src/msg/xio/XioConnection.cc +++ b/src/msg/xio/XioConnection.cc @@ -184,8 +184,6 @@ int XioConnection::passive_setup() return (0); } -#define uint_to_timeval(tv, s) ((tv).tv_sec = (s), (tv).tv_usec = 0) - static inline XioDispatchHook* pool_alloc_xio_dispatch_hook( XioConnection *xcon, Message *m, XioInSeq& msg_seq) { @@ -247,7 +245,7 @@ int XioConnection::on_msg_req(struct xio_session *session, ceph_msg_footer footer; buffer::list payload, middle, data; - struct timeval t1, t2; + const utime_t recv_stamp = ceph_clock_now(msgr->cct); ldout(msgr->cct,4) << __func__ << " " << "msg_seq.size()=" << msg_seq.size() << dendl; @@ -258,8 +256,6 @@ int XioConnection::on_msg_req(struct xio_session *session, buffer::create_static(treq->in.header.iov_len, (char*) treq->in.header.iov_base)); - uint_to_timeval(t1, treq->timestamp); - if (magic & (MSG_MAGIC_TRACE_XCON)) { if (hdr.hdr->type == 43) { print_xio_msg_hdr(msgr->cct, "on_msg_req", hdr, NULL); @@ -370,8 +366,6 @@ int XioConnection::on_msg_req(struct xio_session *session, } } - uint_to_timeval(t2, treq->timestamp); - /* update connection timestamp */ recv.set(treq->timestamp); @@ -391,8 +385,8 @@ int XioConnection::on_msg_req(struct xio_session *session, m->set_magic(magic); /* update timestamps */ - m->set_recv_stamp(t1); - m->set_recv_complete_stamp(t2); + m->set_recv_stamp(recv_stamp); + m->set_recv_complete_stamp(ceph_clock_now(msgr->cct)); m->set_seq(header.seq); /* MP-SAFE */