Whamcloud - gitweb
LU-13005 lnet: eq: discard struct lnet_handle_eq
[fs/lustre-release.git] / lnet / selftest / ping_test.c
index f512036..ed16e13 100644 (file)
  *
  * You should have received a copy of the GNU General Public License
  * version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
+ * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * GPL HEADER END
  */
 
 #define LST_PING_TEST_MAGIC     0xbabeface
 
-int ping_srv_workitems = SFW_TEST_WI_MAX;
-CFS_MODULE_PARM(ping_srv_workitems, "i", int, 0644, "# PING server workitems");
+static int ping_srv_workitems = SFW_TEST_WI_MAX;
+module_param(ping_srv_workitems, int, 0644);
+MODULE_PARM_DESC(ping_srv_workitems, "# PING server workitems");
 
-typedef struct {
+struct lst_ping_data {
        spinlock_t      pnd_lock;       /* serialize */
        int             pnd_counter;    /* sequence counter */
-} lst_ping_data_t;
+};
 
-static lst_ping_data_t  lst_ping_data;
+static struct lst_ping_data lst_ping_data;
 
 static int
-ping_client_init(sfw_test_instance_t *tsi)
+ping_client_init(struct sfw_test_instance *tsi)
 {
-       sfw_session_t *sn = tsi->tsi_batch->bat_session;
+       struct sfw_session *sn = tsi->tsi_batch->bat_session;
 
        LASSERT(tsi->tsi_is_client);
        LASSERT(sn != NULL && (sn->sn_features & ~LST_FEATS_MASK) == 0);
@@ -69,9 +66,9 @@ ping_client_init(sfw_test_instance_t *tsi)
 }
 
 static void
-ping_client_fini (sfw_test_instance_t *tsi)
+ping_client_fini(struct sfw_test_instance *tsi)
 {
-        sfw_session_t *sn = tsi->tsi_batch->bat_session;
+       struct sfw_session *sn = tsi->tsi_batch->bat_session;
         int            errors;
 
         LASSERT (sn != NULL);
@@ -85,14 +82,14 @@ ping_client_fini (sfw_test_instance_t *tsi)
 }
 
 static int
