netdev
[Top] [All Lists]

[PATCH 29/34] net/shaper: replace sleep_on() with wait_event()

To: alan@xxxxxxxxxx
Subject: [PATCH 29/34] net/shaper: replace sleep_on() with wait_event()
From: Nishanth Aravamudan <nacc@xxxxxxxxxx>
Date: Tue, 25 Jan 2005 16:37:32 -0800
Cc: netdev@xxxxxxxxxxx, kernel-janitors@xxxxxxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.6+20040907i
Hi,

Please consider applying.

Description: Use wait_event() instead of the deprecated sleep_on().
Move the in_interrupt() check outside loop, as I do not believe the
process context should change once execution has begun. Patch is
compile-tested.

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

--- 2.6.11-rc2-kj-v/drivers/net/shaper.c        2005-01-24 09:34:10.000000000 
-0800
+++ 2.6.11-rc2-kj/drivers/net/shaper.c  2005-01-25 11:44:13.000000000 -0800
@@ -83,6 +83,7 @@
 #include <linux/if_arp.h>
 #include <linux/init.h>
 #include <linux/if_shaper.h>
+#include <linux/wait.h>
 
 #include <net/dst.h>
 #include <net/arp.h>
@@ -109,14 +110,9 @@ static int shaper_lock(struct shaper *sh
        /*
         *      Lock in an interrupt must fail
         */
-       while (test_and_set_bit(0, &sh->locked))
-       {
-               if (!in_interrupt())
-                       sleep_on(&sh->wait_queue);
-               else
-                       return 0;
-                       
-       }
+       if (in_interrupt())
+               return 0;
+       wait_event(sh->wait_queue, !test_and_set_bit(0, &sh->locked));
        return 1;
 }
 

<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH 29/34] net/shaper: replace sleep_on() with wait_event(), Nishanth Aravamudan <=