Thread (33 messages) 33 messages, 6 authors, 2012-01-03

Re: [PATCH 0/4] skb paged fragment destructors

From: David Miller <davem@davemloft.net>
Date: 2011-12-22 18:20:32

From: Ian Campbell <redacted>
Date: Thu, 22 Dec 2011 10:33:36 +0000
On Wed, 2011-12-21 at 19:28 +0000, David Miller wrote:
quoted
From: Eric Dumazet <redacted>
Date: Wed, 21 Dec 2011 15:02:18 +0100
quoted
No idea on this +2 point.
I think I know, and I believe I instructed Alexey Kuznetsov to do
this.

When sendfile() is performed, we might start the SKB with the last few
bytes of one page, and end the SKB with the first few bytes of another
page.

In order to fit a full 64K frame into an SKB in this situation we have
to accomodate this case.
Thanks David, that makes sense.

However I think you only actually need 1 extra page for that. If the
data in frag[0] starts at $offset then frag[16] will need to have
$offset bytes in it. e.g.
	4096-$offset + 4096*15 + $offset = 65536
which == 17 pages rather than 18.

The following documents the status quo but I could update to switch to +
1 instead if there are no flaws in the above logic...
Indeed, you're right.  Please change this to 1 and document it, and we
can put that change into net-next, thanks a lot!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help