Re: [RFC PATCH v2] ptr_ring: linked list fallback

From: Jason Wang
Date: Tue Feb 27 2018 - 22:39:30 EST




On 2018å02æ28æ 11:28, Jason Wang wrote:
Well I believe the main user for this is qdisc, which use skb array. And we
can not use what implemented in this patch directly for sk_buff without some
changes on the data structure.
Why not? skb has next and prev pointers at 1st two fields:

struct sk_buff {
ÂÂÂÂÂÂÂÂ union {
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ struct {
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ /* These two members must be first. */
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ struct sk_buffÂÂÂÂÂÂÂÂÂ *next;
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ struct sk_buffÂÂÂÂÂÂÂÂÂ *prev;
...
}

so it's just a question of casting to struct plist.

Well, then the casting can only be done in skb_array implementation?

Ok, could be done in ptr ring. But still looks tricky, because of the different meaning of prev and last.

Thanks