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=-1.0 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS autolearn=ham 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 77D83C282DD for ; Thu, 18 Apr 2019 18:02:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 46CFC218D3 for ; Thu, 18 Apr 2019 18:02:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=netronome-com.20150623.gappssmtp.com header.i=@netronome-com.20150623.gappssmtp.com header.b="yNaTckkz" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390755AbfDRSCX (ORCPT ); Thu, 18 Apr 2019 14:02:23 -0400 Received: from mail-qt1-f195.google.com ([209.85.160.195]:38768 "EHLO mail-qt1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390745AbfDRSCV (ORCPT ); Thu, 18 Apr 2019 14:02:21 -0400 Received: by mail-qt1-f195.google.com with SMTP id d13so3133350qth.5 for ; Thu, 18 Apr 2019 11:02:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :organization:mime-version:content-transfer-encoding; bh=5O0LdkIB/DBkVoZGNlLhm3w8JSWLWfXNNHM/k5j0N6M=; b=yNaTckkz79h3TJsQx5WDoRg3HUKMPTZvQElifnU9R4/A3EjdIT/64jMwYRhrIPziC/ lPnb+Km6CiukR+lq1DyDmPdVqpy4KQFoUHb1lExuNqkhOXchCC7KzxF2bpCGY1Ocgrby NPfLJYJSgJPD1wq6lPiY9TePRaZvMxyB0JrCd3GLRgYhHoEqtX+pumncWQiUp8BnH3Gf bmhf5+8+z8n8IT/WrnPe39q1Ewy/0Ra4uJWGPiwQsKGOxYIteCjISa/NJ6Pv/BYdnN2a H16PPtrdlYJgVB/3v+I68kyHrOfuhelM0pI4/5PvfQf9EXJ65fs4MtgvVZQvcIXT7EI2 e+NQ== 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:in-reply-to :references:organization:mime-version:content-transfer-encoding; bh=5O0LdkIB/DBkVoZGNlLhm3w8JSWLWfXNNHM/k5j0N6M=; b=jnrYdKp8+3QLn4bajPsbiQ636vojTLE9HAK4QBsnjXlxTzDSAhd/ZB6/ONTO5pEUB/ gD+fa1IdUaAGBfNosilzkPu7ZO0gGdhw0qSj36Lu4vvDinVyqNhtMyBWrKYrt2+B5M5W i77u/c4+oh8aF2JYwR6TLg+ujeAy7suwDyzl3yuTBVgPjSyFxqbePeMWvh0Qqup4lL3+ lJw9eqr06m+DLsI/u3Jm2USB2tzNvWYxopoe7TZUWsVIY9r5fkDv8v9dWREJycTuVSXr AQ0aj28dA62EMEfZh6RUmBuv40Rjl0hTbjquKmNeqIr41e+Fcs6arNUmPyHmHoXBGjUh 3tUw== X-Gm-Message-State: APjAAAXUE4cH6cjq0Zbs+mXi2ykFcDIp2WXeAGJC21knH9DIsNCN+0AC 4pnCvkNAQOInK7z4KDcj52GM0A== X-Google-Smtp-Source: APXvYqxHifpv1OC0srPOiymONM+puiuIpykQsVqv2uEUT1YAxRzzzw9ZwbGGOIA+NEafu74vfXQ3mA== X-Received: by 2002:a0c:99ca:: with SMTP id y10mr77797626qve.8.1555610540390; Thu, 18 Apr 2019 11:02:20 -0700 (PDT) Received: from cakuba.netronome.com ([66.60.152.14]) by smtp.gmail.com with ESMTPSA id a67sm1252228qkb.53.2019.04.18.11.02.19 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 18 Apr 2019 11:02:20 -0700 (PDT) Date: Thu, 18 Apr 2019 11:02:16 -0700 From: Jakub Kicinski To: Vlad Buslov Cc: "netdev@vger.kernel.org" , "jhs@mojatatu.com" , "xiyou.wangcong@gmail.com" , "jiri@resnulli.us" , "davem@davemloft.net" Subject: Re: [RFC PATCH net-next] net: sched: flower: refactor reoffload for concurrent access Message-ID: <20190418110216.406df370@cakuba.netronome.com> In-Reply-To: References: <20190410100014.784a7f9a@cakuba.netronome.com> <20190416142047.3453-1-vladbu@mellanox.com> <20190416144933.4ddb0e68@cakuba.netronome.com> <20190417093432.495dcda6@cakuba.netronome.com> <20190418104619.096a4703@cakuba.netronome.com> Organization: Netronome Systems, Ltd. MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Thu, 18 Apr 2019 17:58:26 +0000, Vlad Buslov wrote: > On Thu 18 Apr 2019 at 20:46, Jakub Kicinski wrote: > > On Thu, 18 Apr 2019 16:33:22 +0000, Vlad Buslov wrote: > >> Considering this, I tried to improve my solution to remove possibility > >> of multiple adds of same filter and it seems to me that it would be > >> enough to move hw_filters list management in flower offloads functions: > >> add filter to list while holding rtnl lock in fl_hw_replace_filter() and > >> remove it from list while holding rtnl lock in fl_hw_destroy_filter(). > >> What do you think? > > > > Sounds good for now, but I presume the plan is to get rid of rtnl > > around the driver call.. at which point we would switch to a rwlock? :) > > Yes, but I would like the lock to be in cls hw offloads API > (tc_setup_cb_replace(), etc) and not in flower itself. That would also > solve deadlock issue and make code reusable for any further unlocked > classifiers implementations. And then the HW list goes along with it into the common code? That'd be quite nice.