Received: by 2002:a05:6358:53a8:b0:117:f937:c515 with SMTP id z40csp4980148rwe; Mon, 17 Apr 2023 23:39:11 -0700 (PDT) X-Google-Smtp-Source: AKy350YL3RW8JlrEHsiPteQucz9IAAxNnMLKqLGkCeWy4YsUc4GFAIo4MQbe1W36Fnnv8hwjgkFU X-Received: by 2002:a05:6a20:a10d:b0:f0:7bd5:cc06 with SMTP id q13-20020a056a20a10d00b000f07bd5cc06mr2472754pzk.16.1681799951680; Mon, 17 Apr 2023 23:39:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681799951; cv=none; d=google.com; s=arc-20160816; b=kxgeWhjEoPOUXUzKMq9carNbDd9+Nd+fdMc+ZSCZ/u8HKwTcKEAKbuTWH0wzLb/l08 zeO8ZNNXwlyTNuCoKYHOzT1+Xz0YRJlxoIFuUYDvq2rYgw3+MtIJwF8c6VDaSXsTb4y9 rV53TE8lvoTzNRA5eBTEHBAn1Y6YKecFLL8eCj8lo0LQ+zBkq6tw7BSfSD5U8PUMmkx/ 9pivFreZbcuSljQltpIkiN6j50ffPEQlSc0ppcw5zcPaMq1zumcLuzYRfPMreCslYhYQ EByGJmesfRjzd5DpaD8OHxKZsBjMzK2p9c5Z0uVuENK+Hf+09zwFzOEzf5uRqGiVhaHh AuZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:mime-version:user-agent :content-transfer-encoding:organization:references:in-reply-to:date :cc:to:from:message-id; bh=tNZEWgbEEww+jj44RU8uNnz+4KbQ86iBDdhLSR4QDiM=; b=MHYFJu07p4bUn2sr2GlzWxfMEC7oKMv44J1Egp4uMQntVU0eOtcfljYpDciu8nl7Aw af4NxbfGiS0Km74XN0c94VJMA1YDjlfdQiA1Bbo8fjYogjTapInmvvmKrcVdjLA9SvE9 fjE/WbrEKGoSjb/6ouCf717WbzzgWZvG+Bn4iZ+4hQk+BFfpWVoHUpEUF9lgZhDbNn01 i9UpTT3N5vK1eVYHyNznvmmczrubGl9+kObN0HhBE/5/5g3/H4NTNdPNZui12IdNsz3B pGVnq7wscdeaiNeq82kkIE+mQ2j1HhFCbC+UOuVa/iT8ZajYMNYUwZ9iMEaYHMFLdYmZ vbmg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y3-20020aa793c3000000b0063b7b7712a5si8349133pff.304.2023.04.17.23.38.58; Mon, 17 Apr 2023 23:39:11 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231156AbjDRGeL convert rfc822-to-8bit (ORCPT + 99 others); Tue, 18 Apr 2023 02:34:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35952 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230093AbjDRGeG (ORCPT ); Tue, 18 Apr 2023 02:34:06 -0400 Received: from baldur.buserror.net (baldur.buserror.net [165.227.176.147]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E5D4640C6 for ; Mon, 17 Apr 2023 23:34:04 -0700 (PDT) Received: from [2601:447:c680:c050::4033] by baldur.buserror.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1poeqP-00AZE6-WD; Tue, 18 Apr 2023 01:29:38 -0500 Message-ID: <497c92b50103a4ba3469cd41edbd967ee9bfb291.camel@buserror.net> From: Crystal Wood To: Sean Anderson , Li Yang , linuxppc-dev@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org Cc: Vladimir Oltean , Claudiu Manoil , Camelia Groza , linux-kernel@vger.kernel.org, Roy Pledge , "David S . Miller" , Madalin Bucur Date: Tue, 18 Apr 2023 01:29:36 -0500 In-Reply-To: <3b707d1c-1120-274f-6cd6-b3283a334563@seco.com> References: <20230404145557.2356894-1-sean.anderson@seco.com> <20230404145557.2356894-2-sean.anderson@seco.com> <48dacc58c7c04ba8a005d8edd56744c8455f007e.camel@buserror.net> <3b707d1c-1120-274f-6cd6-b3283a334563@seco.com> Organization: Red Hat Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT User-Agent: Evolution 3.44.4-0ubuntu1 MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2601:447:c680:c050::4033 X-SA-Exim-Rcpt-To: sean.anderson@seco.com, leoyang.li@nxp.com, linuxppc-dev@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org, vladimir.oltean@nxp.com, claudiu.manoil@nxp.com, camelia.groza@nxp.com, linux-kernel@vger.kernel.org, roy.pledge@nxp.com, davem@davemloft.net, madalin.bucur@nxp.com X-SA-Exim-Mail-From: oss@buserror.net X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 Subject: Re: [PATCH v3 2/2] soc: fsl: qbman: Use raw spinlock for cgr_lock X-SA-Exim-Version: 4.2.1 (built Sat, 13 Feb 2021 17:57:42 +0000) X-SA-Exim-Scanned: Yes (on baldur.buserror.net) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2023-04-11 at 11:09 -0400, Sean Anderson wrote: > Hi Crystal, > > On 4/4/23 12:04, Sean Anderson wrote: > > On 4/4/23 11:33, Crystal Wood wrote: > > > On Tue, 2023-04-04 at 10:55 -0400, Sean Anderson wrote: > > > > > > > @@ -1456,11 +1456,11 @@ static void tqm_congestion_task(struct > > > > work_struct > > > > *work) > > > >         union qm_mc_result *mcr; > > > >         struct qman_cgr *cgr; > > > >   > > > > -       spin_lock_irq(&p->cgr_lock); > > > > +       raw_spin_lock_irq(&p->cgr_lock); > > > >         qm_mc_start(&p->p); > > > >         qm_mc_commit(&p->p, QM_MCC_VERB_QUERYCONGESTION); > > > >         if (!qm_mc_result_timeout(&p->p, &mcr)) { > > > > -               spin_unlock_irq(&p->cgr_lock); > > > > +               raw_spin_unlock_irq(&p->cgr_lock); > > > > > > qm_mc_result_timeout() spins with a timeout of 10 ms which is very > > > inappropriate for a raw lock.  What is the actual expected upper bound? > > > > Hm, maybe we can move this qm_mc stuff outside cgr_lock? In most other > > places they're called without cgr_lock, which implies that its usage > > here is meant to synchronize against some other function. > > Do you have any suggestions here? I think this should really be handled > in a follow-up patch. If you think this code is waiting too long in a raw > spinlock, the existing code can wait just as long with IRQs disabled. > This patch doesn't change existing system responsiveness. Well, AFAICT it expands the situations in which it happens from configuration codepaths to stuff like congestion handling. The proper fix would probably be to use some mechanism other than smp_call_function_single() to run code on the target cpu so that it can run with irqs enabled (or get confirmation that the actual worst case is short enough), but barring that I guess at least acknowledge the situation in a comment? -Crystal