| To: | "David S. Miller" <davem@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH] Make netif_rx_ni preempt-safe |
| From: | Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> |
| Date: | Thu, 21 Oct 2004 10:35:03 +1000 |
| Cc: | Denis Vlasenko <vda@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>, rlrevell@xxxxxxxxxxx, akpm@xxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxxxxxx, maxk@xxxxxxxxxxxx, irda-users@xxxxxxxxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx, alain@xxxxxxxxxxxxxxx |
| In-reply-to: | <20041020171508.0e947d08.davem@davemloft.net> |
| References: | <1098230132.23628.28.camel@krustophenia.net> <200410202256.56636.vda@port.imtp.ilyichevsk.odessa.ua> <1098303951.2268.8.camel@krustophenia.net> <200410202332.33583.vda@port.imtp.ilyichevsk.odessa.ua> <20041020171508.0e947d08.davem@davemloft.net> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
| User-agent: | Mutt/1.5.6+20040722i |
On Wed, Oct 20, 2004 at 05:15:08PM -0700, David S. Miller wrote:
>
> +int netif_rx_ni(struct sk_buff *skb)
> +{
> + int err = netif_rx(skb);
> +
> + preempt_disable();
> + if (softirq_pending(smp_processor_id()))
> + do_softirq();
You need to move the netif_rx call inside the disable as otherwise
you might be checking the pending flag on the wrong CPU.
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] Make netif_rx_ni preempt-safe, David S. Miller |
|---|---|
| Next by Date: | Re: [PATCH] Change masquerade code to use first IP address of interface., Rusty Russell |
| Previous by Thread: | Re: [PATCH] Make netif_rx_ni preempt-safe, David S. Miller |
| Next by Thread: | Re: [PATCH] Make netif_rx_ni preempt-safe, David S. Miller |
| Indexes: | [Date] [Thread] [Top] [All Lists] |