Re: [RFC] sched: CHOKe packet scheduler

Eric Dumazet
2011-01-05T06:19:40Z

Le mardi 04 janvier 2011 à 16:29 -0800, Stephen Hemminger a écrit :
> +static struct sk_buff *skb_peek_random(struct sk_buff_head *list)
> +{
> + struct sk_buff *skb = list->next;
> + unsigned int idx = net_random() % list->qlen;
> +
> + while (skb && idx-- > 0)
> + skb = skb->next;
> +
> + return skb;
> +}

You could avoid the divide op :

unsigned int idx = reciprocal_divide(random32(), list->qlen);