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=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, 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 25FB4C169C4 for ; Mon, 4 Feb 2019 03:27:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E6B532083B for ; Mon, 4 Feb 2019 03:27:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="B65a9w0R" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727997AbfBDD1L (ORCPT ); Sun, 3 Feb 2019 22:27:11 -0500 Received: from mail-yb1-f175.google.com ([209.85.219.175]:32899 "EHLO mail-yb1-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727636AbfBDD1L (ORCPT ); Sun, 3 Feb 2019 22:27:11 -0500 Received: by mail-yb1-f175.google.com with SMTP id m132so5084004ybf.0 for ; Sun, 03 Feb 2019 19:27:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=aP1IaCmL3k3weIyrpV/6Vm+Otf6YV2fNQB25nnaMevc=; b=B65a9w0RHeVLioJDK3aXnrWcHWzMY4iErNz1k3zkTR34YTwQx8v6DOW3snKY+Hnp4Q mPeVzVeGp67BJg9nIc8GbM0NzBYOXIyCjW6oP2kQGYsfyWTngfOnb7UiUWekjdt4GmO/ eEVoLAESngBaDBNIJhbd/gihKcruoPnGj5pccWc6G+rdbWCP8WQOv/tUSLY6aGKZUI4b cISGTac+g4WCeL+wl/4Fp/E55ZbOLo4LBawL3M34ADnwfzBnx7MY2qAhZiHE7Tk5qnlH DFAyC99Tde3WGr4Jqgvf8yYRcJhNnfFvqwHFE7Zvc+Zc2ZJVL1PZOtI366RCCx6CVTbD 8KpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=aP1IaCmL3k3weIyrpV/6Vm+Otf6YV2fNQB25nnaMevc=; b=c6ziqEwsDNVt0xBHEw31ildkopUMnRJFkYOqgmZx+Yx9+GjUARb8ZKrp5xeLmP6CEa ilVzoj5HuAxyNRfNSHcYkgB0QhLHdq2j7yjgHlSvbdXdRr726eBEYLv3BBwNgdNgxcsj fgyYj6QxqAMAtciYwFB3ppg0tWIOufJX//Y9aKgmf2MSbdClSnZVguYg2uoPLiIcS06R Pjoboqkj4BqXVanbnT+XVksOou8xvhCSgDaiUmuuhW1e7DbRMDT6G5Ap3GbJ96hY/LOh uZLrG+SGO/1+WmU6CdQXRyTvx/sQdukWVl+mOWVx88fsEpke7OgwlVHzREwLAym7lSdQ HmIQ== X-Gm-Message-State: AHQUAubZkxQPVIzks8PNGCo6iTnhyTIJDR6yKjqI+nB0nk0zRSnCvpuk P3qdPqIMXxDjEUydnjycy9A= X-Google-Smtp-Source: AHgI3IY0+Z1pyBP4Wxw4j0mrYtOBExMG3Vbi4PG0j92DKPE+IpR667iYm6yYI4hcN/fCjIOZqj3Y5w== X-Received: by 2002:a25:9107:: with SMTP id v7mr18808473ybl.261.1549250830299; Sun, 03 Feb 2019 19:27:10 -0800 (PST) Received: from [192.168.86.235] (c-73-241-150-70.hsd1.ca.comcast.net. [73.241.150.70]) by smtp.gmail.com with ESMTPSA id x203sm5569355ywd.41.2019.02.03.19.27.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 03 Feb 2019 19:27:08 -0800 (PST) Subject: Re: [Patch net-next] net_sched: add performance counters for basic filter To: Cong Wang Cc: Linux Kernel Network Developers , Jamal Hadi Salim , Jiri Pirko References: <20190118011401.28220-1-xiyou.wangcong@gmail.com> From: Eric Dumazet Message-ID: <5d0ccee0-7ff0-ea0e-2181-2aa2dd256af3@gmail.com> Date: Sun, 3 Feb 2019 19:27:07 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On 02/03/2019 11:35 AM, Cong Wang wrote: > On Sun, Feb 3, 2019 at 10:35 AM Eric Dumazet wrote: >>> + for_each_possible_cpu(cpu) { >>> + struct tc_basic_pcnt *pf = per_cpu_ptr(f->pf, cpu); >>> + >>> + gpf.rcnt += pf->rcnt; >>> + gpf.rhit += pf->rhit; >>> + } >>> >> This looks missing some synchronization of some sort for 32bit kernels ? > > I don't know, u32 filter has literally same code: > > for_each_possible_cpu(cpu) { > int i; > struct tc_u32_pcnt *pf = per_cpu_ptr(n->pf, cpu); > > gpf->rcnt += pf->rcnt; > gpf->rhit += pf->rhit; > for (i = 0; i < n->sel.nkeys; i++) > gpf->kcnts[i] += pf->kcnts[i]; > } > > which has been there for years... > Then u32 (or at least CONFIG_CLS_U32_PERF) was also broken.