From patchwork Wed Nov 20 11:35:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Roger Pau Monne X-Patchwork-Id: 13881074 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 639E4D6392E for ; Wed, 20 Nov 2024 11:36:21 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.841043.1256559 (Exim 4.92) (envelope-from ) id 1tDj09-00018v-6S; Wed, 20 Nov 2024 11:36:05 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 841043.1256559; Wed, 20 Nov 2024 11:36:05 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1tDj09-000184-1n; Wed, 20 Nov 2024 11:36:05 +0000 Received: by outflank-mailman (input) for mailman id 841043; Wed, 20 Nov 2024 11:36:03 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1tDj07-00015s-HJ for xen-devel@lists.xenproject.org; Wed, 20 Nov 2024 11:36:03 +0000 Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [2a00:1450:4864:20::62a]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 9dd6be19-a733-11ef-a0cb-8be0dac302b0; Wed, 20 Nov 2024 12:36:00 +0100 (CET) Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-a9aa8895facso355704066b.2 for ; Wed, 20 Nov 2024 03:36:00 -0800 (PST) Received: from localhost ([213.195.123.63]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa20e086058sm766537066b.184.2024.11.20.03.35.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Nov 2024 03:35:59 -0800 (PST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 9dd6be19-a733-11ef-a0cb-8be0dac302b0 X-Custom-Connection: eyJyZW1vdGVpcCI6IjJhMDA6MTQ1MDo0ODY0OjIwOjo2MmEiLCJoZWxvIjoibWFpbC1lajEteDYyYS5nb29nbGUuY29tIn0= X-Custom-Transaction: eyJpZCI6IjlkZDZiZTE5LWE3MzMtMTFlZi1hMGNiLThiZTBkYWMzMDJiMCIsInRzIjoxNzMyMTAyNTYwLjY2Mjc0MSwic2VuZGVyIjoicm9nZXIucGF1QGNsb3VkLmNvbSIsInJlY2lwaWVudCI6Inhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyJ9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=google; t=1732102560; x=1732707360; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=86sTbQPzilf+WSdJgcVW1D6hKA0N+3C25zpjw6B93xw=; b=bFjDmi0csSktofm3JPgjwCD5E5oET0MZ+rgZiyMZxelvtGht12oBDocUgiSI+HezQ9 X6b1c9WPA9iCh6YZcidxpg5XgJyeU0sv3PGK7Fen86pSf2rPynYZ2SJluMS37fqjIMbW KS2weP2Y0+w5PHZfMFaZRbxQXR1ojFWT8lEQ8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732102560; x=1732707360; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=86sTbQPzilf+WSdJgcVW1D6hKA0N+3C25zpjw6B93xw=; b=QqeqD/nlMOFDTo+/UzXXfmUYPHlhWJPiTwrN+hHKX7oCnYcqyFlNcqx/1/t1icafTP vwD2IEZvHWOcAV3kR6uTG8U8RwBuVB7Ge+snYOyYhhGOs7ilUpxOor5p6A5Qc9ip5fWn rtVnLIRypgrcWS8/Qfdw+EZ6VEjz8XyoMom2ga1ryvlf1co7/Mt4oeHF8IL2lWZu3bt7 a1wtI+HAzfYq0rS/jGv6nR3whb4WvdoWhgrVwkBr8QBUiX3OpgmfPRIecDQB0PSKsIaL NVR337Iz+vbqRZ0dmTbq5HOdEo+2cRS+hRR5Cnv5L9R45n1qxueV5k0eoIRii6npqoEb A38g== X-Gm-Message-State: AOJu0YyX+qiingvUNdaoXQ19gyHhmtaAUISFAri0wg+VJt2gL32vsk63 BzZRZJxxXZY6GjvfPQFeSEZyFkoUVzF6VgMugeWnKSXQxm3A0yHqNyJVoY1bbMZmdMNAEzhrdI2 Y X-Google-Smtp-Source: AGHT+IFo4N9LnGujJoDz1RqufZwRegILqY9+Yy/YBA3+QwwcYfB0R6VoUFM8Z5hR6fBQ0o0l2/PjjQ== X-Received: by 2002:a17:907:2da2:b0:a9f:450:48eb with SMTP id a640c23a62f3a-aa4dd71a2c0mr206835866b.45.1732102559783; Wed, 20 Nov 2024 03:35:59 -0800 (PST) From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Roger Pau Monne , Jan Beulich , Andrew Cooper Subject: [PATCH 1/2] x86/irq: fix calculation of max PV dom0 pIRQs Date: Wed, 20 Nov 2024 12:35:54 +0100 Message-ID: <20241120113555.38146-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20241120113555.38146-1-roger.pau@citrix.com> References: <20241120113555.38146-1-roger.pau@citrix.com> MIME-Version: 1.0 The current calculation of PV dom0 pIRQs uses: n = min(fls(num_present_cpus()), dom0_max_vcpus()); The usage of fls() is wrong, as num_present_cpus() already returns the number of present CPUs, not the bitmap mask of CPUs. Fix by removing the usage of fls(). Fixes: 7e73a6e7f12a ('have architectures specify the number of PIRQs a hardware domain gets') Signed-off-by: Roger Pau Monné Acked-by: Andrew Cooper --- xen/arch/x86/io_apic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c index d44d2c9a4173..bd5ad61c85e4 100644 --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -2744,7 +2744,7 @@ void __init ioapic_init(void) unsigned int __hwdom_init arch_hwdom_irqs(const struct domain *d) { - unsigned int n = fls(num_present_cpus()); + unsigned int n = num_present_cpus(); /* Bounding by the domain pirq EOI bitmap capacity. */ const unsigned int max_irqs = min_t(unsigned int, nr_irqs, PAGE_SIZE * BITS_PER_BYTE); From patchwork Wed Nov 20 11:35:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Roger Pau Monne X-Patchwork-Id: 13881075 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 65D8FD6392E for ; Wed, 20 Nov 2024 11:36:24 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.841044.1256574 (Exim 4.92) (envelope-from ) id 1tDj0A-0001Yv-Gu; Wed, 20 Nov 2024 11:36:06 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 841044.1256574; Wed, 20 Nov 2024 11:36:06 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1tDj0A-0001Yo-E7; Wed, 20 Nov 2024 11:36:06 +0000 Received: by outflank-mailman (input) for mailman id 841044; Wed, 20 Nov 2024 11:36:06 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1tDj0A-00015s-2q for xen-devel@lists.xenproject.org; Wed, 20 Nov 2024 11:36:06 +0000 Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com [2a00:1450:4864:20::629]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 9e80d060-a733-11ef-a0cb-8be0dac302b0; Wed, 20 Nov 2024 12:36:01 +0100 (CET) Received: by mail-ej1-x629.google.com with SMTP id a640c23a62f3a-aa4b439c5e8so562294566b.2 for ; Wed, 20 Nov 2024 03:36:01 -0800 (PST) Received: from localhost ([213.195.123.63]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa20df2649esm755526366b.39.2024.11.20.03.36.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Nov 2024 03:36:00 -0800 (PST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 9e80d060-a733-11ef-a0cb-8be0dac302b0 X-Custom-Connection: eyJyZW1vdGVpcCI6IjJhMDA6MTQ1MDo0ODY0OjIwOjo2MjkiLCJoZWxvIjoibWFpbC1lajEteDYyOS5nb29nbGUuY29tIn0= X-Custom-Transaction: eyJpZCI6IjllODBkMDYwLWE3MzMtMTFlZi1hMGNiLThiZTBkYWMzMDJiMCIsInRzIjoxNzMyMTAyNTYxLjc3NzUzMSwic2VuZGVyIjoicm9nZXIucGF1QGNsb3VkLmNvbSIsInJlY2lwaWVudCI6Inhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyJ9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=google; t=1732102561; x=1732707361; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=RQSY1kHyaToiV6Map5orTQSUjEPRAZ9huo43+UBo760=; b=dY5e27T7SfsMrhD7Nzcmx+9VLT88sAw7FU4V3A2f+6fPE9shIYisIH/1Et2CoroHf2 t+5a8jV+8nz7VPZdp8j+N/7CFs8QSkPW9k5FrzduEzbMyAUZyDS7c6ujgLpyGTyUaWgt xUgEHAsgD5vnnz0CymjeRdg+hsMA8bBaFyW6E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732102561; x=1732707361; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RQSY1kHyaToiV6Map5orTQSUjEPRAZ9huo43+UBo760=; b=QfoFjtfmwjfAND+BGOGiyIs67VFNPFoI/HvSsQL1qatp4MhqFRRkOUJK8aCvOA0Snq 9lzx17t6diWLFWBKssfIr51/SzOK39Fxqv0bBt4FJmmlxVkPiqZug8wZXaEgd29G17AD Us/ciLaqo+x5Os9/Dt6vXnozswlqwZLKIwj8EV1LjFe0KKKudPNR700fD1azSB45ePLp LcJ32ZbFwGFdYao5s3TmYi+rHxfD3s5KnwNgjGLxGqbIFbQiga6FA7nSInnbHHqy/jIq j/4eohf06Ie+0PIKS25bHaEh6/tED6um2oN3Nfk/fSfZnE3IIfvFlHu1/IsJV2nCUTvi UIaQ== X-Gm-Message-State: AOJu0YzWyDTFGfBBA0HingArRDHwnNnfSBag5+Z1YdOuKTpg5EToM2Hu EKYi05ZBOZYmRFZ7zvC587VEhgbDqQb0Q9QplVLgdCpPU1qMUCmwSChGhFbRW25U1qit8pP7I/B 7 X-Google-Smtp-Source: AGHT+IGpZBq/GRWTh1h/9HD7eEUOqw/KxHkCjxJBMTWI/j6IunYPvvZdkZpWu6/W1mvxx1/CyuPH5A== X-Received: by 2002:a17:906:fe0d:b0:aa4:777d:73b5 with SMTP id a640c23a62f3a-aa4dd551bd2mr213101866b.21.1732102560951; Wed, 20 Nov 2024 03:36:00 -0800 (PST) From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Roger Pau Monne , Jan Beulich , Andrew Cooper Subject: [PATCH 2/2] x86/pvh: also print hardware domain pIRQ limit for PVH Date: Wed, 20 Nov 2024 12:35:55 +0100 Message-ID: <20241120113555.38146-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20241120113555.38146-1-roger.pau@citrix.com> References: <20241120113555.38146-1-roger.pau@citrix.com> MIME-Version: 1.0 Do not return early in the PVH/HVM case, so that the number of pIRQs is also printed. Fixes: 17f6d398f765 ('cmdline: document and enforce "extra_guest_irqs" upper bounds') Signed-off-by: Roger Pau Monné Reviewed-by: Andrew Cooper --- xen/arch/x86/io_apic.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c index bd5ad61c85e4..d9db2efc4f58 100644 --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -2754,11 +2754,13 @@ unsigned int __hwdom_init arch_hwdom_irqs(const struct domain *d) /* PVH (generally: HVM) can't use PHYSDEVOP_pirq_eoi_gmfn_v{1,2}. */ if ( is_hvm_domain(d) ) - return nr_irqs; - - if ( !d->domain_id ) - n = min(n, dom0_max_vcpus()); - n = min(nr_irqs_gsi + n * NR_DYNAMIC_VECTORS, max_irqs); + n = nr_irqs; + else + { + if ( !d->domain_id ) + n = min(n, dom0_max_vcpus()); + n = min(nr_irqs_gsi + n * NR_DYNAMIC_VECTORS, max_irqs); + } printk("%pd has maximum %u PIRQs\n", d, n);