Re: [PATCH net-next] net: sched: remove unnecessay lock protection for skb_bad_txq/gso_skb

2021-03-16 Thread Yunsheng Lin
On 2021/3/17 2:41, Cong Wang wrote: > On Mon, Mar 15, 2021 at 2:29 AM Yunsheng Lin wrote: >> >> Currently qdisc_lock(q) is taken before enqueuing and dequeuing >> for lockless qdisc's skb_bad_txq/gso_skb queue, qdisc->seqlock is >> also taken, which can provide the same protection as

Re: [PATCH net-next] net: sched: remove unnecessay lock protection for skb_bad_txq/gso_skb

2021-03-16 Thread Yunsheng Lin
On 2021/3/17 2:43, Cong Wang wrote: > On Mon, Mar 15, 2021 at 4:42 PM David Miller wrote: >> >> From: Yunsheng Lin >> Date: Mon, 15 Mar 2021 17:30:10 +0800 >> >>> Currently qdisc_lock(q) is taken before enqueuing and dequeuing >>> for lockless qdisc's skb_bad_txq/gso_skb queue, qdisc->seqlock is

Re: [PATCH net-next] net: sched: remove unnecessay lock protection for skb_bad_txq/gso_skb

2021-03-16 Thread Yunsheng Lin
On 2021/3/17 5:45, David Miller wrote: > From: Yunsheng Lin > Date: Tue, 16 Mar 2021 10:40:56 +0800 > >> On 2021/3/16 7:41, David Miller wrote: >>> From: Yunsheng Lin >> >> At least for the fast path, taking two locks for lockless qdisc hurts >> performance when handling requeued skb,

Re: [PATCH net-next] net: sched: remove unnecessay lock protection for skb_bad_txq/gso_skb

2021-03-16 Thread David Miller
From: Yunsheng Lin Date: Tue, 16 Mar 2021 10:40:56 +0800 > On 2021/3/16 7:41, David Miller wrote: >> From: Yunsheng Lin > > At least for the fast path, taking two locks for lockless qdisc hurts > performance when handling requeued skb, especially if the lockless > qdisc supports

Re: [PATCH net-next] net: sched: remove unnecessay lock protection for skb_bad_txq/gso_skb

2021-03-16 Thread Cong Wang
On Mon, Mar 15, 2021 at 4:42 PM David Miller wrote: > > From: Yunsheng Lin > Date: Mon, 15 Mar 2021 17:30:10 +0800 > > > Currently qdisc_lock(q) is taken before enqueuing and dequeuing > > for lockless qdisc's skb_bad_txq/gso_skb queue, qdisc->seqlock is > > also taken, which can provide the

Re: [PATCH net-next] net: sched: remove unnecessay lock protection for skb_bad_txq/gso_skb

2021-03-16 Thread Cong Wang
On Mon, Mar 15, 2021 at 2:29 AM Yunsheng Lin wrote: > > Currently qdisc_lock(q) is taken before enqueuing and dequeuing > for lockless qdisc's skb_bad_txq/gso_skb queue, qdisc->seqlock is > also taken, which can provide the same protection as qdisc_lock(q). > > This patch removes the unnecessay

Re: [PATCH net-next] net: sched: remove unnecessay lock protection for skb_bad_txq/gso_skb

2021-03-15 Thread Yunsheng Lin
On 2021/3/16 7:41, David Miller wrote: > From: Yunsheng Lin > Date: Mon, 15 Mar 2021 17:30:10 +0800 > >> Currently qdisc_lock(q) is taken before enqueuing and dequeuing >> for lockless qdisc's skb_bad_txq/gso_skb queue, qdisc->seqlock is >> also taken, which can provide the same protection as

Re: [PATCH net-next] net: sched: remove unnecessay lock protection for skb_bad_txq/gso_skb

2021-03-15 Thread David Miller
From: Yunsheng Lin Date: Mon, 15 Mar 2021 17:30:10 +0800 > Currently qdisc_lock(q) is taken before enqueuing and dequeuing > for lockless qdisc's skb_bad_txq/gso_skb queue, qdisc->seqlock is > also taken, which can provide the same protection as qdisc_lock(q). > > This patch removes the

[PATCH net-next] net: sched: remove unnecessay lock protection for skb_bad_txq/gso_skb

2021-03-15 Thread Yunsheng Lin
Currently qdisc_lock(q) is taken before enqueuing and dequeuing for lockless qdisc's skb_bad_txq/gso_skb queue, qdisc->seqlock is also taken, which can provide the same protection as qdisc_lock(q). This patch removes the unnecessay qdisc_lock(q) protection for lockless qdisc' skb_bad_txq/gso_skb