From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org, john.fastabend@gmail.com,
linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org
Subject: Re: [PATCH v2] virtio_net: fix PAGE_SIZE > 64k
Date: Tue, 24 Jan 2017 23:07:51 +0200 [thread overview]
Message-ID: <20170124225502-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20170124.155331.1409241818867862249.davem@davemloft.net>
On Tue, Jan 24, 2017 at 03:53:31PM -0500, David Miller wrote:
> From: "Michael S. Tsirkin" <mst@redhat.com>
> Date: Tue, 24 Jan 2017 22:45:37 +0200
>
> > On Tue, Jan 24, 2017 at 03:09:59PM -0500, David Miller wrote:
> >> From: "Michael S. Tsirkin" <mst@redhat.com>
> >> Date: Tue, 24 Jan 2017 21:53:13 +0200
> >>
> >> > I didn't realise. Why can't we? I thought that adjust_header is an
> >> > optional feature that userspace can test for, so no rush.
> >>
> >> No, we want the base set of XDP features to be present in all drivers
> >> supporting XDP.
> >
> > I see, I didn't realize this. In light of this, is there any
> > guidance *how much* head room is required to be considered
> > valid? We already have 12 bytes of headroom.
>
> The idea is to allow programs to implement arbitrary kinds of
> encapsulation, so we need to be able to allow them to push headers for
> all kinds of software tunnels, with allowance for a few depths in some
> extreme cases.
>
> In that light, a nice round power of 2 number such as 256 seems quite
> reasonable to me.
>
> This seems to be what other XDP implementations in drivers use at the
> moment as well.
It bothers me that this becomes a part of userspace ABI.
Apps will see that everyone does 256 and will assume it,
we'll never be able to go back.
This does mean that XDP_PASS will use much more memory
for small packets and by extension need a higher rmem limit.
Would all admins be comfortable with this? Why would they want
to if all their XDP does is DROP?
Why not teach applications to query the headroom?
Or even better, do what we do with skbs and do data copies whenever you
run out of headroom instead of a failure. Anyone using build_skb already
has a ton of tailroom so that will work better.
--
MST
next prev parent reply other threads:[~2017-01-24 21:07 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-23 19:37 [PATCH v2] virtio_net: fix PAGE_SIZE > 64k Michael S. Tsirkin
2017-01-24 19:42 ` David Miller
2017-01-24 19:53 ` Michael S. Tsirkin
2017-01-24 20:09 ` David Miller
[not found] ` <20170124.150959.1708982899683381291.davem@davemloft.net>
2017-01-24 20:45 ` Michael S. Tsirkin
[not found] ` <20170124221114-mutt-send-email-mst@kernel.org>
2017-01-24 20:53 ` David Miller
2017-01-24 21:07 ` Michael S. Tsirkin [this message]
2017-01-24 21:10 ` David Miller
[not found] ` <20170124.161046.824400071485171478.davem@davemloft.net>
2017-01-24 21:56 ` Michael S. Tsirkin
2017-01-25 3:48 ` John Fastabend
-- strict thread matches above, loose matches on Subject: below --
2017-01-25 4:07 Alexei Starovoitov
[not found] <CAADnVQ+ioJ7kgsFeFoSV9Nqnq9CkRGMmqS5QM66gsJG01-Rojw@mail.gmail.com>
2017-01-25 14:23 ` Michael S. Tsirkin
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=20170124225502-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=davem@davemloft.net \
--cc=john.fastabend@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=virtualization@lists.linux-foundation.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).