netdev
[Top] [All Lists]

RE: [2.6.5] Bad scheduling while atomic

To: "'Stephen Hemminger'" <shemminger@xxxxxxxx>, "'David S. Miller'" <davem@xxxxxxxxxx>
Subject: RE: [2.6.5] Bad scheduling while atomic
From: "Paul Rolland" <rol@xxxxxxxxxx>
Date: Sun, 18 Apr 2004 20:50:55 +0200
Cc: "'Paul Rolland'" <rol@xxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <netdev@xxxxxxxxxxx>
In-reply-to: <20040416131633.1bfbfa4c@dell_ss3.pdx.osdl.net>
Organization: AS2917
Reply-to: <rol@xxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
Thread-index: AcQj8N4vTSnSCAKNT3W50Gg+qBW/wgAAdfUg
Thanks Stephen for being so fast !

Regards,
Paul

Paul Rolland, rol(at)as2917.net
ex-AS2917 Network administrator and Peering Coordinator

--

Please no HTML, I'm not a browser - Pas d'HTML, je ne suis pas un navigateur

"Some people dream of success... while others wake up and work hard at it" 

  

> -----Message d'origine-----
> De : linux-kernel-owner@xxxxxxxxxxxxxxx 
> [mailto:linux-kernel-owner@xxxxxxxxxxxxxxx] De la part de 
> Stephen Hemminger
> Envoyé : vendredi 16 avril 2004 22:17
> À : David S. Miller
> Cc : Paul Rolland; linux-kernel@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxx
> Objet : Re: [2.6.5] Bad scheduling while atomic
> 
> Bring up/down network devices with lapbether causes scheduling while
> atomic (if preempt enabled).
> 
> The calls to rcu_read_lock are unnecessary since lapb_device_event 
> is called from notifier with the rtnetlink semaphore held, it is
> already protected from the labp_devices list changing.
> 
> Patch against 2.6.6-rc1
> 
> diff -Nru a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c
> --- a/drivers/net/wan/lapbether.c     Fri Apr 16 11:00:35 2004
> +++ b/drivers/net/wan/lapbether.c     Fri Apr 16 11:00:35 2004
> @@ -392,6 +392,8 @@
>  
>  /*
>   *   Handle device status changes.
> + *
> + * Called from notifier with RTNL held.
>   */
>  static int lapbeth_device_event(struct notifier_block *this,
>                               unsigned long event, void *ptr)
> @@ -402,7 +404,6 @@
>       if (!dev_is_ethdev(dev))
>               return NOTIFY_DONE;
>  
> -     rcu_read_lock();
>       switch (event) {
>       case NETDEV_UP:
>               /* New ethernet device -> new LAPB interface     */
> @@ -422,7 +423,6 @@
>                       lapbeth_free_device(lapbeth);
>               break;
>       }
> -     rcu_read_unlock();
>  
>       return NOTIFY_DONE;
>  }
> -
> To unsubscribe from this list: send the line "unsubscribe 
> linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 
> 




<Prev in Thread] Current Thread [Next in Thread>