Message ID | 4AD45447.7030705@gmail.com |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
From: Eric Dumazet <eric.dumazet@gmail.com> Date: Tue, 13 Oct 2009 12:19:51 +0200 > Quick fix would be to use dev_kfree_skb_any() instead, > because netpoll can definitly calls start_xmit() > with irq disabled. Indeed, because of netpoll(), that is something drivers must be able to cope with. > Could you please following patch ? Indeed, let us know how Eric's patch works. Thanks Eric! -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Eric Dumazet ha scritto: > Could you please following patch ? > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index 8d00976..54bf091 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -454,7 +454,7 @@ static unsigned int free_old_xmit_skbs(struct virtnet_info *vi) > vi->dev->stats.tx_bytes += skb->len; > vi->dev->stats.tx_packets++; > tot_sgs += skb_vnet_hdr(skb)->num_sg; > - kfree_skb(skb); > + dev_kfree_skb_any(skb); > } > return tot_sgs; > } > > > Thank you very much. Compiling. It' will be in production in a few minutes. I'll let you know if the problem arises again. give me a couple of days because this problem is randomly triggered. Sometimes it happens multiple times a day, sometimes none. Max -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Massimo Cetra ha scritto: > Eric Dumazet ha scritto: >> Could you please following patch ? >> >> diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c >> index 8d00976..54bf091 100644 >> --- a/drivers/net/virtio_net.c >> +++ b/drivers/net/virtio_net.c >> @@ -454,7 +454,7 @@ static unsigned int free_old_xmit_skbs(struct >> virtnet_info *vi) >> vi->dev->stats.tx_bytes += skb->len; >> vi->dev->stats.tx_packets++; >> tot_sgs += skb_vnet_hdr(skb)->num_sg; >> - kfree_skb(skb); >> + dev_kfree_skb_any(skb); >> } >> return tot_sgs; >> } >> >> >> > Thank you very much. > > Compiling. > It' will be in production in a few minutes. > I'll let you know if the problem arises again. > give me a couple of days because this problem is randomly triggered. > Sometimes it happens multiple times a day, sometimes none. > Eric, thanks for the patch. The problem didn't arise again and i haven't seen any warning like that on both servers where that problem was happening more frequently. I would say that it's fixed and if it's not, i'll let you know as soon as it happens again. Thanks again, Max -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 8d00976..54bf091 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -454,7 +454,7 @@ static unsigned int free_old_xmit_skbs(struct virtnet_info *vi) vi->dev->stats.tx_bytes += skb->len; vi->dev->stats.tx_packets++; tot_sgs += skb_vnet_hdr(skb)->num_sg; - kfree_skb(skb); + dev_kfree_skb_any(skb); } return tot_sgs; }