|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Resetting network device / skb leak
> hi,
>
> I seem to have a problem with the Linux xen-network driver leaking skbs.
> This is probably my own fault, upon resumption after migration I call
> this:
>
> void network_resume(void)
> {
> struct net_device* dev = __dev_get_by_name("eth0");
> MOD_DEC_USE_COUNT;
>
> network_open(dev);
> }
>
> -- which works fine. However, in network_open() the call to
> NETOP_RESET_RINGS seems to clear all the pointers to the old skbs, and
> network_alloc_rx_buffers() allocs a bunch of new ones. It suppose that
> means I have just leaked a whole bunch of skbs. I know the standard
> suspend/resume code performs almost a full ifup/ifdown (which I cannot
> do in my case) but I don't see any skb-freeing code in that case either?
>
> I have tried dev_kfree_skb()'ing the contents of the np->rx_skbs[1:]
> array before calling network_open, but doing so just crashes Linux :-(
>
> Any ideas?
>
> Jacob
The correct suspend behaviour is caused by executing dev->stop().
Why are you not able to run the existing ifdown/ifup code? It doesn't
execute notifier lists so shouldn't affect routing tables or anything
like that.
-- Keir
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel
|
|
|
|
|