Subject: Re: [PATCH] TX_RING and packet mmap

From: Evgeniy Polyakov <[email-masked]>
Date: Tue, 21 Apr 2009 13:41:49 +0400

Hi Johann.

On Sat, Apr 18, 2009 at 11:38:48PM +0200, Johann Baudy ([email-masked]) wrote:
> > I think it should only be called when shared area is about to be freed
> > and not when attached skb is freed.
> During skb_linearize(). shared info is memcopied and freed in
> pskb_expand_head() if not enough memory is available in current head.
> Then, Do you expect this new destructor to be called twice? (during
> skb_linearize() and kfree_skb())

It cals skb_release_data() which should invoke shared area destructor
before being freed.

> >Thus you can put your pages into
> > fraglist and reuse them after the last reference to the shared area is
> > gone.
> 
> If my understanding is correct, skb can be linearized without calling
> skb_release_data() (if enough space is available in head). Hence, In
> this case, I will not have access to original frags[] from
> skb_shared_info destructor.

Yes, that's right.

-- 
	Evgeniy Polyakov