]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
SUNRPC: Simplify queue timeouts using timer_reduce()
authorTrond Myklebust <trondmy@gmail.com>
Sun, 7 Apr 2019 17:58:51 +0000 (13:58 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Thu, 25 Apr 2019 18:18:13 +0000 (14:18 -0400)
Simplify the setting of queue timeouts by using the timer_reduce()
function.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
include/linux/sunrpc/sched.h
net/sunrpc/sched.c

index c5ad02c7a4b335c49fb53e6edeee7e94c6f82cc4..bf9d6ee7f00fff9a0f5d6f58ad01dc76bd0156f0 100644 (file)
@@ -183,7 +183,6 @@ struct rpc_task_setup {
 struct rpc_timer {
        struct timer_list timer;
        struct list_head list;
-       unsigned long expires;
 };
 
 /*
index 40944c34a9e47ba6719ff81dde68085ddc31fb08..301e0f7f1dc98b191290ccc529d13da544eb47e6 100644 (file)
@@ -92,8 +92,7 @@ __rpc_disable_timer(struct rpc_wait_queue *queue, struct rpc_task *task)
 static void
 rpc_set_queue_timer(struct rpc_wait_queue *queue, unsigned long expires)
 {
-       queue->timer_list.expires = expires;
-       mod_timer(&queue->timer_list.timer, expires);
+       timer_reduce(&queue->timer_list.timer, expires);
 }
 
 /*
@@ -107,8 +106,7 @@ __rpc_add_timer(struct rpc_wait_queue *queue, struct rpc_task *task,
                task->tk_pid, jiffies_to_msecs(timeout - jiffies));
 
        task->tk_timeout = timeout;
-       if (list_empty(&queue->timer_list.list) || time_before(timeout, queue->timer_list.expires))
-               rpc_set_queue_timer(queue, timeout);
+       rpc_set_queue_timer(queue, timeout);
        list_add(&task->u.tk_wait.timer_list, &queue->timer_list.list);
 }