[question] why 'struct skb_shared_info->frags' use page idea insdead direct memory pointer?
From: 刘立超 <hidden>
Date: 2024-04-14 02:13:34
From: 刘立超 <hidden>
Date: 2024-04-14 02:13:34
I have encountered a question about how gro combine skbs, simply say,
there are two ways:
1. use 'skb->shinfo->frags'
2. use 'skb->shinfo->frag_list'
I have two questions:
1. why 'skb->shinfo->frags' use page idea, what's the advantage over
memory pointer?
2. from history patch "d3836f21b0af5513ef55701dd3f50b8c42e44c7a", I
can get 'skb->shinfo->frags' is better than 'skb->shinfo->frag_list'.
but i don't know why.
the patch say:"gro uses the frag_list fallback, very inefficient
since we keep all struct sk_buff around", but if 'skb->shinfo->frags'
use memory pointer, we can free skb struct immediately.
Maybe it's a simple question. Thank you.