[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1298479711.3301.373.camel@edumazet-laptop>
Date: Wed, 23 Feb 2011 17:48:31 +0100
From: Eric Dumazet <eric.dumazet@...il.com>
To: Patrick McHardy <kaber@...sh.net>
Cc: David Miller <davem@...emloft.net>,
Juliusz Chroboczek <Juliusz.Chroboczek@....jussieu.fr>,
"John W. Linville" <linville@...driver.com>,
Stephen Hemminger <shemminger@...tta.com>,
netdev <netdev@...r.kernel.org>, Andi Kleen <andi@...stfloor.org>
Subject: Re: [PATCH net-next-2.6 v3] net_sched: SFB flow scheduler
Le mercredi 23 février 2011 à 17:24 +0100, Patrick McHardy a écrit :
> This needs to be a per-skb property, otherwise you could have the
> situation:
>
> - enqueue skb, double_buffering=0, increment buffer 0
> - enable double buffering
> - swap buffers
> - dequeue same skb, decrement buffer 1
>
> after which the qlen values of buffer 1 will be incorrect.
>
Normally its OK, because we bzero() the zone, and the "decrement" is
0-bounded.
I had this idea (of storing two bits per skb), but :
- It means that swap_buffer() should not touch (bzero) the 'old' bins
- Since hash perturbator is changed, we have to store the two hash
values per skb (instead of one u32 / classid).
>
> > + slot ^= 1;
> > + sfbhash = sfb_hash(skb, slot, q);
>
> Isn't there room in the cb to store both hash values?
Yes, I am going to implement your idea, its probably OK to use two u32
on skb_cb for this.
Thanks !
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists