From: ANNIE LI <annie.li@oracle.com>
To: James Harper <james.harper@bendigoit.com.au>
Cc: KonradRzeszutekWilk <konrad@kernel.org>,
Ian Campbell <Ian.Campbell@citrix.com>,
xen-devel <xen-devel@lists.xen.org>
Subject: Re: netchannel vs MAX_SKB_FRAGS (Was: Re: [PATCH] xen/netfront: handle compound page fragments on transmit)
Date: Fri, 23 Nov 2012 14:49:41 +0800 [thread overview]
Message-ID: <50AF1C85.50604@oracle.com> (raw)
In-Reply-To: <6035A0D088A63A46850C3988ED045A4B32C95411@BITCOM1.int.sbss.com.au>
On 2012-11-23 10:10, James Harper wrote:
>> On 2012-11-21 0:04, Ian Campbell wrote:
>>> Limiting to just xen-devel folks.
>>>
>>> On Tue, 2012-11-20 at 15:54 +0000, Ian Campbell wrote:
>>>
>>> This highlights a couple of issues, the main one is that implicitly
>>> including MAX_SKB_FRAGS in the PV net protocol is just madness. It can
>>> and has changed in the past. Someone really needs to (retroactively)
>>> figure out what a sensible default minimum which front and back must
>>> support is and use it in the front and backends instead of
>>> MAX_SKB_FRAGS. Probably something derived from the existing 64K limit
>>> (Linux has used 17 and 18 as MAX_SKB_FRAGS in the past).
>>>
>>> Then perhaps implement a feature-flag to allow front and backends to
>>> negotiate something bigger if they like.
>>>
>>> It might also be interesting for front and backends to coalesce
>>> multiple ring slots into compound pages.
>> Yes, MAX_SKB_FRAGS is max frag number, not max slot number required.
>> But I am not so clear about the whole implementation here. Does it mean
>> netfront/netback uses something like MAX_SKB_FRAGS*SLOTS_PER_FRAG?
>> and SLOTS_PER_FRAG can be adjusted based on different situation? If
>> netfront and netback negotiate this value, then xenstore key feature is
>> required, right?
>> As mentioned in another compound page fragments patch, for non-
>> compound page, this value could be 64K/PAGE_SIZE + 1, but if taking account
>> into compound page, the worse case is around 48 slots(in 1+4096+1 case). It
>> is hard to negotiate this between netfront and netback for different packets.
>>
> FWIW, Windows appears to have no real limit in its SG list, and if its>18 then netback (or linux?) just drops such packets.
This should be netback dropping packets in function netbk_count_requests,
if (unlikely(frags >= MAX_SKB_FRAGS)) {
netdev_dbg(vif->dev, "Too many frags\n");
return -frags;
}
> For a 64kb "large" packet, the buffer arrangement would likely be eth hdr + ip hdr + tcp hdr + (64K - total header size)/PAGE_SIZE + 1 frags. It would be good if the documentation of the protocol defined this limitation (which may not even exist if dom0 was something other than Linux anyway).
Agree.
Thanks
Annie
>
> James
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2012-11-23 6:49 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1349790467.21847.185.camel@zakaz.uk.xensource.com>
2012-10-09 13:54 ` compound skb frag pages appearing in start_xmit Eric Dumazet
[not found] ` <1349790863.21172.4406.camel@edumazet-glaptop>
2012-10-09 14:01 ` Eric Dumazet
2012-10-09 14:17 ` Ian Campbell
[not found] ` <1349791305.21172.4425.camel@edumazet-glaptop>
2012-10-09 14:23 ` Ian Campbell
[not found] ` <1349792617.21847.205.camel@zakaz.uk.xensource.com>
2012-10-09 14:33 ` Eric Dumazet
[not found] ` <1349793217.21172.4497.camel@edumazet-glaptop>
2012-10-09 14:54 ` Ian Campbell
[not found] ` <1349792241.21847.199.camel@zakaz.uk.xensource.com>
2012-10-09 14:27 ` Eric Dumazet
[not found] ` <1349792847.21172.4479.camel@edumazet-glaptop>
2012-10-09 14:40 ` Ian Campbell
[not found] ` <1349793630.21847.208.camel@zakaz.uk.xensource.com>
2012-10-09 14:51 ` Eric Dumazet
2012-10-10 10:13 ` Ian Campbell
[not found] ` <1349863984.10070.26.camel@zakaz.uk.xensource.com>
2012-10-10 12:24 ` Sander Eikelenboom
2012-10-10 12:29 ` Ian Campbell
[not found] ` <1349872149.10070.31.camel@zakaz.uk.xensource.com>
2012-10-10 13:31 ` Sander Eikelenboom
2012-10-10 13:09 ` Ian Campbell
[not found] ` <1349874598.10070.39.camel@zakaz.uk.xensource.com>
2012-10-10 14:49 ` Sander Eikelenboom
[not found] ` <748966751.20121010164949@eikelenboom.it>
2012-10-11 8:02 ` Ian Campbell
[not found] ` <1349942546.14806.7.camel@zakaz.uk.xensource.com>
2012-10-11 10:00 ` Sander Eikelenboom
[not found] ` <151954917.20121011120004@eikelenboom.it>
2012-10-11 10:05 ` Eric Dumazet
[not found] ` <1349949924.21172.8462.camel@edumazet-glaptop>
2012-10-11 10:14 ` Ian Campbell
[not found] ` <1349950494.14806.29.camel@zakaz.uk.xensource.com>
2012-10-11 10:20 ` Sander Eikelenboom
2012-11-15 2:31 ` ANNIE LI
[not found] ` <50A4540E.1010601@oracle.com>
2012-11-19 15:43 ` Sander Eikelenboom
2012-11-20 8:30 ` Stefan Bader
[not found] ` <50AB3F9D.4070905@canonical.com>
2012-11-20 9:21 ` Ian Campbell
2012-11-20 11:36 ` Ian Campbell
2012-11-20 11:40 ` [PATCH] xen/netfront: handle compound page fragments on transmit Ian Campbell
[not found] ` <1353411606-15940-1-git-send-email-ian.campbell@citrix.com>
2012-11-20 12:28 ` Jan Beulich
2012-11-20 13:30 ` Stefan Bader
[not found] ` <50AB856D02000078000A9EFD@nat28.tlf.novell.com>
2012-11-20 13:35 ` Ian Campbell
[not found] ` <1353418516.13542.38.camel@zakaz.uk.xensource.com>
2012-11-20 13:51 ` Jan Beulich
[not found] ` <50AB990602000078000A9F5B@nat28.tlf.novell.com>
2012-11-20 14:14 ` Ian Campbell
[not found] ` <1353420865.13542.44.camel@zakaz.uk.xensource.com>
2012-11-20 14:32 ` Jan Beulich
[not found] ` <50ABA29902000078000A9FB1@nat28.tlf.novell.com>
2012-11-20 15:06 ` Ian Campbell
[not found] ` <1353424014.13542.49.camel@zakaz.uk.xensource.com>
2012-11-20 15:28 ` Eric Dumazet
2012-11-20 15:44 ` Jan Beulich
[not found] ` <1353425308.2590.11.camel@edumazet-glaptop>
2012-11-20 15:54 ` Ian Campbell
[not found] ` <1353426878.13542.59.camel@zakaz.uk.xensource.com>
2012-11-20 16:04 ` netchannel vs MAX_SKB_FRAGS (Was: Re: [PATCH] xen/netfront: handle compound page fragments on transmit) Ian Campbell
2012-11-23 1:30 ` ANNIE LI
2012-11-23 2:10 ` James Harper
2012-11-23 6:49 ` ANNIE LI [this message]
2012-11-23 9:22 ` Paul Durrant
2012-11-23 9:26 ` James Harper
2012-11-23 9:34 ` Ian Campbell
2012-11-23 9:18 ` Ian Campbell
2012-11-23 15:08 ` annie li
[not found] ` <50ABB38202000078000AA0FD@nat28.tlf.novell.com>
2012-11-20 16:14 ` [PATCH] xen/netfront: handle compound page fragments on transmit Eric Dumazet
[not found] ` <50AB860E.3090106@canonical.com>
2012-11-20 13:45 ` Sander Eikelenboom
2012-11-20 14:45 ` Eric Dumazet
[not found] ` <1353422735.2590.6.camel@edumazet-glaptop>
2012-11-20 15:05 ` Ian Campbell
2012-11-21 2:52 ` ANNIE LI
[not found] ` <50AC41F7.7080609@oracle.com>
2012-11-21 11:09 ` Ian Campbell
[not found] ` <1353411413.13542.31.camel@zakaz.uk.xensource.com>
2012-11-21 2:42 ` compound skb frag pages appearing in start_xmit ANNIE LI
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50AF1C85.50604@oracle.com \
--to=annie.li@oracle.com \
--cc=Ian.Campbell@citrix.com \
--cc=james.harper@bendigoit.com.au \
--cc=konrad@kernel.org \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).