Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp1429341imm; Wed, 23 May 2018 16:15:45 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpgxe+1DJ6GE8kjHlBMGrkKOc/bSQHIifoohND4PZ4PAkqdq5a/AsxDJOQStuDOpGTXu+v5 X-Received: by 2002:a63:6fcb:: with SMTP id k194-v6mr3818199pgc.349.1527117345058; Wed, 23 May 2018 16:15:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527117345; cv=none; d=google.com; s=arc-20160816; b=HK8cSCQmZAB1oqX78JkcSHlSo2vn7+VwupOMf/R4uE9up8dERh6OvmK76wZZSEOD1m tPw2k0Tu0fMoeY8RAp8TMjcO/AkbHQj8f99xvopDqK00u5ob1i463DI4HHK+cyEZobiO /K7jNr4U7Ukmry0SezRHMSVCR/b5o00agS7/zRdOxtaksPjhYFOeB8pNRpQqr90C9htR XopKhUDYdmwSPjXp5mtg/au6JmLlJiT5zlZ83qRNpcBzVZJRlwuBSKz2nPHb3mvAyfFR GTWYKqW6zogjATx/n5pjEb7a/q3GKM5kQaHBt03I7xSOKm11vqhx8Z9dCSQ6TOfNh4bW eGow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=RnX0IUnfcBH0l3XoQ5XpYSVlNf9QBRo+PKEA5n+oKtk=; b=wgoo4sqt8Be5yjNUTG2sntm1oXkkhLMd1/3elJUIUUfT6K5Cqf1LynZNsFeKGsO25J WYNONpKcZ11GJaoP9tWNy88Wm5TEkus4gvIoUkt+TD8TteHpchIs7C/bSFYB+r+wt0xR dYEZLLawMGBQK6CPpfl+FoVcLEstPm7Lu6FvXoCzgXZTZ1s54takI++nZkEzfrLlZUp0 ww+R22/9hXpBsC0hIeX3T5WtlJupmuzahv7ozyaeeTEohfo6zuce7uC5rjEEVhuesFIX zThMJOB0zknQKoBytVxuBDGTRPt5+wkW+Wb6SxiumqO/X8VAmc8/8yv0LYJtU4mVJyes 03qg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=g4m3gur/; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v11-v6si19666729plp.25.2018.05.23.16.15.30; Wed, 23 May 2018 16:15:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=g4m3gur/; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935092AbeEWXPR (ORCPT + 99 others); Wed, 23 May 2018 19:15:17 -0400 Received: from mail-pl0-f68.google.com ([209.85.160.68]:36701 "EHLO mail-pl0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935051AbeEWXPN (ORCPT ); Wed, 23 May 2018 19:15:13 -0400 Received: by mail-pl0-f68.google.com with SMTP id v24-v6so13926921plo.3; Wed, 23 May 2018 16:15:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=RnX0IUnfcBH0l3XoQ5XpYSVlNf9QBRo+PKEA5n+oKtk=; b=g4m3gur/TUck/LfTJJ0HLMhDO6kUovtrI8jMN5FD11M/8MF0+2u2CP8CM8MMzw1AEO /DngiauuQYGg2o4ahYci7Ph2xrAvZHgXhZUOSjxFJnlts5/H2u4xIxuVLTEhXQaBprAp V79EfULRohDL6tDQgqMOQlPXaOPstMcsOV6iUSH904OiXnvA1iUJT+drZIR/6jNSglv4 wc8GTznj24Vk9S+n7T4nLxLfeeRjltqzp+1J7H4GbD/C3GVXtLyqjwVBDOydXgu52jrG sIYLLDYSdFSj3eP0X4VD7Klm8vtB3vXC8qEBSfHFBCDrF4d/VgBtuANkrs9CX6mr5lTB fCPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=RnX0IUnfcBH0l3XoQ5XpYSVlNf9QBRo+PKEA5n+oKtk=; b=TTlo/VfFXiwefuPsGINGgq8LA/hY0MHkcg3+kFesH5CatLDgpcs3MUr2CKKYRky22k JfTjnomzIIpwFyFEMPqpNcRkQlj/tIbnx8zxPbfA3lUagj5LsMcEl98UafU1V2rFftxY S1sVn/qa1y667Qn/7QYEzSF5Ox2wcpBPYZQTedDWPztJlzB47yuzvyZf3LvA3G8/WlBx bkTOZ4nL4eYA3WiIY3AhtfE0ePwsEqiETpiqn6SpnS1pGYiAh+IEWgEx352iecBqmW7l CQ0qNCZht2D/6+WvISAu1e6VG3FjOlph8ha7LJtkDZdat5lsS83Di7+q79IbUj9ogLlX N6Ug== X-Gm-Message-State: ALKqPwdafMmR/Wzo89bhHBwUCYGUdahTmKthNrS5Kh1+jDOAkhVAzdYF elJnnDAsplVVXqRXO0RyV/85sZPns+KSSOdyjBY= X-Received: by 2002:a17:902:20e8:: with SMTP id v37-v6mr4737167plg.354.1527117312468; Wed, 23 May 2018 16:15:12 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a17:90a:b398:0:0:0:0 with HTTP; Wed, 23 May 2018 16:14:51 -0700 (PDT) In-Reply-To: <1527065574-11299-1-git-send-email-vladbu@mellanox.com> References: <20180523073239.GC3155@nanopsycho> <1527065574-11299-1-git-send-email-vladbu@mellanox.com> From: Cong Wang Date: Wed, 23 May 2018 16:14:51 -0700 Message-ID: Subject: Re: [PATCH net-next v3] net: sched: don't disable bh when accessing action idr To: Vlad Buslov Cc: Jiri Pirko , Linux Kernel Network Developers , Jamal Hadi Salim , David Miller , LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 23, 2018 at 1:52 AM, Vlad Buslov wrote: > Initial net_device implementation used ingress_lock spinlock to synchronize > ingress path of device. This lock was used in both process and bh context. > In some code paths action map lock was obtained while holding ingress_lock. > Commit e1e992e52faa ("[NET_SCHED] protect action config/dump from irqs") > modified actions to always disable bh, while using action map lock, in > order to prevent deadlock on ingress_lock in softirq. This lock was removed > in commit 555353cfa1ae ("netdev: The ingress_lock member is no longer > needed."). > > Another reason to disable bh was filters delete code, that released actions > in rcu callback. This code was changed to release actions from workqueue > context in patch set "net_sched: close the race between call_rcu() and > cleanup_net()". > > With these changes it is no longer necessary to continue disable bh while > accessing action map. > > Replace all action idr spinlock usage with regular calls that do not > disable bh. Looks much better now! I _guess_ we perhaps can even get rid of this spinlock since most of the callers hold RTNL lock, not sure about the dump() path where RTNL might be removed recently. Anyway, Acked-by: Cong Wang