* [net-next PATCH v3 0/6] XDP for virtio_net
@ 2016-11-29 20:05 John Fastabend
2016-11-30 18:35 ` Michael S. Tsirkin
0 siblings, 1 reply; 5+ messages in thread
From: John Fastabend @ 2016-11-29 20:05 UTC (permalink / raw)
To: tgraf, shm, alexei.starovoitov, daniel, davem
Cc: john.r.fastabend, netdev, bblanco, john.fastabend, brouer
This implements virtio_net for the mergeable buffers and big_packet
modes. I tested this with vhost_net running on qemu and did not see
any issues. For testing num_buf > 1 I added a hack to vhost driver
to only but 100 bytes per buffer.
There are some restrictions for XDP to be enabled and work well
(see patch 3) for more details.
1. LRO must be off
2. MTU must be less than PAGE_SIZE
3. queues must be available to dedicate to XDP
4. num_bufs received in mergeable buffers must be 1
5. big_packet mode must have all data on single page
Please review any comments/feedback welcome as always.
v2, fixes rcu usage throughout thanks to Eric and the use of
num_online_cpus() usage thanks to Jakub.
v3, add slowpath patch to handle num_bufs > 1
Thanks,
John
---
John Fastabend (6):
net: virtio dynamically disable/enable LRO
net: xdp: add invalid buffer warning
virtio_net: Add XDP support
virtio_net: add dedicated XDP transmit queues
virtio_net: add XDP_TX support
virtio_net: xdp, add slowpath case for non contiguous buffers
drivers/net/virtio_net.c | 344 +++++++++++++++++++++++++++++++++++++++++++++-
include/linux/filter.h | 1
net/core/filter.c | 6 +
3 files changed, 346 insertions(+), 5 deletions(-)
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [net-next PATCH v3 0/6] XDP for virtio_net
2016-11-29 20:05 [net-next PATCH v3 0/6] XDP for virtio_net John Fastabend
@ 2016-11-30 18:35 ` Michael S. Tsirkin
2016-11-30 18:41 ` John Fastabend
0 siblings, 1 reply; 5+ messages in thread
From: Michael S. Tsirkin @ 2016-11-30 18:35 UTC (permalink / raw)
To: John Fastabend
Cc: tgraf, shm, alexei.starovoitov, daniel, davem, john.r.fastabend,
netdev, bblanco, brouer
On Tue, Nov 29, 2016 at 12:05:20PM -0800, John Fastabend wrote:
> This implements virtio_net for the mergeable buffers and big_packet
> modes. I tested this with vhost_net running on qemu and did not see
> any issues. For testing num_buf > 1 I added a hack to vhost driver
> to only but 100 bytes per buffer.
>
> There are some restrictions for XDP to be enabled and work well
> (see patch 3) for more details.
>
> 1. LRO must be off
> 2. MTU must be less than PAGE_SIZE
> 3. queues must be available to dedicate to XDP
> 4. num_bufs received in mergeable buffers must be 1
> 5. big_packet mode must have all data on single page
>
> Please review any comments/feedback welcome as always.
>
> v2, fixes rcu usage throughout thanks to Eric and the use of
> num_online_cpus() usage thanks to Jakub.
>
> v3, add slowpath patch to handle num_bufs > 1
>
> Thanks,
> John
BTW this is threaded incorrectly: patch 1/6 isn't a reply to 0/6,
patches 2 and on are replies to patch 1.
I'm busy until end of week, I'll review Monday. Sorry about the delay.
> ---
>
> John Fastabend (6):
> net: virtio dynamically disable/enable LRO
> net: xdp: add invalid buffer warning
> virtio_net: Add XDP support
> virtio_net: add dedicated XDP transmit queues
> virtio_net: add XDP_TX support
> virtio_net: xdp, add slowpath case for non contiguous buffers
>
>
> drivers/net/virtio_net.c | 344 +++++++++++++++++++++++++++++++++++++++++++++-
> include/linux/filter.h | 1
> net/core/filter.c | 6 +
> 3 files changed, 346 insertions(+), 5 deletions(-)
>
> --
> Signature
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [net-next PATCH v3 0/6] XDP for virtio_net
2016-11-30 18:35 ` Michael S. Tsirkin
@ 2016-11-30 18:41 ` John Fastabend
2016-11-30 18:56 ` Michael S. Tsirkin
0 siblings, 1 reply; 5+ messages in thread
From: John Fastabend @ 2016-11-30 18:41 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: tgraf, shm, alexei.starovoitov, daniel, davem, john.r.fastabend,
netdev, bblanco, brouer
On 16-11-30 10:35 AM, Michael S. Tsirkin wrote:
> On Tue, Nov 29, 2016 at 12:05:20PM -0800, John Fastabend wrote:
>> This implements virtio_net for the mergeable buffers and big_packet
>> modes. I tested this with vhost_net running on qemu and did not see
>> any issues. For testing num_buf > 1 I added a hack to vhost driver
>> to only but 100 bytes per buffer.
>>
>> There are some restrictions for XDP to be enabled and work well
>> (see patch 3) for more details.
>>
>> 1. LRO must be off
>> 2. MTU must be less than PAGE_SIZE
>> 3. queues must be available to dedicate to XDP
>> 4. num_bufs received in mergeable buffers must be 1
>> 5. big_packet mode must have all data on single page
>>
>> Please review any comments/feedback welcome as always.
>>
>> v2, fixes rcu usage throughout thanks to Eric and the use of
>> num_online_cpus() usage thanks to Jakub.
>>
>> v3, add slowpath patch to handle num_bufs > 1
>>
>> Thanks,
>> John
>
> BTW this is threaded incorrectly: patch 1/6 isn't a reply to 0/6,
> patches 2 and on are replies to patch 1.
>
Ah yep, if you mangle the command line git will send the
cover letter even if you have mangled 'to' email addresses but when
it hits a real patch it aborts. At least on my version of git.
> I'm busy until end of week, I'll review Monday. Sorry about the delay.
In the meantime I'll post a v4 with better commit message (Alexei) and
address a corner cases Jakub pointed out.
>
>> ---
>>
>> John Fastabend (6):
>> net: virtio dynamically disable/enable LRO
>> net: xdp: add invalid buffer warning
>> virtio_net: Add XDP support
>> virtio_net: add dedicated XDP transmit queues
>> virtio_net: add XDP_TX support
>> virtio_net: xdp, add slowpath case for non contiguous buffers
>>
>>
>> drivers/net/virtio_net.c | 344 +++++++++++++++++++++++++++++++++++++++++++++-
>> include/linux/filter.h | 1
>> net/core/filter.c | 6 +
>> 3 files changed, 346 insertions(+), 5 deletions(-)
>>
>> --
>> Signature
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [net-next PATCH v3 0/6] XDP for virtio_net
2016-11-30 18:41 ` John Fastabend
@ 2016-11-30 18:56 ` Michael S. Tsirkin
2016-12-01 4:26 ` John Fastabend
0 siblings, 1 reply; 5+ messages in thread
From: Michael S. Tsirkin @ 2016-11-30 18:56 UTC (permalink / raw)
To: John Fastabend
Cc: tgraf, shm, alexei.starovoitov, daniel, davem, john.r.fastabend,
netdev, bblanco, brouer
On Wed, Nov 30, 2016 at 10:41:04AM -0800, John Fastabend wrote:
> On 16-11-30 10:35 AM, Michael S. Tsirkin wrote:
> > On Tue, Nov 29, 2016 at 12:05:20PM -0800, John Fastabend wrote:
> >> This implements virtio_net for the mergeable buffers and big_packet
> >> modes. I tested this with vhost_net running on qemu and did not see
> >> any issues. For testing num_buf > 1 I added a hack to vhost driver
> >> to only but 100 bytes per buffer.
> >>
> >> There are some restrictions for XDP to be enabled and work well
> >> (see patch 3) for more details.
> >>
> >> 1. LRO must be off
> >> 2. MTU must be less than PAGE_SIZE
> >> 3. queues must be available to dedicate to XDP
> >> 4. num_bufs received in mergeable buffers must be 1
> >> 5. big_packet mode must have all data on single page
> >>
> >> Please review any comments/feedback welcome as always.
> >>
> >> v2, fixes rcu usage throughout thanks to Eric and the use of
> >> num_online_cpus() usage thanks to Jakub.
> >>
> >> v3, add slowpath patch to handle num_bufs > 1
> >>
> >> Thanks,
> >> John
> >
> > BTW this is threaded incorrectly: patch 1/6 isn't a reply to 0/6,
> > patches 2 and on are replies to patch 1.
> >
>
> Ah yep, if you mangle the command line git will send the
> cover letter even if you have mangled 'to' email addresses but when
> it hits a real patch it aborts. At least on my version of git.
>
> > I'm busy until end of week, I'll review Monday. Sorry about the delay.
>
> In the meantime I'll post a v4 with better commit message (Alexei) and
> address a corner cases Jakub pointed out.
I did a quick look and found some too, but a detailed review will
have to wait till next week.
> >
> >> ---
> >>
> >> John Fastabend (6):
> >> net: virtio dynamically disable/enable LRO
> >> net: xdp: add invalid buffer warning
> >> virtio_net: Add XDP support
> >> virtio_net: add dedicated XDP transmit queues
> >> virtio_net: add XDP_TX support
> >> virtio_net: xdp, add slowpath case for non contiguous buffers
> >>
> >>
> >> drivers/net/virtio_net.c | 344 +++++++++++++++++++++++++++++++++++++++++++++-
> >> include/linux/filter.h | 1
> >> net/core/filter.c | 6 +
> >> 3 files changed, 346 insertions(+), 5 deletions(-)
> >>
> >> --
> >> Signature
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [net-next PATCH v3 0/6] XDP for virtio_net
2016-11-30 18:56 ` Michael S. Tsirkin
@ 2016-12-01 4:26 ` John Fastabend
0 siblings, 0 replies; 5+ messages in thread
From: John Fastabend @ 2016-12-01 4:26 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: tgraf, shm, alexei.starovoitov, daniel, davem, john.r.fastabend,
netdev, bblanco, brouer
On 16-11-30 10:56 AM, Michael S. Tsirkin wrote:
> On Wed, Nov 30, 2016 at 10:41:04AM -0800, John Fastabend wrote:
>> On 16-11-30 10:35 AM, Michael S. Tsirkin wrote:
>>> On Tue, Nov 29, 2016 at 12:05:20PM -0800, John Fastabend wrote:
>>>> This implements virtio_net for the mergeable buffers and big_packet
>>>> modes. I tested this with vhost_net running on qemu and did not see
>>>> any issues. For testing num_buf > 1 I added a hack to vhost driver
>>>> to only but 100 bytes per buffer.
>>>>
>>>> There are some restrictions for XDP to be enabled and work well
>>>> (see patch 3) for more details.
>>>>
>>>> 1. LRO must be off
>>>> 2. MTU must be less than PAGE_SIZE
>>>> 3. queues must be available to dedicate to XDP
>>>> 4. num_bufs received in mergeable buffers must be 1
>>>> 5. big_packet mode must have all data on single page
>>>>
>>>> Please review any comments/feedback welcome as always.
>>>>
>>>> v2, fixes rcu usage throughout thanks to Eric and the use of
>>>> num_online_cpus() usage thanks to Jakub.
>>>>
>>>> v3, add slowpath patch to handle num_bufs > 1
>>>>
>>>> Thanks,
>>>> John
>>>
>>> BTW this is threaded incorrectly: patch 1/6 isn't a reply to 0/6,
>>> patches 2 and on are replies to patch 1.
>>>
>>
>> Ah yep, if you mangle the command line git will send the
>> cover letter even if you have mangled 'to' email addresses but when
>> it hits a real patch it aborts. At least on my version of git.
>>
>>> I'm busy until end of week, I'll review Monday. Sorry about the delay.
>>
>> In the meantime I'll post a v4 with better commit message (Alexei) and
>> address a corner cases Jakub pointed out.
>
> I did a quick look and found some too, but a detailed review will
> have to wait till next week.
Thanks! I'll address all the comments and have a v4 by then.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-12-01 4:26 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-29 20:05 [net-next PATCH v3 0/6] XDP for virtio_net John Fastabend
2016-11-30 18:35 ` Michael S. Tsirkin
2016-11-30 18:41 ` John Fastabend
2016-11-30 18:56 ` Michael S. Tsirkin
2016-12-01 4:26 ` John Fastabend
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).