From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Abeni Subject: [PATCH net-next 0/2] sched: refactor NOLOCK qdiscs Date: Tue, 15 May 2018 16:24:35 +0200 Message-ID: Cc: "David S. Miller" , Jamal Hadi Salim , Cong Wang , Jiri Pirko , John Fastabend , "Michael S. Tsirkin" To: netdev@vger.kernel.org Return-path: Received: from mx3-rdu2.redhat.com ([66.187.233.73]:58976 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752491AbeEOOZB (ORCPT ); Tue, 15 May 2018 10:25:01 -0400 Sender: netdev-owner@vger.kernel.org List-ID: With the introduction of NOLOCK qdiscs, pfifo_fast performances in the uncontended scenario degraded measurably, especially after the commit eb82a9944792 ("net: sched, fix OOO packets with pfifo_fast"). This series restore the pfifo_fast performances in such scenario back the previous level, mainly reducing the number of atomic operations required to perform the qdisc_run() call. Even performances in the contended scenario increase measurably. Note: This series is on top of: sched: manipulate __QDISC_STATE_RUNNING in qdisc_run_* helpers Paolo Abeni (2): sched: replace __QDISC_STATE_RUNNING bit with a spin lock pfifo_fast: drop unneeded additional lock on dequeue include/linux/skb_array.h | 5 +++++ include/net/sch_generic.h | 10 +++++----- net/sched/sch_generic.c | 15 +++++++++++++-- 3 files changed, 23 insertions(+), 7 deletions(-) -- 2.14.3