Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp1711030rwd; Sun, 28 May 2023 00:53:26 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6x68SWZgSe4QV/Q+pgmJOQuuIjIOBSt3Vlu65/YcO0ltOMQeBBP+Yb/OJ23bL9a/7tGTN/ X-Received: by 2002:a05:6a21:6da1:b0:105:66d3:8538 with SMTP id wl33-20020a056a216da100b0010566d38538mr5596293pzb.8.1685260405859; Sun, 28 May 2023 00:53:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685260405; cv=none; d=google.com; s=arc-20160816; b=Pu8R0ASCecrAQ0lvwmspQBHjiQ5YX+sfCJSLNCT7bl3D2x7CttNDi6gWigw3+UJ0yG oNi9pYju+mzvv2kamDEbBnBQp2Mj2bFGXxjpqGqO7MF8kq/6deR95f4SXv2pwQfRzsk1 93N65nt1LnXUNEek2XFoCK0HaG9K7Qj01YGvho4zU3JDqptdAKKJyzfRGfNM6QRuUdHE wEmyUu/4SiFR6TZZlDAJGHZnmKOI2vHbM2a3SkDowY5zj6wTAv5UfvGLm2nClOXRihJV geONZQ5cRzcN12UFIxLAT6O3NbXhQlo7jy78NUT+GHxe0sbf7Bz18dgqKv/PhF9dnm+Z Vk9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent:references:in-reply-to :subject:cc:to:from:message-id:date:dkim-signature; bh=Fpni0V4F34OgqvvbpBVuIV7zR6Fl9fZVFEMGlEH1cXg=; b=vFLm2RXpClPYl0qSxuNtQiIlJiKfdvUXEbEntGI9rMvRFH2InxEgt+y/PKo20BwyvF l+tPHktO/223V1QRFW4moc6VdzGEWidHKWOjRYZU7JNlNR0gqRyDGbaH4GdWVfQQNxp7 cQdk0ICcvzmyV54Hok7eyhSS/sWdra0g0D36PmCLbxzuANYng6XUOjtATymA6PT3xBYg o1jQgomYnQQYK6KBtsFXAirhLxWlwsD4xqiytTgKfBzAquGyoj+1lKij6cv+EgalPzPc GXYcpoUo0MZCCfboXso1CQuYmym7t/WoKT/kMplbzANS2DFVNxarmFjqcmIraNVfsZMt WNWg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=KGb6vZTo; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x71-20020a63864a000000b00513973cb8b8si978690pgd.202.2023.05.28.00.53.12; Sun, 28 May 2023 00:53:25 -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=@kernel.org header.s=k20201202 header.b=KGb6vZTo; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229544AbjE1HsA (ORCPT + 99 others); Sun, 28 May 2023 03:48:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229459AbjE1Hry (ORCPT ); Sun, 28 May 2023 03:47:54 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A36691BB for ; Sun, 28 May 2023 00:47:42 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id E43916172A for ; Sun, 28 May 2023 07:47:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 564C5C433D2; Sun, 28 May 2023 07:47:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1685260061; bh=2qF1OaojqXLKDA+R55LxCuD9W57csEkZL3bochaCK/8=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=KGb6vZToWKaFqs6Bimvn/FjWSxYXAh0hOpzszWOMbkwhdplW0l57o0ZIgezqT0ICi NCb5oLHnj3H538FoCkMPBEcTCcskh9fQZwFlndY8nF5iMPUL2H+90jOXJI9n7mCEmA hDAiXBD1o7Pi6dxIq71nnGO6rgcT2j92PFHeIDZLiSmkxfC707eSvGK9glc8d0XkUz IO3W3rCMlrt0tTRnunonNwJsL6VTXW2fOHCWtPbYgQ8yxlc7y7BEvIjQ8bWq28k/ME 6VVUtsmHCMRZlAy1lkjtI0uP/j+BcqSays9j1Z/8bJBFuzI+/xicWBQOfKqlPogzdO ZRltbbLAKqhnA== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1q3B7q-000qbm-VY; Sun, 28 May 2023 08:47:39 +0100 Date: Sun, 28 May 2023 08:47:38 +0100 Message-ID: <86fs7gdhid.wl-maz@kernel.org> From: Marc Zyngier To: Thomas Gleixner Cc: Huacai Chen , Bjorn Helgaas , linux-kernel@vger.kernel.org, loongson-kernel@lists.loongnix.cn, Xuefeng Li , Huacai Chen , Jiaxun Yang Subject: Re: [PATCH 1/2] genirq/msi, platform-msi: Adjust return value of msi_domain_prepare_irqs() In-Reply-To: <87pm6llvm6.ffs@tglx> References: <20230527054633.704916-1-chenhuacai@loongson.cn> <20230527054633.704916-2-chenhuacai@loongson.cn> <87pm6llvm6.ffs@tglx> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/28.2 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: tglx@linutronix.de, chenhuacai@loongson.cn, bhelgaas@google.com, linux-kernel@vger.kernel.org, loongson-kernel@lists.loongnix.cn, lixuefeng@loongson.cn, chenhuacai@gmail.com, jiaxun.yang@flygoat.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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 Sat, 27 May 2023 15:03:29 +0100, Thomas Gleixner wrote: > > On Sat, May 27 2023 at 13:46, Huacai Chen wrote: > > Adjust the return value semanteme of msi_domain_prepare_irqs(), which > > allows us to modify the input nvec by overriding the msi_domain_ops:: > > msi_prepare(). This is necessary for the later patch. > > > > Before: > > 0 on success, others on error. > > > > After: > > = 0: Success; > >> 0: The modified nvec; > > < 0: Error code. > > This explains what the patch does, but provides zero justification for > this nor any analysis why this is correct for the existing use cases. > > That longsoon MSI domain is a PCI MSI domain. PCI/MSI has already a > mechanism to return the actual possible number of vectors if the > underlying space is exhausted. > > Why is that not sufficient for your problem at hand? I've already made that point, but it seems that the argument is falling on deaf ears. Being able to allocate MSIs is not a guarantee, and is always opportunistic. If some drivers badly fail because the they don't get the number of MSIs they need, then they need fixing. I really don't see the point in papering over this at the lowest level of the stack. M. -- Without deviation from the norm, progress is not possible.