On Fri, Dec 2, 2016 at 12:22 PM, Jesper Dangaard Brouer <bro...@redhat.com> wrote: > > On Thu, 1 Dec 2016 10:11:08 +0100 Florian Westphal <f...@strlen.de> wrote: > >> In light of DPDKs existence it make a lot more sense to me to provide >> a). a faster mmap based interface (possibly AF_PACKET based) that allows >> to map nic directly into userspace, detaching tx/rx queue from kernel. >> >> John Fastabend sent something like this last year as a proof of >> concept, iirc it was rejected because register space got exposed directly >> to userspace. I think we should re-consider merging netmap >> (or something conceptually close to its design). > > I'm actually working in this direction, of zero-copy RX mapping packets > into userspace. This work is mostly related to page_pool, and I only > plan to use XDP as a filter for selecting packets going to userspace, > as this choice need to be taken very early. > > My design is here: > > https://prototype-kernel.readthedocs.io/en/latest/vm/page_pool/design/memory_model_nic.html > > This is mostly about changing the memory model in the drivers, to allow > for safely mapping pages to userspace. (An efficient queue mechanism is > not covered).
Virtio virtqueues are used in various other locations in the stack. With separate memory pools and send + completion descriptor rings, signal moderation, careful avoidance of cacheline bouncing, etc. these seem like a good opportunity for a TPACKET_V4 format.