LASSERT(conn->ibc_state >= IBLND_CONN_ESTABLISHED);
 
        tx->tx_queued = 1;
-       tx->tx_deadline = jiffies + (*kiblnd_tunables.kib_timeout * HZ);
+       tx->tx_deadline = jiffies +
+                         msecs_to_jiffies(*kiblnd_tunables.kib_timeout *
+                                          MSEC_PER_SEC);
 
        if (!tx->tx_conn) {
                kiblnd_conn_addref(conn);
                                             kiblnd_data.kib_peer_hash_size;
                        }
 
-                       deadline += p * HZ;
+                       deadline += msecs_to_jiffies(p * MSEC_PER_SEC);
                        spin_lock_irqsave(&kiblnd_data.kib_connd_lock, flags);
                }
 
 
 
        case IOC_LIBCFS_NOTIFY_ROUTER:
                secs_passed = (ktime_get_real_seconds() - data->ioc_u64[0]);
+               secs_passed *= msecs_to_jiffies(MSEC_PER_SEC);
+
                return lnet_notify(NULL, data->ioc_nid, data->ioc_flags,
-                                  jiffies - secs_passed * HZ);
+                                  jiffies - secs_passed);
 
        case IOC_LIBCFS_LNET_DIST:
                rc = LNetDist(data->ioc_nid, &data->ioc_nid, &data->ioc_u32[1]);
 
 lnet_sock_write(struct socket *sock, void *buffer, int nob, int timeout)
 {
        int rc;
-       long ticks = timeout * HZ;
+       long jiffies_left = timeout * msecs_to_jiffies(MSEC_PER_SEC);
        unsigned long then;
        struct timeval tv;
 
 
                if (timeout) {
                        /* Set send timeout to remaining time */
-                       tv = (struct timeval) {
-                               .tv_sec = ticks / HZ,
-                               .tv_usec = ((ticks % HZ) * 1000000) / HZ
-                       };
+                       jiffies_to_timeval(jiffies_left, &tv);
                        rc = kernel_setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO,
                                               (char *)&tv, sizeof(tv));
                        if (rc) {
 
                then = jiffies;
                rc = kernel_sendmsg(sock, &msg, &iov, 1, nob);
-               ticks -= jiffies - then;
+               jiffies_left -= jiffies - then;
 
                if (rc == nob)
                        return 0;
                        return -ECONNABORTED;
                }
 
-               if (ticks <= 0)
+               if (jiffies_left <= 0)
                        return -EAGAIN;
 
                buffer = ((char *)buffer) + rc;
 lnet_sock_read(struct socket *sock, void *buffer, int nob, int timeout)
 {
        int rc;
-       long ticks = timeout * HZ;
+       long jiffies_left = timeout * msecs_to_jiffies(MSEC_PER_SEC);
        unsigned long then;
        struct timeval tv;
 
        LASSERT(nob > 0);
-       LASSERT(ticks > 0);
+       LASSERT(jiffies_left > 0);
 
        for (;;) {
                struct kvec  iov = {
                };
 
                /* Set receive timeout to remaining time */
-               tv = (struct timeval) {
-                       .tv_sec = ticks / HZ,
-                       .tv_usec = ((ticks % HZ) * 1000000) / HZ
-               };
+               jiffies_to_timeval(jiffies_left, &tv);
                rc = kernel_setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO,
                                       (char *)&tv, sizeof(tv));
                if (rc) {
 
                then = jiffies;
                rc = kernel_recvmsg(sock, &msg, &iov, 1, nob, 0);
-               ticks -= jiffies - then;
+               jiffies_left -= jiffies - then;
 
                if (rc < 0)
                        return rc;
                if (!nob)
                        return 0;
 
-               if (ticks <= 0)
+               if (jiffies_left <= 0)
                        return -ETIMEDOUT;
        }
 }