-ping_client_prep_rpc(sfw_test_unit_t *tsu,
-                    lnet_process_id_t dest, srpc_client_rpc_t **rpc)
+ping_client_prep_rpc(struct sfw_test_unit *tsu, struct lnet_process_id dest,
+                    struct srpc_client_rpc **rpc)
 {
-       srpc_ping_reqst_t   *req;
-       sfw_test_instance_t *tsi = tsu->tsu_instance;
-       sfw_session_t       *sn  = tsi->tsi_batch->bat_session;
-       struct timeval       tv;
-       int                  rc;
+       struct srpc_ping_reqst *req;
+       struct sfw_test_instance *tsi = tsu->tsu_instance;
+       struct sfw_session *sn = tsi->tsi_batch->bat_session;
+       struct timespec64 ts;
+       int rc;
 
        LASSERT(sn != NULL);
        LASSERT((sn->sn_features & ~LST_FEATS_MASK) == 0);
@@ -109,23 +106,23 @@ ping_client_prep_rpc(sfw_test_unit_t *tsu,
        req->pnr_seq = lst_ping_data.pnd_counter++;
        spin_unlock(&lst_ping_data.pnd_lock);
 
-       cfs_fs_timeval(&tv);
-       req->pnr_time_sec  = tv.tv_sec;
-       req->pnr_time_usec = tv.tv_usec;
+       ktime_get_real_ts64(&ts);
+       req->pnr_time_sec  = ts.tv_sec;
+       req->pnr_time_nsec = ts.tv_nsec;
 
        return rc;
 }
 
 static void
-ping_client_done_rpc (sfw_test_unit_t *tsu, srpc_client_rpc_t *rpc)
+ping_client_done_rpc(struct sfw_test_unit *tsu, struct srpc_client_rpc *rpc)
 {
-        sfw_test_instance_t *tsi = tsu->tsu_instance;
-        sfw_session_t       *sn = tsi->tsi_batch->bat_session;
-        srpc_ping_reqst_t   *reqst = &rpc->crpc_reqstmsg.msg_body.ping_reqst;
-        srpc_ping_reply_t   *reply = &rpc->crpc_replymsg.msg_body.ping_reply;
-        struct timeval       tv;
+       struct sfw_test_instance *tsi = tsu->tsu_instance;
+       struct sfw_session *sn = tsi->tsi_batch->bat_session;
+       struct srpc_ping_reqst *reqst = &rpc->crpc_reqstmsg.msg_body.ping_reqst;
+       struct srpc_ping_reply *reply = &rpc->crpc_replymsg.msg_body.ping_reply;
+       struct timespec64 ts;
 
-        LASSERT (sn != NULL);
+       LASSERT(sn != NULL);
 
         if (rpc->crpc_status != 0) {
                 if (!tsi->tsi_stopping) /* rpc could have been aborted */
@@ -160,21 +157,20 @@ ping_client_done_rpc (sfw_test_unit_t *tsu, srpc_client_rpc_t *rpc)
                 return;
         }
 
-        cfs_fs_timeval(&tv);
-        CDEBUG (D_NET, "%d reply in %u usec\n", reply->pnr_seq,
-                (unsigned)((tv.tv_sec - (unsigned)reqst->pnr_time_sec) * 1000000
-                           + (tv.tv_usec - reqst->pnr_time_usec)));
-        return;
+       ktime_get_real_ts64(&ts);
+       CDEBUG(D_NET, "%d reply in %llu nsec\n", reply->pnr_seq,
+              (u64)((ts.tv_sec - reqst->pnr_time_sec) * NSEC_PER_SEC +
+                   (ts.tv_nsec - reqst->pnr_time_nsec)));
 }
 
 static int
 ping_server_handle(struct srpc_server_rpc *rpc)
 {
-       struct srpc_service     *sv  = rpc->srpc_scd->scd_svc;
-        srpc_msg_t        *reqstmsg = &rpc->srpc_reqstbuf->buf_msg;
-       srpc_msg_t        *replymsg = &rpc->srpc_replymsg;
-        srpc_ping_reqst_t *req = &reqstmsg->msg_body.ping_reqst;
-        srpc_ping_reply_t *rep = &rpc->srpc_replymsg.msg_body.ping_reply;
+       struct srpc_service *sv  = rpc->srpc_scd->scd_svc;
+       struct srpc_msg *reqstmsg = &rpc->srpc_reqstbuf->buf_msg;
+       struct srpc_msg *replymsg = &rpc->srpc_replymsg;
+       struct srpc_ping_reqst *req = &reqstmsg->msg_body.ping_reqst;
+       struct srpc_ping_reply *rep = &rpc->srpc_replymsg.msg_body.ping_reply;
 
         LASSERT (sv->sv_id == SRPC_SERVICE_PING);
 
@@ -184,7 +180,7 @@ ping_server_handle(struct srpc_server_rpc *rpc)
                 __swab32s(&req->pnr_seq);
                 __swab32s(&req->pnr_magic);
                 __swab64s(&req->pnr_time_sec);
-                __swab64s(&req->pnr_time_usec);
+               __swab64s(&req->pnr_time_nsec);
         }
         LASSERT (reqstmsg->msg_type == srpc_service2request(sv->sv_id));
 
@@ -210,7 +206,8 @@ ping_server_handle(struct srpc_server_rpc *rpc)
        return 0;
 }
 
-sfw_test_client_ops_t ping_test_client;
+struct sfw_test_client_ops ping_test_client;
+
 void ping_init_test_client(void)
 {
         ping_test_client.tso_init     = ping_client_init;
@@ -219,7 +216,8 @@ void ping_init_test_client(void)
         ping_test_client.tso_done_rpc = ping_client_done_rpc;
 }
 
-srpc_service_t ping_test_service;
+struct srpc_service ping_test_service;
+
 void ping_init_test_service(void)
 {
        ping_test_service.sv_id       = SRPC_SERVICE_PING;