Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp4636013imm; Mon, 14 May 2018 10:18:55 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpTkH2TqcMdr2pHaShJZyTZGrLokdSep/RpUvnVuoxjhFzPos1Q98CpfNIY0fZ1IVdmmwTA X-Received: by 2002:a62:e211:: with SMTP id a17-v6mr11186658pfi.126.1526318335736; Mon, 14 May 2018 10:18:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526318335; cv=none; d=google.com; s=arc-20160816; b=YpvO9cv0EldD9c7gaYsdWRpHYSZHgVMyiZBIYhMmwg5hSuqVDa2SRAC4vAAdQsThyt iBaCPs/xi0UYDPsCROuiEtp2OhAJf8zCOn9RmHdeBfp9U4zxpA/VsM0VbvRIQ8LqtYbk iOJQUgCkO7+3egNxvp+mn9UQDy+XqKpKRpikWJCiISSIcp38OskquWB0nFiKqmhwsdvb g59YxVmdLvYkgFTmhYECcxgV/pB7EXUbbkoXVMFQY+ouNfaUBO7BSniBinWbxr52UFOo JBZqJw0p6o2bnGR1aY7kIkPF4FjGOG49M9uhSJEHtDvD5mWBOD3DuUra3T59vSnlacXn hzww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=9C1pfkFRTOwOZhBWcqQbDjc9Kjhwkmu3D73u3HTCkWc=; b=YVa5fouINKkIAeGk0GLDF+gj3UtJN6s2JKelgEK1Hi1qlNvQ4t/AHvwmQ0dJjrYbb9 qsbBv9AIVvdb2i7orI02Rr8KbUXlpaOgnpOtvXss0sWG4iDw/uOgQSyYtof8TnBATh9w q6cK+Sk4PQxCvHpJ8yDFqYF0y9vhU4yn7JY1qUg2p00QylAKBtgZSa0guLtX2CXD/rjl jdA+PNrjoP0af0zLgzQeJgVPFbyIVDrUkUbbSApN9msYQy411JYcj8JxJkFrjy1wDThJ ViTp+B2j5+uBFdaZI4aWuqYrXuCCb8pPQ1EIKLpsrmJdOScx8DHilipy/m9upUeC9u20 8RHA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@resnulli-us.20150623.gappssmtp.com header.s=20150623 header.b=BaY3X4ac; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b2-v6si8145295pgn.276.2018.05.14.10.18.40; Mon, 14 May 2018 10:18:55 -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=@resnulli-us.20150623.gappssmtp.com header.s=20150623 header.b=BaY3X4ac; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932081AbeENPQu (ORCPT + 99 others); Mon, 14 May 2018 11:16:50 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:37950 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753543AbeENPQs (ORCPT ); Mon, 14 May 2018 11:16:48 -0400 Received: by mail-wm0-f67.google.com with SMTP id m129-v6so15897236wmb.3 for ; Mon, 14 May 2018 08:16:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=9C1pfkFRTOwOZhBWcqQbDjc9Kjhwkmu3D73u3HTCkWc=; b=BaY3X4acDT8mvP+TxfXg+gf4w5F0DA6QMIDs7VSVfnujRgUpDCVvfHaWAYQtWt8ifk MCqoBezgaKV+ucIoA6C+rwbjiLagWjmIBsWnQBH7ODeIcJrcxyIB6tWqRMLzkQNx0PyJ 8ByfqEf6wvzNxoglH0PLJkxpGuipNBtcUxd0uD63nS+fYYwpRYqIekI4s+5ExM62DKIu dbALzdOlrtPT8xJyH1tDw5l9T71AXeWVsjiHJCa5Uj4LMmc+Za5wET7/URuZf4rKmfu+ akUoSqAnCP0cHgTIX0ej712dqx9U6BC4lC4aupnIRzwJtpA/CVG8+Ptw+1vgEa16bEoX t8wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=9C1pfkFRTOwOZhBWcqQbDjc9Kjhwkmu3D73u3HTCkWc=; b=tn1S39vGZ1Niffl9VbSCljNBaZW0md4ycVsU1zG+ZYImh/VqYv27SD8V+PISalVYHM 2aXbvQH2NiyW/Ch0SHyTgcnoq+5tHVXjqXipL8jloT5CUarEUkWdFRom5epgeq8Vwd2H x2FUpZw+sKxK40uFhxe39/aezJjbFTzpr0hL6U4983i0ZKu2mSpv8HMUzG7xquc2dz0P 6rmKVi2JaXchAF1qQPR5uoytaLCVQyUSJ9kMyVOS5zmkcXmxstShKvRtL+izWs2xfjaV oWEBphkZ13qc1QFk5whbtjGPBMggRBQicgRlXEkYo5EqFqaoypwsmKauex5MjiDpc2p0 gH9g== X-Gm-Message-State: ALKqPwelw9wytvtbReHQCODl4afmDZyfF3eJ+UFF41KhebELnvOwtKco i9afUEVeyQ0AvBYPVLLjzVqDoQ== X-Received: by 2002:a1c:c46:: with SMTP id 67-v6mr5815242wmm.79.1526311006961; Mon, 14 May 2018 08:16:46 -0700 (PDT) Received: from localhost ([89.24.58.58]) by smtp.gmail.com with ESMTPSA id y84-v6sm8947351wmg.44.2018.05.14.08.16.45 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 14 May 2018 08:16:46 -0700 (PDT) Date: Mon, 14 May 2018 17:16:41 +0200 From: Jiri Pirko To: Vlad Buslov Cc: netdev@vger.kernel.org, davem@davemloft.net, jhs@mojatatu.com, xiyou.wangcong@gmail.com, pablo@netfilter.org, kadlec@blackhole.kfki.hu, fw@strlen.de, ast@kernel.org, daniel@iogearbox.net, edumazet@google.com, keescook@chromium.org, linux-kernel@vger.kernel.org, netfilter-devel@vger.kernel.org, coreteam@netfilter.org, kliteyn@mellanox.com Subject: Re: [PATCH 04/14] net: sched: implement unlocked action init API Message-ID: <20180514151641.GD1848@nanopsycho> References: <1526308035-12484-1-git-send-email-vladbu@mellanox.com> <1526308035-12484-5-git-send-email-vladbu@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1526308035-12484-5-git-send-email-vladbu@mellanox.com> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Mon, May 14, 2018 at 04:27:05PM CEST, vladbu@mellanox.com wrote: >Add additional 'unlocked' argument to act API init functions. >Argument is true when rtnl lock is not taken and false otherwise. >It is required to implement actions that need to release rtnl lock before >loading kernel module and reacquire if afterwards. > >Signed-off-by: Vlad Buslov [...] >@@ -721,9 +722,11 @@ struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp, > a_o = tc_lookup_action_n(act_name); > if (a_o == NULL) { > #ifdef CONFIG_MODULES >- rtnl_unlock(); >+ if (!unlocked) >+ rtnl_unlock(); > request_module("act_%s", act_name); >- rtnl_lock(); >+ if (!unlocked) >+ rtnl_lock(); Although I don't like this conditional locking scheme, I see no other way to solve this :/ But I think would be better perhaps to rename "unlocked" to something like "rtnl_held". [...]