From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id ACBD4C3A5A6 for ; Thu, 19 Sep 2019 20:14:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 76974217D6 for ; Thu, 19 Sep 2019 20:14:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2404603AbfISUOv (ORCPT ); Thu, 19 Sep 2019 16:14:51 -0400 Received: from mail-il-dmz.mellanox.com ([193.47.165.129]:58143 "EHLO mellanox.co.il" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2404551AbfISUOv (ORCPT ); Thu, 19 Sep 2019 16:14:51 -0400 Received: from Internal Mail-Server by MTLPINE1 (envelope-from vladbu@mellanox.com) with ESMTPS (AES256-SHA encrypted); 19 Sep 2019 23:14:47 +0300 Received: from reg-r-vrt-018-180.mtr.labs.mlnx. (reg-r-vrt-018-180.mtr.labs.mlnx [10.215.1.1]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x8JKEkHt031361; Thu, 19 Sep 2019 23:14:46 +0300 From: Vlad Buslov To: netdev@vger.kernel.org Cc: jhs@mojatatu.com, xiyou.wangcong@gmail.com, jiri@resnulli.us, davem@davemloft.net, Vlad Buslov Subject: [PATCH net v2 0/3] Fix Qdisc destroy issues caused by adding fine-grained locking to filter API Date: Thu, 19 Sep 2019 23:14:35 +0300 Message-Id: <20190919201438.2383-1-vladbu@mellanox.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org TC filter API unlocking introduced several new fine-grained locks. The change caused sleeping-while-atomic BUGs in several Qdiscs that call cls APIs which need to obtain new mutex while holding sch tree spinlock. This series fixes affected Qdiscs by ensuring that cls API that became sleeping is only called outside of sch tree lock critical section. Vlad Buslov (3): net: sched: sch_htb: don't call qdisc_put() while holding tree lock net: sched: multiq: don't call qdisc_put() while holding tree lock net: sched: sch_sfb: don't call qdisc_put() while holding tree lock include/net/sch_generic.h | 1 + net/sched/sch_generic.c | 37 +++++++++++++++++++++++++------------ net/sched/sch_htb.c | 4 +++- net/sched/sch_multiq.c | 23 ++++++++++++++++------- net/sched/sch_sfb.c | 7 ++++--- 5 files changed, 49 insertions(+), 23 deletions(-) -- 2.21.0