Subject: Re: net_sched: dsmark: use qdisc_dequeue_peeked()

From: Sergei Shtylyov <[email-masked]>
Date: Wed, 2 Mar 2016 17:56:02 +0300

Hello.

On 3/2/2016 7:10 AM, Kyeong Yoo wrote:

> This fix is for dsmark similar to 3557619f0f6f7496ed453d4825e24958ab1884e0,

    scripts/checkpatch.pl now enforces certain commit citing format, yours 
doesn't match it.

> and makes use of qdisc_dequeue_peeked() instead of direct dequeue() call.
>
> First time, wrr peeks dsmark, which will then peek into sfq.
> sfq dequeues an skb and it's stored in sch->gso_skb.
> Next time, wrr tries to dequeue from dsmark, which will call sfq dequeue
> directly. This results skipping the previously peeked skb.
>
> So changed dsmark dequeue to call qdisc_dequeue_peeked() instead to use
> peeked skb if exists.
>
> Also replaced dsmark peek to use qdisc_peek_dequeued() which works correctly
> if previously peeked skb still exists.
>
> Signed-off-by: Kyeong Yoo <[email-masked]>

[...]

MBR, Sergei