|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] xennet: skb rides the rocket: 20 slots
Monday, January 7, 2013, 11:55:15 AM, you wrote:
> On Fri, 2013-01-04 at 16:28 +0000, Sander Eikelenboom wrote:
>> Hi Ian,
> I'm not actually the netfront maintainer. Adding Konrad. Annie too since
> IIRC she was at one point looking at various buffer coalescing schemes.
Ah ok, i thought you were :-) sorry
>> Today i fired up an old VM with a bittorrent client, trying to
>> download some torrents.
> How old? Which kernel?
3.8.0-rc2 at the moment, it's a PV guest.
>> I seem to be hitting the unlikely case of "xennet: skb rides the
>> rocket: xx slots" and this results in some dropped packets in domU, I
>> don't see any warnings in dom0.
>>
>> I have added some extra info, but i don't have enough knowledge if
>> this could/should be prevented from happening ?
> MAX_SKB_FRAGS has never, AFAIK, been as big as 19 or 20 so I'm not sure
> this can have ever worked.
> These SKBs seem to be pretty big (not quite 64KB), seemingly most of the
> data is contained in a smallish number of frags, which suggests compound
> pages and therefore a reasonably modern kernel?
> This probably relates somewhat to the issues described in the
> "netchannel vs MAX_SKB_FRAGS" thread last year, or at least the solution
> to that would necessarily involve fixing this issue.
> In the meantime you could try disabling sg and/or various offloads for
> that domain's vif.
Will do.
>> [16798.629141] xennet: skb rides the rocket: 19 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:18 offset:106 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:4
>> page_size:4096 prot:0800
>> [16800.575182] xennet: skb rides the rocket: 19 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:18 offset:2154 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:4
>> page_size:4096 prot:0800
>> [16801.589166] xennet: skb rides the rocket: 20 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:19 offset:2154 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:5
>> page_size:4096 prot:0800
>> [16803.279039] xennet: skb rides the rocket: 19 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:18 offset:106 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:3
>> page_size:4096 prot:0800
>> [16809.973268] xennet: skb rides the rocket: 19 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:18 offset:2154 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:4
>> page_size:4096 prot:0800
>> [16811.420048] xennet: skb rides the rocket: 19 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:18 offset:2154 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:6
>> page_size:4096 prot:0800
>> [16814.872686] xennet: skb rides the rocket: 19 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:18 offset:106 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:5
>> page_size:4096 prot:0800
>> [16815.359099] xennet: skb rides the rocket: 21 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:20 offset:2154 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:5
>> page_size:4096 prot:0800
>> [16825.851906] xennet: skb rides the rocket: 20 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:19 offset:106 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:4
>> page_size:4096 prot:0800
>> [16828.295083] xennet: skb rides the rocket: 19 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:18 offset:2154 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:5
>> page_size:4096 prot:0800
>> [16837.386684] xennet: skb rides the rocket: 19 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:18 offset:106 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:4
>> page_size:4096 prot:0800
>> [16838.609683] xennet: skb rides the rocket: 20 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:19 offset:106 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:4
>> page_size:4096 prot:0800
>> [16841.783729] xennet: skb rides the rocket: 19 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:18 offset:106 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:6
>> page_size:4096 prot:0800
>> [16843.841678] xennet: skb rides the rocket: 20 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:19 offset:2154 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:4
>> page_size:4096 prot:0800
>> [16849.847614] xennet: skb rides the rocket: 19 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:18 offset:3690 skb_headlen:54
>> skb->len:64294, skb->data_len:64240 skb->truesize:65008 nr_frags:4
>> page_size:4096 prot:0800
>> [16853.787128] xennet: skb rides the rocket: 20 slots MAX_SKB_FRAGS: 17
>> div_roundup:1 xennet_count_skb_frag_slots:19 offset:2154 skb_headlen:1622
>> skb->len:64294, skb->data_len:62672 skb->truesize:64976 nr_frags:4
>> page_size:4096 prot:0800
>>
>> # ifconfig
>> eth0 Link encap:Ethernet HWaddr 00:16:3e:c4:20:46
>> inet addr:192.168.1.12 Bcast:192.168.1.255 Mask:255.255.255.0
>> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
>> RX packets:9090214 errors:0 dropped:0 overruns:0 frame:0
>> TX packets:5902090 errors:0 dropped:304 overruns:0 carrier:0
>> collisions:0 txqueuelen:1000
>> RX bytes:19757934770 (18.4 GiB) TX bytes:16855238200 (15.6 GiB)
>> Interrupt:25
>>
>>
>>
>>
>> diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
>> index c26e28b..50ac403 100644
>> --- a/drivers/net/xen-netfront.c
>> +++ b/drivers/net/xen-netfront.c
>> @@ -552,7 +552,11 @@ static int xennet_start_xmit(struct sk_buff *skb,
>> struct net_device *dev)
>> xennet_count_skb_frag_slots(skb);
>> if (unlikely(slots > MAX_SKB_FRAGS + 1)) {
>> net_alert_ratelimited(
>> - "xennet: skb rides the rocket: %d slots\n", slots);
>> + "xennet: skb rides the rocket: %d slots
>> MAX_SKB_FRAGS: %d div_roundup:%d xennet_count_skb_frag_slots:%d offset:%d
>> skb_headlen:%d skb->len:%d, skb->data_len:%d skb->truesize:%d nr_frags:%d
>> page_size:%d prot:%04x \n
>> + slots, MAX_SKB_FRAGS,DIV_ROUND_UP(offset +
>> len, PAGE_SIZE),
>> + xennet_count_skb_frag_slots(skb), offset, len,
>> skb->len,
>> + skb->data_len, skb->truesize,
>> skb_shinfo(skb)->nr_frags,
>> + PAGE_SIZE, ntohs(skb->protocol));
>> goto drop;
>> }
>>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |