]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
msg/async: fix bug of data type conversion in do_request()
authorshangfufei <shangfufei@inspur.com>
Tue, 10 Oct 2017 06:00:08 +0000 (14:00 +0800)
committershangfufei <shangfufei@inspur.com>
Wed, 11 Oct 2017 06:46:26 +0000 (14:46 +0800)
Signed-off-by: shangfufei <shangfufei@inspur.com>
16 files changed:
src/msg/async/AsyncConnection.cc
src/msg/async/AsyncConnection.h
src/msg/async/AsyncMessenger.cc
src/msg/async/Event.cc
src/msg/async/Event.h
src/msg/async/Stack.cc
src/msg/async/dpdk/ARP.h
src/msg/async/dpdk/DPDK.cc
src/msg/async/dpdk/IP.cc
src/msg/async/dpdk/Packet.cc
src/msg/async/dpdk/TCP.h
src/msg/async/dpdk/net.cc
src/msg/async/rdma/RDMAStack.h
src/test/msgr/test_async_driver.cc
src/test/msgr/test_async_networkstack.cc
src/test/perf_local.cc

index ce76f1508834c9f99d18fa3fa2af42be810ee2eb..9afbbe07aca1d7c8bea15aec0e7613e7cb882824 100644 (file)
@@ -52,7 +52,7 @@ class C_time_wakeup : public EventCallback {
 
  public:
   explicit C_time_wakeup(AsyncConnectionRef c): conn(c) {}
-  void do_request(int fd_or_id) override {
+  void do_request(uint64_t fd_or_id) override {
     conn->wakeup_from(fd_or_id);
   }
 };
@@ -62,7 +62,7 @@ class C_handle_read : public EventCallback {
 
  public:
   explicit C_handle_read(AsyncConnectionRef c): conn(c) {}
-  void do_request(int fd_or_id) override {
+  void do_request(uint64_t fd_or_id) override {
     conn->process();
   }
 };
@@ -72,7 +72,7 @@ class C_handle_write : public EventCallback {
 
  public:
   explicit C_handle_write(AsyncConnectionRef c): conn(c) {}
-  void do_request(int fd) override {
+  void do_request(uint64_t fd) override {
     conn->handle_write();
   }
 };
@@ -81,7 +81,7 @@ class C_clean_handler : public EventCallback {
   AsyncConnectionRef conn;
  public:
   explicit C_clean_handler(AsyncConnectionRef c): conn(c) {}
-  void do_request(int id) override {
+  void do_request(uint64_t id) override {
     conn->cleanup();
     delete this;
   }
@@ -92,7 +92,7 @@ class C_tick_wakeup : public EventCallback {
 
  public:
   explicit C_tick_wakeup(AsyncConnectionRef c): conn(c) {}
-  void do_request(int fd_or_id) override {
+  void do_request(uint64_t fd_or_id) override {
     conn->tick(fd_or_id);
   }
 };
@@ -2351,7 +2351,7 @@ void AsyncConnection::handle_ack(uint64_t seq)
   }
 }
 
-void AsyncConnection::DelayedDelivery::do_request(int id)
+void AsyncConnection::DelayedDelivery::do_request(uint64_t id)
 {
   Message *m = nullptr;
   {
index ab2ff2c4ab05054a8a2b579d0eed26c33a97f9ad..405dc26d085b19ae8a302b449458111addbf8bf9 100644 (file)
@@ -158,7 +158,7 @@ class AsyncConnection : public Connection {
       assert(delay_queue.empty());
     }
     void set_center(EventCenter *c) { center = c; }
-    void do_request(int id) override;
+    void do_request(uint64_t id) override;
     void queue(double delay_period, utime_t release, Message *m) {
       std::lock_guard<std::mutex> l(delay_lock);
       delay_queue.push_back(std::make_pair(release, m));
index 71690aeb04e41d259154cee3f194ffe4d749f483..3e75d80ebdb2e6376e2822cd2bc12932a2421b98 100644 (file)
@@ -50,7 +50,7 @@ class Processor::C_processor_accept : public EventCallback {
 
  public:
   explicit C_processor_accept(Processor *p): pro(p) {}
-  void do_request(int id) override {
+  void do_request(uint64_t id) override {
     pro->accept();
   }
 };
@@ -232,7 +232,7 @@ class C_handle_reap : public EventCallback {
 
   public:
   explicit C_handle_reap(AsyncMessenger *m): msgr(m) {}
-  void do_request(int id) override {
+  void do_request(uint64_t id) override {
     // judge whether is a time event
     msgr->reap_dead();
   }
index 92d7f73b5c420e3850c94db1f547af821228f13f..eb93074108b710532d893e1a3a35e94fdf475184 100644 (file)
@@ -41,7 +41,7 @@ class C_handle_notify : public EventCallback {
 
  public:
   C_handle_notify(EventCenter *c, CephContext *cc): center(c), cct(cc) {}
-  void do_request(int fd_or_id) override {
+  void do_request(uint64_t fd_or_id) override {
     char c[256];
     int r = 0;
     do {
index b4743c1b278d223a570251e449f11726c3392b9c..c21e4f3ae911cbd4fe486caf76705af0c7bd677b 100644 (file)
@@ -54,7 +54,7 @@ class EventCenter;
 class EventCallback {
 
  public:
-  virtual void do_request(int fd_or_id) = 0;
+  virtual void do_request(uint64_t fd_or_id) = 0;
   virtual ~EventCallback() {}       // we want a virtual destructor!!!
 };
 
@@ -223,7 +223,7 @@ class EventCenter {
    public:
     C_submit_event(func &&_f, bool nw)
       : f(std::move(_f)), nonwait(nw) {}
-    void do_request(int id) override {
+    void do_request(uint64_t id) override {
       f();
       lock.lock();
       cond.notify_all();
index 8a68cf0ecaa556ca61a8afb40ee7656575c49154..a03ac340aa07961ef7340fc3af0d714c928b58f5 100644 (file)
@@ -190,7 +190,7 @@ class C_drain : public EventCallback {
   explicit C_drain(size_t c)
       : drain_lock("C_drain::drain_lock"),
         drain_count(c) {}
-  void do_request(int id) override {
+  void do_request(uint64_t id) override {
     Mutex::Locker l(drain_lock);
     drain_count--;
     if (drain_count == 0) drain_cond.Signal();
index 2b34ebf1f2341dcc0b46c1f326757da73390ef38..ecfa7b891b8940b946b14a9b164c0c3701af3ccc 100644 (file)
@@ -161,7 +161,7 @@ class arp_for : public arp_for_protocol {
    public:
     C_handle_arp_timeout(arp_for *a, l3addr addr, bool first):
         arp(a), paddr(addr), first_request(first) {}
-    void do_request(int r) {
+    void do_request(uint64_t r) {
       arp->send_query(paddr);
       auto &res = arp->_in_progress[paddr];
 
index 8da12c3fd35eedb3bf938677a14a334fd2abeb1e..aaa836401fd3a006345764b1f4f3705d525e82de 100644 (file)
@@ -601,7 +601,7 @@ class C_handle_dev_stats : public EventCallback {
   DPDKQueuePair *_qp;
  public:
   C_handle_dev_stats(DPDKQueuePair *qp): _qp(qp) { }
-  void do_request(int id) {
+  void do_request(uint64_t id) {
     _qp->handle_stats();
   }
 };
index 9f36d2eafffdd208d2eb7caeb87218b1ccb22257..c14cd025715f707ae53bc04636b6aaca215ff604 100644 (file)
@@ -63,7 +63,7 @@ class C_handle_frag_timeout : public EventCallback {
 
  public:
   C_handle_frag_timeout(ipv4 *i): _ipv4(i) {}
-  void do_request(int fd_or_id) {
+  void do_request(uint64_t fd_or_id) {
     _ipv4->frag_timeout();
   }
 };
index eb4a5dc4ab155c03e8f1bf4d98c42af9153ce885..6c2320a01aead63548b97ce2924b2722c5c2f50a 100644 (file)
@@ -79,7 +79,7 @@ class C_free_on_cpu : public EventCallback {
  public:
   C_free_on_cpu(deleter &&d, std::function<void()> &&c):
       del(std::move(d)), cb(std::move(c)) {}
-  void do_request(int fd) {
+  void do_request(uint64_t fd) {
     // deleter needs to be moved from lambda capture to be destroyed here
     // otherwise deleter destructor will be called on a cpu that called
     // create_external_event when work_item is destroyed.
index 3eab5a5b9b92db662fe26fa2fe482f5879043895..c1d64bc52572256b2e99a1bd396b75823a834fa1 100644 (file)
@@ -235,7 +235,7 @@ class tcp {
 
    public:
     C_handle_delayed_ack(tcb *t): tc(t) { }
-    void do_request(int r) {
+    void do_request(uint64_t r) {
       tc->_nr_full_seg_received = 0;
       tc->output();
     }
@@ -246,7 +246,7 @@ class tcp {
 
    public:
     C_handle_retransmit(tcb *t): tc(t) { }
-    void do_request(int r) {
+    void do_request(uint64_t r) {
       tc->retransmit();
     }
   };
@@ -256,7 +256,7 @@ class tcp {
 
    public:
     C_handle_persist(tcb *t): tc(t) { }
-    void do_request(int r) {
+    void do_request(uint64_t r) {
       tc->persist();
     }
   };
@@ -266,7 +266,7 @@ class tcp {
 
    public:
     C_all_data_acked(tcb *t): tc(t) {}
-    void do_request(int fd_or_id) {
+    void do_request(uint64_t fd_or_id) {
       tc->close_final_cleanup();
     }
   };
@@ -275,7 +275,7 @@ class tcp {
     lw_shared_ptr<tcb> tc;
    public:
     C_actual_remove_tcb(tcb *t): tc(t->shared_from_this()) {}
-    void do_request(int r) {
+    void do_request(uint64_t r) {
       delete this;
     }
   };
index d09dfaa576cece8f39191d03ccd56a6024bca6c2..1799315ef3529b4b9603d971b65d6e89a190846f 100644 (file)
@@ -112,7 +112,7 @@ class C_handle_l2forward : public EventCallback {
  public:
   C_handle_l2forward(std::shared_ptr<DPDKDevice> &p, unsigned &qd, Packet pkt, unsigned target)
       : sdev(p), queue_depth(qd), p(std::move(pkt)), dst(target) {}
-  void do_request(int fd) {
+  void do_request(uint64_t fd) {
     sdev->l2receive(dst, std::move(p));
     queue_depth--;
     delete this;
@@ -184,7 +184,7 @@ class C_arp_learn : public EventCallback {
  public:
   C_arp_learn(DPDKWorker *w, ethernet_address l2, ipv4_address l3)
       : worker(w), l2_addr(l2), l3_addr(l3) {}
-  void do_request(int id) {
+  void do_request(uint64_t id) {
     worker->arp_learn(l2_addr, l3_addr);
     delete this;
   }
index 9673428db892c2b0d48b4b7657bd747fb5f4ea00..58d063a7883b738093c51a94d21424bb0020267d 100644 (file)
@@ -81,7 +81,7 @@ class RDMADispatcher {
     RDMADispatcher *dispatcher;
    public:
     C_handle_cq_async(RDMADispatcher *w): dispatcher(w) {}
-    void do_request(int fd) {
+    void do_request(uint64_t fd) {
       // worker->handle_tx_event();
       dispatcher->handle_async_event();
     }
@@ -139,7 +139,7 @@ class RDMAWorker : public Worker {
     RDMAWorker *worker;
     public:
     C_handle_cq_tx(RDMAWorker *w): worker(w) {}
-    void do_request(int fd) {
+    void do_request(uint64_t fd) {
       worker->handle_pending_message();
     }
   };
@@ -227,7 +227,7 @@ class RDMAConnectedSocketImpl : public ConnectedSocketImpl {
     bool active;
    public:
     C_handle_connection(RDMAConnectedSocketImpl *w): csi(w), active(true) {}
-    void do_request(int fd) {
+    void do_request(uint64_t fd) {
       if (active)
         csi->handle_connection();
     }
index 08399dd47d7a65ea4d0e7722aea79599141bca0b..0a2333618bf815467dee284e35f736070293c3d2 100644 (file)
@@ -254,7 +254,7 @@ TEST_P(EventDriverTest, NetworkSocketTest) {
 class FakeEvent : public EventCallback {
 
  public:
-  void do_request(int fd_or_id) override {}
+  void do_request(uint64_t fd_or_id) override {}
 };
 
 TEST(EventCenterTest, FileEventExpansion) {
@@ -302,7 +302,7 @@ class CountEvent: public EventCallback {
 
  public:
   CountEvent(std::atomic<unsigned> *atomic, Mutex *l, Cond *c): count(atomic), lock(l), cond(c) {}
-  void do_request(int id) override {
+  void do_request(uint64_t id) override {
     lock->Lock();
     (*count)--;
     cond->Signal();
index e876cc350890958052a7bd3808c3238fb2f7e931..4962cf8b8472338c2039c5acc0ab0a2e3bc9a2b7 100644 (file)
@@ -83,7 +83,7 @@ class NetworkWorkerTest : public ::testing::TestWithParam<const char*> {
     std::atomic_bool done;
    public:
     C_dispatch(Worker *w, func &&_f): worker(w), f(std::move(_f)), done(false) {}
-    void do_request(int id) override {
+    void do_request(uint64_t id) override {
       f(worker);
       done = true;
     }
@@ -120,7 +120,7 @@ class C_poll : public EventCallback {
 
  public:
   C_poll(EventCenter *c): center(c), woken(false) {}
-  void do_request(int r) override {
+  void do_request(uint64_t r) override {
     woken = true;
   }
   bool poll(int milliseconds) {
@@ -626,7 +626,7 @@ class StressFactory {
     T *ctxt;
    public:
     C_delete(T *c): ctxt(c) {}
-    void do_request(int id) override {
+    void do_request(uint64_t id) override {
       delete ctxt;
       delete this;
     }
@@ -651,7 +651,7 @@ class StressFactory {
       Client *c;
      public:
       Client_read_handle(Client *_c): c(_c) {}
-      void do_request(int id) override {
+      void do_request(uint64_t id) override {
         c->do_read_request();
       }
     } read_ctxt;
@@ -660,7 +660,7 @@ class StressFactory {
       Client *c;
      public:
       Client_write_handle(Client *_c): c(_c) {}
-      void do_request(int id) override {
+      void do_request(uint64_t id) override {
         c->do_write_request();
       }
     } write_ctxt;
@@ -790,7 +790,7 @@ class StressFactory {
       Server *s;
      public:
       Server_read_handle(Server *_s): s(_s) {}
-      void do_request(int id) override {
+      void do_request(uint64_t id) override {
         s->do_read_request();
       }
     } read_ctxt;
@@ -799,7 +799,7 @@ class StressFactory {
       Server *s;
      public:
       Server_write_handle(Server *_s): s(_s) {}
-      void do_request(int id) override {
+      void do_request(uint64_t id) override {
         s->do_write_request();
       }
     } write_ctxt;
@@ -903,7 +903,7 @@ class StressFactory {
    public:
     C_accept(StressFactory *f, ServerSocket s, ThreadData *data, Worker *w)
         : factory(f), bind_socket(std::move(s)), t_data(data), worker(w) {}
-    void do_request(int id) override {
+    void do_request(uint64_t id) override {
       while (true) {
         entity_addr_t cli_addr;
         ConnectedSocket srv_socket;
index 47ef762557765613c92279b0cfd1943152f7f8af..fd21ee4f60ded3a3fd5a3ba40d30ec96e865aeaa 100644 (file)
@@ -488,7 +488,7 @@ class CountEvent: public EventCallback {
 
  public:
   explicit CountEvent(std::atomic<int64_t> *atomic): count(atomic) {}
-  void do_request(int id) override {
+  void do_request(uint64_t id) override {
     (*count)--;
   }
 };