Thread (6 messages) 6 messages, 2 authors, 2012-01-11

Re: [PATCH v2 1/3] virtio_net: Split receive buffer alloc/add

From: Rusty Russell <hidden>
Date: 2012-01-11 01:31:06
Also in: lkml, netdev

On Tue, 10 Jan 2012 09:41:01 -0800, Mike Waychison [off-list ref] wrote:
In preparation for allocating receive buffers in the slow path without
disabling NAPI, split the allocation and addition of receive buffers
apart into two separate functions (per receive buffer type).

While here, move the vi->num accounting into the add functions.

Signed-off-by: Mike Waychison <redacted>
Hi Mike...

        This exposes a nasty ugliness in the way virtio_net works.  We
allocate an skbuff for the small packet case, and just allocate the
pages for the large packet cases, and alloc the skbuff when we fill the
pages.

        I think all the allocators should return a populated skbuff;
this uses a bit more memory in theory, but should make the code simpler.
As an added bonus, your life should get much simpler for these patches.

I'll try to create such a patch tonight, but I'm busy finalizing my
linux.conf.au presentation, so it might take longer :(

Thanks,
Rusty.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help