netdev
[Top] [All Lists]

[PATCH 20/39] net/ip_vs_sync: replace schedule_timeout() with ssleep()

To: davem@xxxxxxxxxxxxx, kuznet@xxxxxxxxxxxxx, jmorris@xxxxxxxxxx, yoshfuji@xxxxxxxxxxxxxx, kaber@xxxxxxxxxxxx
Subject: [PATCH 20/39] net/ip_vs_sync: replace schedule_timeout() with ssleep()
From: Nishanth Aravamudan <nacc@xxxxxxxxxx>
Date: Thu, 20 Jan 2005 15:56:34 -0800
Cc: netdev@xxxxxxxxxxx, kernel-janitors@xxxxxxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.6+20040907i
Hi,

Please consider applying.

Description: Use ssleep() instead of schedule_timeout() to guarantee the task
delays as expected. The first two replacements use TASK_INTERRUPTIBLE but do not
check for signals, so ssleep() should be appropriate.

Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxx>

--- 2.6.11-rc1-kj-v/net/ipv4/ipvs/ip_vs_sync.c  2005-01-15 16:55:44.000000000 
-0800
+++ 2.6.11-rc1-kj/net/ipv4/ipvs/ip_vs_sync.c    2005-01-18 13:03:21.000000000 
-0800
@@ -23,7 +23,7 @@
 #include <linux/slab.h>
 #include <linux/net.h>
 #include <linux/completion.h>
-
+#include <linux/delay.h>
 #include <linux/skbuff.h>
 #include <linux/in.h>
 #include <linux/igmp.h>                 /* for ip_mc_join_group */
@@ -647,8 +647,7 @@ static void sync_master_loop(void)
                if (stop_master_sync)
                        break;
 
-               __set_current_state(TASK_INTERRUPTIBLE);
-               schedule_timeout(HZ);
+               ssleep(1);
        }
 
        /* clean up the sync_buff queue */
@@ -705,8 +704,7 @@ static void sync_backup_loop(void)
                if (stop_backup_sync)
                        break;
 
-               __set_current_state(TASK_INTERRUPTIBLE);
-               schedule_timeout(HZ);
+               ssleep(1);
        }
 
        /* release the sending multicast socket */
@@ -818,8 +816,7 @@ static int fork_sync_thread(void *startu
        if ((pid = kernel_thread(sync_thread, startup, 0)) < 0) {
                IP_VS_ERR("could not create sync_thread due to %d... "
                          "retrying.\n", pid);
-               current->state = TASK_UNINTERRUPTIBLE;
-               schedule_timeout(HZ);
+               ssleep(1);
                goto repeat;
        }
 
@@ -853,8 +850,7 @@ int start_sync_thread(int state, char *m
        if ((pid = kernel_thread(fork_sync_thread, &startup, 0)) < 0) {
                IP_VS_ERR("could not create fork_sync_thread due to %d... "
                          "retrying.\n", pid);
-               current->state = TASK_UNINTERRUPTIBLE;
-               schedule_timeout(HZ);
+               ssleep(1);
                goto repeat;
        }
 

<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH 20/39] net/ip_vs_sync: replace schedule_timeout() with ssleep(), Nishanth Aravamudan <=