RE: [PATCH 0/6 v2] skb paged fragment destructors
From: David Laight <hidden>
Date: 2012-01-05 17:27:21
The mail at [0] contains some more background and rationale but basically the completed series will allow entities which inject pages into the networking stack to receive a notification when the stack has really finished with those pages (i.e. including retransmissions, clones, pull-ups etc) and not just when the original skb is finished with, which is beneficial to many subsystems which wish to inject
pages
into the network stack without giving up full ownership of those
page's
lifecycle. It implements something broadly along the lines of what was described in [1].
If you are doing that, then the network drivers must ensure they free such skb as soon as the transmit completes - rather than deferring the 'end of tx' processing until some later time. Without that the sending code can't reuse the 'page' for another request - which is one of the things I presume this allows. (We had issues with this on SVR4 with STREAMS buffers allocated with esballoc()...) David