Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp649007iog; Thu, 30 Jun 2022 07:39:32 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vss9EjLL6q6vkX/gucnCEhGIMBc5ljF7cH2KuqxAaepUoDdOabm0CQ5j/n9eEkvvZeWwu0 X-Received: by 2002:a17:906:9756:b0:722:ec43:9252 with SMTP id o22-20020a170906975600b00722ec439252mr9589825ejy.299.1656599972143; Thu, 30 Jun 2022 07:39:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656599972; cv=none; d=google.com; s=arc-20160816; b=CVaknTuhev6pTaiUKTr07lcFbWc9oQM6KfA2TjzS+XFq36QNXpD1/KDdw/Pnk9qNZn eXT97443YUWMu+nzJu3lbmEc6M2gbnHxlMc8QN5jYeGjL/oR/gVdwQnF6rVKYq2u3kQH FLnN8smP0iT4Qc1iJa2U07zf2mCFqGgxDrVgpluRUK89O4qcHGMWMBipLKzPcoBvppDQ qm18nOe55YieXGwURkj7Cq4Ln0PQOmrJ5MKz8WMs0drNnUT/19Te+LL8btMxn9Z5vBzU 3yyiGQk09nOM10qJeAYOaKBHQpWFs2GwmO0+rd6gC+X11gq1x7AM0S1URi6eGecDFn/8 v5Ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=T+ea1w8QRkUddSdVnFCFkg9e+PUNpgdO8wtU8eLtl2c=; b=XT1BuuemjbkUfd78YpHQNgzmNh8amGA09GsUF1xzh5moSqQastjibGDDqMMjElt0cM uCQUrRgaODMQ8lI3Kcg+035S0vw45KxKmEN7KdYaIJb52rB1ZBo/W2TEnjb+IIz1HUov 5eD0ru2A6hVe3LFB7Hqhs/Fb9onw0wALEM8PDiWbY58kPahHNCeCyrUzzAhJyHDOFRLd HEpVswCHNGducgHiWGWxxGLgyeHkWBGvyUDVdeI+XQVEFRuvNd6o5IF9nRaS6Kqxbe7E /ufrDs5cT9GCq6Jku2nqGQujPmd0G0cAOCFb96a3LNsG9MXsjWGaBCnlFL/vedZEmMGQ GXfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=bm5xbqUh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sd39-20020a1709076e2700b0070dcedd6ca2si19124134ejc.713.2022.06.30.07.39.06; Thu, 30 Jun 2022 07:39:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=bm5xbqUh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237066AbiF3OPO (ORCPT + 99 others); Thu, 30 Jun 2022 10:15:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40938 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237203AbiF3OO1 (ORCPT ); Thu, 30 Jun 2022 10:14:27 -0400 Received: from mail-yw1-x112b.google.com (mail-yw1-x112b.google.com [IPv6:2607:f8b0:4864:20::112b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 06FDA53D0D for ; Thu, 30 Jun 2022 07:00:00 -0700 (PDT) Received: by mail-yw1-x112b.google.com with SMTP id 00721157ae682-2ef5380669cso179772507b3.9 for ; Thu, 30 Jun 2022 07:00:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=T+ea1w8QRkUddSdVnFCFkg9e+PUNpgdO8wtU8eLtl2c=; b=bm5xbqUhoFqxsUzsolFkWpWmVa3yxNJ/oI3RgKxw7J5R71k2WEYGS5kZDr4PS9cLjF C0IBLt/IfQbIkso14ODe2bFQUuv2rNwuxnmVHLRDNSpZXgymttSCff/Nv6v9xzjKonuL 6Mhbgbv0tvyETNZ77A2JWvba5VrGuTfm1R/S2qZYRlkZaQdn4t7mth0oLsxxwgfwJGgM 31XSsdLp5Ss46yxewm2/qz9p0alUjrfCW0q5V9mwEx1ppoECg7dU5BTZDunWpVe6yRWl AkhZhqwTF4UQy5fn3C57peUR+X4T3zJdreQJ58VfoRQhd8TStPruf2KnU1zBJ2n1ZoTl 8BTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=T+ea1w8QRkUddSdVnFCFkg9e+PUNpgdO8wtU8eLtl2c=; b=bFnR7BJaSL0RL1YYM1afRWhWjgqod33vl9l5rWJPcKQBjljpqeGHbRvEZzQrGagPFO Bvx0saEDM13MpwBqFnsqPGb2PDiqDANC8bT8R4SJr1DWSVJRv371w4lmdKOUbIHx8ryM b3DqWmXQ5LOhrtnOro5/131bQWZClrVEITHnH0iJlFSQLbLnNu9eiF0DvrQoXUvZS69+ 8XKw6Teyh03Lq76hmPvVJwWvEOwazyoIbDgpq3krOd7aNVxdfJEpJJgRMUS2mBgMzyfl nlcOM1U1t7ogwFLH9li3z6lg6m6ElGWgaManl0ZSRWm8yzfMLDKiT5Pc0PHahwvO6s65 fADg== X-Gm-Message-State: AJIora/7zAD3CKqwe3lFHHv1RHDkMoMd/R8dR4DflOfN6cPiS67FlA6l d4uvofNQUH/AzecbiUCdhzbxgiTNsCKZYCacPFsGsQ== X-Received: by 2002:a81:5c9:0:b0:317:b1a5:bf8b with SMTP id 192-20020a8105c9000000b00317b1a5bf8bmr10445328ywf.489.1656597599582; Thu, 30 Jun 2022 06:59:59 -0700 (PDT) MIME-Version: 1.0 References: <07736c2b7019b6883076a06129e06e8f7c5f7154.1656487154.git.mqaio@linux.alibaba.com> <8b012bbd-a175-5699-1f26-108dd52fc5b7@linux.alibaba.com> In-Reply-To: <8b012bbd-a175-5699-1f26-108dd52fc5b7@linux.alibaba.com> From: Eric Dumazet Date: Thu, 30 Jun 2022 15:59:48 +0200 Message-ID: Subject: Re: [PATCH] net: hinic: avoid kernel hung in hinic_get_stats64() To: maqiao Cc: David Miller , Jakub Kicinski , Paolo Abeni , gustavoars@kernel.org, cai.huoqing@linux.dev, Aviad Krawczyk , zhaochen6@huawei.com, netdev , LKML Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 30, 2022 at 3:57 PM maqiao wrote: > > > > =E5=9C=A8 2022/6/30 =E4=B8=8B=E5=8D=886:23, Eric Dumazet =E5=86=99=E9=81= =93: > > Note: The following is racy, because multiple threads can call > > hinic_get_stats64() at the same time. > > It needs a loop, see include/linux/u64_stats_sync.h for detail. > Thanks for reminding, and I noticed that nic_tx_stats/nic_rx_stats has > been protected by u64_stats_sync in update_t/rx_stats(), it seems that > it's unnecessary to use spinlock in update_nic_stats(). It is necessary to use the spinlock to protect writers among themselves. > > I will send v2 as soon as possible, thanks.