These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / staging / lustre / lnet / selftest / conrpc.c
index 77f02b7..64a0335 100644 (file)
@@ -40,7 +40,6 @@
  * Author: Liang Zhen <liang@whamcloud.com>
  */
 
-
 #include "../../include/linux/libcfs/libcfs.h"
 #include "../../include/linux/lnet/lib-lnet.h"
 #include "timer.h"
@@ -117,8 +116,8 @@ static int
 lstcon_rpc_prep(lstcon_node_t *nd, int service, unsigned feats,
                int bulk_npg, int bulk_len, lstcon_rpc_t **crpcpp)
 {
-       lstcon_rpc_t  *crpc = NULL;
-       int         rc;
+       lstcon_rpc_t *crpc = NULL;
+       int rc;
 
        spin_lock(&console_session.ses_rpc_lock);
 
@@ -151,7 +150,7 @@ void
 lstcon_rpc_put(lstcon_rpc_t *crpc)
 {
        srpc_bulk_t *bulk = &crpc->crp_rpc->crpc_bulk;
-       int       i;
+       int i;
 
        LASSERT(list_empty(&crpc->crp_link));
 
@@ -336,8 +335,8 @@ lstcon_rpc_trans_check(lstcon_rpc_trans_t *trans)
 int
 lstcon_rpc_trans_postwait(lstcon_rpc_trans_t *trans, int timeout)
 {
-       lstcon_rpc_t  *crpc;
-       int         rc;
+       lstcon_rpc_t *crpc;
+       int rc;
 
        if (list_empty(&trans->tas_rpcs_list))
                return 0;
@@ -386,8 +385,8 @@ lstcon_rpc_trans_postwait(lstcon_rpc_trans_t *trans, int timeout)
 static int
 lstcon_rpc_get_reply(lstcon_rpc_t *crpc, srpc_msg_t **msgpp)
 {
-       lstcon_node_t   *nd  = crpc->crp_node;
-       srpc_client_rpc_t    *rpc = crpc->crp_rpc;
+       lstcon_node_t *nd  = crpc->crp_node;
+       srpc_client_rpc_t *rpc = crpc->crp_rpc;
        srpc_generic_reply_t *rep;
 
        LASSERT(nd != NULL && rpc != NULL);
@@ -423,9 +422,9 @@ lstcon_rpc_get_reply(lstcon_rpc_t *crpc, srpc_msg_t **msgpp)
 void
 lstcon_rpc_trans_stat(lstcon_rpc_trans_t *trans, lstcon_trans_stat_t *stat)
 {
-       lstcon_rpc_t      *crpc;
-       srpc_msg_t      *rep;
-       int             error;
+       lstcon_rpc_t  *crpc;
+       srpc_msg_t *rep;
+       int error;
 
        LASSERT(stat != NULL);
 
@@ -470,16 +469,16 @@ lstcon_rpc_trans_interpreter(lstcon_rpc_trans_t *trans,
                             struct list_head *head_up,
                             lstcon_rpc_readent_func_t readent)
 {
-       struct list_head            tmp;
-       struct list_head           *next;
-       lstcon_rpc_ent_t     *ent;
+       struct list_head tmp;
+       struct list_head *next;
+       lstcon_rpc_ent_t *ent;
        srpc_generic_reply_t *rep;
-       lstcon_rpc_t     *crpc;
-       srpc_msg_t         *msg;
-       lstcon_node_t   *nd;
-       long    dur;
-       struct timeval  tv;
-       int                error;
+       lstcon_rpc_t *crpc;
+       srpc_msg_t *msg;
+       lstcon_node_t *nd;
+       long dur;
+       struct timeval tv;
+       int error;
 
        LASSERT(head_up != NULL);
 
@@ -505,7 +504,7 @@ lstcon_rpc_trans_interpreter(lstcon_rpc_trans_t *trans,
 
                dur = (long)cfs_time_sub(crpc->crp_stamp,
                      (unsigned long)console_session.ses_id.ses_stamp);
-               cfs_duration_usec(dur, &tv);
+               jiffies_to_timeval(dur, &tv);
 
                if (copy_to_user(&ent->rpe_peer,
                                     &nd->nd_id, sizeof(lnet_process_id_t)) ||
@@ -544,9 +543,9 @@ void
 lstcon_rpc_trans_destroy(lstcon_rpc_trans_t *trans)
 {
        srpc_client_rpc_t *rpc;
-       lstcon_rpc_t      *crpc;
-       lstcon_rpc_t      *tmp;
-       int             count = 0;
+       lstcon_rpc_t *crpc;
+       lstcon_rpc_t *tmp;
+       int count = 0;
 
        list_for_each_entry_safe(crpc, tmp, &trans->tas_rpcs_list,
                                 crp_link) {
@@ -601,7 +600,7 @@ lstcon_sesrpc_prep(lstcon_node_t *nd, int transop,
 {
        srpc_mksn_reqst_t *msrq;
        srpc_rmsn_reqst_t *rsrq;
-       int             rc;
+       int rc;
 
        switch (transop) {
        case LST_TRANS_SESNEW:
@@ -638,7 +637,7 @@ int
 lstcon_dbgrpc_prep(lstcon_node_t *nd, unsigned feats, lstcon_rpc_t **crpc)
 {
        srpc_debug_reqst_t *drq;
-       int                 rc;
+       int rc;
 
        rc = lstcon_rpc_prep(nd, SRPC_SERVICE_DEBUG, feats, 0, 0, crpc);
        if (rc != 0)
@@ -707,7 +706,7 @@ static lnet_process_id_packed_t *
 lstcon_next_id(int idx, int nkiov, lnet_kiov_t *kiov)
 {
        lnet_process_id_packed_t *pid;
-       int                    i;
+       int i;
 
        i = idx / SFW_ID_PER_PAGE;
 
@@ -723,11 +722,11 @@ lstcon_dstnodes_prep(lstcon_group_t *grp, int idx,
                     int dist, int span, int nkiov, lnet_kiov_t *kiov)
 {
        lnet_process_id_packed_t *pid;
-       lstcon_ndlink_t   *ndl;
-       lstcon_node_t       *nd;
-       int                    start;
-       int                    end;
-       int                    i = 0;
+       lstcon_ndlink_t *ndl;
+       lstcon_node_t *nd;
+       int start;
+       int end;
+       int i = 0;
 
        LASSERT(dist >= 1);
        LASSERT(span >= 1);
@@ -777,8 +776,8 @@ lstcon_pingrpc_prep(lst_test_ping_param_t *param, srpc_test_reqst_t *req)
 {
        test_ping_req_t *prq = &req->tsr_u.ping;
 
-       prq->png_size   = param->png_size;
-       prq->png_flags  = param->png_flags;
+       prq->png_size  = param->png_size;
+       prq->png_flags = param->png_flags;
        /* TODO dest */
        return 0;
 }
@@ -788,9 +787,10 @@ lstcon_bulkrpc_v0_prep(lst_test_bulk_param_t *param, srpc_test_reqst_t *req)
 {
        test_bulk_req_t *brq = &req->tsr_u.bulk_v0;
 
-       brq->blk_opc    = param->blk_opc;
-       brq->blk_npg    = (param->blk_size + PAGE_CACHE_SIZE - 1) / PAGE_CACHE_SIZE;
-       brq->blk_flags  = param->blk_flags;
+       brq->blk_opc   = param->blk_opc;
+       brq->blk_npg   = (param->blk_size + PAGE_CACHE_SIZE - 1) /
+                         PAGE_CACHE_SIZE;
+       brq->blk_flags = param->blk_flags;
 
        return 0;
 }
@@ -816,7 +816,7 @@ lstcon_testrpc_prep(lstcon_node_t *nd, int transop, unsigned feats,
        lstcon_group_t    *dgrp = test->tes_dst_grp;
        srpc_test_reqst_t *trq;
        srpc_bulk_t       *bulk;
-       int             i;
+       int                i;
        int                npg = 0;
        int                nob = 0;
        int                rc  = 0;
@@ -835,8 +835,10 @@ lstcon_testrpc_prep(lstcon_node_t *nd, int transop, unsigned feats,
        trq  = &(*crpc)->crp_rpc->crpc_reqstmsg.msg_body.tes_reqst;
 
        if (transop == LST_TRANS_TSBSRVADD) {
-               int ndist = (sgrp->grp_nnode + test->tes_dist - 1) / test->tes_dist;
-               int nspan = (dgrp->grp_nnode + test->tes_span - 1) / test->tes_span;
+               int ndist = (sgrp->grp_nnode + test->tes_dist - 1) /
+                           test->tes_dist;
+               int nspan = (dgrp->grp_nnode + test->tes_span - 1) /
+                           test->tes_span;
                int nmax = (ndist + nspan - 1) / nspan;
 
                trq->tsr_ndest = 0;
@@ -851,13 +853,14 @@ lstcon_testrpc_prep(lstcon_node_t *nd, int transop, unsigned feats,
                        LASSERT(nob > 0);
 
                        len = (feats & LST_FEAT_BULK_LEN) == 0 ?
-                             PAGE_CACHE_SIZE : min_t(int, nob, PAGE_CACHE_SIZE);
+                             PAGE_CACHE_SIZE :
+                             min_t(int, nob, PAGE_CACHE_SIZE);
                        nob -= len;
 
                        bulk->bk_iovs[i].kiov_offset = 0;
                        bulk->bk_iovs[i].kiov_len    = len;
                        bulk->bk_iovs[i].kiov_page   =
-                               alloc_page(GFP_IOFS);
+                               alloc_page(GFP_KERNEL);
 
                        if (bulk->bk_iovs[i].kiov_page == NULL) {
                                lstcon_rpc_put(*crpc);
@@ -883,8 +886,8 @@ lstcon_testrpc_prep(lstcon_node_t *nd, int transop, unsigned feats,
                trq->tsr_loop  = test->tes_loop;
        }
 
-       trq->tsr_sid    = console_session.ses_id;
-       trq->tsr_bid    = test->tes_hdr.tsb_id;
+       trq->tsr_sid        = console_session.ses_id;
+       trq->tsr_bid        = test->tes_hdr.tsb_id;
        trq->tsr_concur     = test->tes_concur;
        trq->tsr_is_client  = (transop == LST_TRANS_TSBCLIADD) ? 1 : 0;
        trq->tsr_stop_onerr = !!test->tes_stop_onerr;
@@ -966,7 +969,7 @@ lstcon_rpc_stat_reply(lstcon_rpc_trans_t *trans, srpc_msg_t *msg,
        srpc_batch_reply_t *bat_rep;
        srpc_test_reply_t  *test_rep;
        srpc_stat_reply_t  *stat_rep;
-       int              rc = 0;
+       int                rc = 0;
 
        switch (trans->tas_opc) {
        case LST_TRANS_SESNEW:
@@ -1084,11 +1087,11 @@ lstcon_rpc_trans_ndlist(struct list_head *ndlist,
                        lstcon_rpc_trans_t **transpp)
 {
        lstcon_rpc_trans_t *trans;
-       lstcon_ndlink_t    *ndl;
-       lstcon_node_t      *nd;
-       lstcon_rpc_t       *rpc;
-       unsigned            feats;
-       int              rc;
+       lstcon_ndlink_t *ndl;
+       lstcon_node_t *nd;
+       lstcon_rpc_t *rpc;
+       unsigned feats;
+       int rc;
 
        /* Creating session RPG for list of nodes */
 
@@ -1165,16 +1168,16 @@ lstcon_rpc_trans_ndlist(struct list_head *ndlist,
 static void
 lstcon_rpc_pinger(void *arg)
 {
-       stt_timer_t     *ptimer = (stt_timer_t *)arg;
+       stt_timer_t *ptimer = (stt_timer_t *)arg;
        lstcon_rpc_trans_t *trans;
-       lstcon_rpc_t       *crpc;
-       srpc_msg_t       *rep;
+       lstcon_rpc_t *crpc;
+       srpc_msg_t *rep;
        srpc_debug_reqst_t *drq;
-       lstcon_ndlink_t    *ndl;
-       lstcon_node_t      *nd;
-       time_t        intv;
-       int              count = 0;
-       int              rc;
+       lstcon_ndlink_t *ndl;
+       lstcon_node_t *nd;
+       int intv;
+       int count = 0;
+       int rc;
 
        /* RPC pinger is a special case of transaction,
         * it's called by timer at 8 seconds interval.
@@ -1187,8 +1190,8 @@ lstcon_rpc_pinger(void *arg)
        }
 
        if (!console_session.ses_expired &&
-           get_seconds() - console_session.ses_laststamp >
-           (time_t)console_session.ses_timeout)
+           ktime_get_real_seconds() - console_session.ses_laststamp >
+           (time64_t)console_session.ses_timeout)
                console_session.ses_expired = 1;
 
        trans = console_session.ses_ping;
@@ -1244,9 +1247,8 @@ lstcon_rpc_pinger(void *arg)
                if (nd->nd_state != LST_NODE_ACTIVE)
                        continue;
 
-               intv = cfs_duration_sec(cfs_time_sub(cfs_time_current(),
-                                                    nd->nd_stamp));
-               if (intv < (time_t)nd->nd_timeout / 2)
+               intv = (jiffies - nd->nd_stamp) / HZ;
+               if (intv < nd->nd_timeout / 2)
                        continue;
 
                rc = lstcon_rpc_init(nd, SRPC_SERVICE_DEBUG,
@@ -1274,7 +1276,7 @@ lstcon_rpc_pinger(void *arg)
 
        CDEBUG(D_NET, "Ping %d nodes in session\n", count);
 
-       ptimer->stt_expires = (unsigned long)(get_seconds() + LST_PING_INTERVAL);
+       ptimer->stt_expires = ktime_get_real_seconds() + LST_PING_INTERVAL;
        stt_add_timer(ptimer);
 
        mutex_unlock(&console_session.ses_mutex);
@@ -1283,8 +1285,8 @@ lstcon_rpc_pinger(void *arg)
 int
 lstcon_rpc_pinger_start(void)
 {
-       stt_timer_t    *ptimer;
-       int          rc;
+       stt_timer_t *ptimer;
+       int rc;
 
        LASSERT(list_empty(&console_session.ses_rpc_freelist));
        LASSERT(atomic_read(&console_session.ses_rpc_counter) == 0);
@@ -1297,7 +1299,7 @@ lstcon_rpc_pinger_start(void)
        }
 
        ptimer = &console_session.ses_ping_timer;
-       ptimer->stt_expires = (unsigned long)(get_seconds() + LST_PING_INTERVAL);
+       ptimer->stt_expires = ktime_get_real_seconds() + LST_PING_INTERVAL;
 
        stt_add_timer(ptimer);
 
@@ -1324,9 +1326,9 @@ void
 lstcon_rpc_cleanup_wait(void)
 {
        lstcon_rpc_trans_t *trans;
-       lstcon_rpc_t       *crpc;
-       struct list_head         *pacer;
-       struct list_head          zlist;
+       lstcon_rpc_t *crpc;
+       struct list_head *pacer;
+       struct list_head zlist;
 
        /* Called with hold of global mutex */