Received: by 2002:ab2:3350:0:b0:1f4:6588:b3a7 with SMTP id o16csp1565456lqe; Mon, 8 Apr 2024 12:44:16 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCX6anF01yrB0eHiTxiL3ae4jUuOn8JEsLdCzwlQixKnX7noT67UWNM/NZI7JpQI5Er6FBepWXRrCCfsiKkpOlQsAnPdGaFeXfBSyN3s6w== X-Google-Smtp-Source: AGHT+IG7PRhU2FFn7oGcMpG6S1e76VBMcJxTZKVkBu0k6PoKvO6fA9psaJ+p4RAF6OkqObRvC6Az X-Received: by 2002:a05:6358:d39e:b0:186:1152:d741 with SMTP id mp30-20020a056358d39e00b001861152d741mr7656253rwb.6.1712605456289; Mon, 08 Apr 2024 12:44:16 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712605456; cv=pass; d=google.com; s=arc-20160816; b=jN05f6H5MeH45FpAOhCnPWwHgkGSadkpKcjz3hENe1XNKLWS85Na+5OlWGiYr88Rr/ +bzGaGUdDX1SyGJ1wqFAsiDz8CKbEWiuewfvcRNe14LBp+vnXoRaYFqwzqbvnt5brCXI lm4PSjnTi8ueMX+RlvIzyJspRB7k27Yq+Cm3spaG+kVxhCRveAb8Q9mnX4rh8ecXV0EO yEwXXFV6rlNzNxkHKRWNp/TUxW7VK4ufhtVWFO8x4H4mdXUq95v/mKlmyU40Jb4RGChG gaJMGOrT7OxgPXl5Lykx47+Z/kOu1TjKoHQkvB9rPE7/+64b0e1frTTWlSNVO9vGUyFt RcHQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:organization:references :in-reply-to:message-id:subject:cc:to:from:date:dkim-signature; bh=WXuSRMWgy3rW9sPJxKvHfS2tIMLItUkUufgQ/kMhp1w=; fh=JzE0j08tGG0SuCRP52Rn1cR8oSwQa2Snwme10Ewim4k=; b=cow9NMM+9Sco2LggLQLgXLGGvn/ihlhLX7dau/un3l8l3Hc48DaAcDyqIBKxtitIwI M19mjIL1rH/1Mdp9BFr1xKWl+G+z+puB/P4O240qzb6MNjtqJ7TPpoQ5Yd8+qK9eSnnK OoHBiHiVk5tugD8QGbpELIvtkNBFSiWxIVmmcL764K7TtsVObBWfSoiV5qO8bqRnDjqY FvgMi4W9bQA+gNcBJ5bHBtNjqMzsqhE0Iu6eZeq3fypD9yS8+xoPua7IDC5HV4q3heQ2 FqQMa4rebkFUyfjwmODMWCDfT0R5DqhaRzcKUwfls0vfHcN/9YILhZOqg4A54MzTAqPk eAng==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=GCgEgaAZ; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-135688-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-135688-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id i36-20020a635864000000b005dc42755280si6997635pgm.890.2024.04.08.12.44.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Apr 2024 12:44:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-135688-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=GCgEgaAZ; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-135688-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-135688-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id C0AE2B265E9 for ; Mon, 8 Apr 2024 16:37:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4D152142E93; Mon, 8 Apr 2024 16:35:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="GCgEgaAZ" Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 103BE142E85 for ; Mon, 8 Apr 2024 16:35:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.12 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712594103; cv=none; b=VGH4lclL+AzIQnNAb3V44DBmRjZiuUSxnueZTipWGIJ7BIdU70pFzEIY7n2UyE2geWVAF43YYC8S1ALEC13zn+YBjaWZZKiTOkS0kgXPDgLlL/5J5sqqwfCV64ifVeK7sknXJxSWGFPJSes9iVaUfZYp/xrdX0DTYqXQWsKj6Rs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712594103; c=relaxed/simple; bh=MwPlIh32++bFzV6p+9AvCTR3WEciP8K3VR75lLJlj6U=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=GK+nE1rLM7cxF4/psDaFhFdyRNL1nWcp9scrRbQrBSwweaLgrOd8MmLJnLOmBiWvc74arkeV9VSIlXw9ktsGe7Ar72UVP27tk2WL23KPC5mhJn54MoTYWMSTKKr+MI43wPfimDJooQSiBQRQ5eanPRjCIk9DiiJzqE8wBmHfN38= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=GCgEgaAZ; arc=none smtp.client-ip=198.175.65.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1712594103; x=1744130103; h=date:from:to:cc:subject:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=MwPlIh32++bFzV6p+9AvCTR3WEciP8K3VR75lLJlj6U=; b=GCgEgaAZIlAFM/JfLXxMN0e1qy7q3Z7zqGe3BFNn9K2c2opu5qKPIjzt WEUoAjmzMp64laCPoqcBkYrsH93rG7zWbJuOzirBkkSaITC+VrjPBT+XL 79o18CsSLajfHeRPhYBjVaH1K2ev7kF1fETiNzFrLBbzBj3umA882A8m2 BKP09XK2ZaWpSOyRiK0GQA6SpDdeGwNTPNPOfibTtiS8ZyGGTcKEVZUfM 9cdBSWJkE6vCJaZM6lXyfHrhQsrRzdcLqP5fO7KA3vxGNOTimN2tgIBFQ lV6UFocQ0pG5DIcNP521heSll+PipzWDcH4OZzCx6HfZ6miTh5dgoo27x w==; X-CSE-ConnectionGUID: zDuqMu2PTEGDBgAEYRVX5w== X-CSE-MsgGUID: 1vxK5uwhRuWVfftkmYKQvQ== X-IronPort-AV: E=McAfee;i="6600,9927,11038"; a="19315636" X-IronPort-AV: E=Sophos;i="6.07,187,1708416000"; d="scan'208";a="19315636" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by orvoesa104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Apr 2024 09:35:02 -0700 X-CSE-ConnectionGUID: 3aJmJTHiTKCgnbKS8eC6EA== X-CSE-MsgGUID: scKAYNiSRYObcLzhJQ55sg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,187,1708416000"; d="scan'208";a="43113931" Received: from jacob-builder.jf.intel.com (HELO jacob-builder) ([10.54.39.125]) by fmviesa002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Apr 2024 09:35:01 -0700 Date: Mon, 8 Apr 2024 09:39:30 -0700 From: Jacob Pan To: "Tian, Kevin" Cc: Baolu Lu , Dimitri Sivanich , Thomas Gleixner , Joerg Roedel , Suravee Suthikulpanit , Will Deacon , Robin Murphy , David Woodhouse , Mark Rutland , Peter Zijlstra , Arnd Bergmann , YueHaibing , "iommu@lists.linux.dev" , "linux-kernel@vger.kernel.org" , Steve Wahl , "Anderson, Russ" , jacob.jun.pan@linux.intel.com Subject: Re: [PATCH v2] iommu/vt-d: Allocate DMAR fault interrupts locally Message-ID: <20240408093930.45422bc1@jacob-builder> In-Reply-To: References: Organization: OTC X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Hi Kevin, On Mon, 8 Apr 2024 09:00:05 +0000, "Tian, Kevin" wrote: > > From: Baolu Lu > > Sent: Monday, April 8, 2024 3:22 PM > > > > On 2024/4/8 14:54, Tian, Kevin wrote: > > >> From: Dimitri Sivanich > > >> Sent: Friday, March 22, 2024 4:51 AM > > >> > > >> The Intel IOMMU code currently tries to allocate all DMAR fault > > >> interrupt vectors on the boot cpu. On large systems with high DMAR > > >> counts this results in vector exhaustion, and most of the vectors > > >> are not initially allocated socket local. > > >> > > >> Instead, have a cpu on each node do the vector allocation for the > > >> DMARs > > on > > >> that node. The boot cpu still does the allocation for its node > > >> during its boot sequence. > > >> > > >> Signed-off-by: Dimitri Sivanich > > > > > > Reviewed-by: Kevin Tian > > > > > > > Kevin, > > > > Jacob has another proposal which shares the irq among all IOMMUs. > > > > https://lore.kernel.org/linux-iommu/20240403234548.989061-1- > > jacob.jun.pan@linux.intel.com/ > > > > How do you like this? > > > > I'm a bit concerning about the need of looping all IOMMU's in DMAR > irqchip mask/unmask handlers. this one sounds simpler to me. The difference is that with this patch, we still burn a few vectors on BSP and the leading CPU of each socket. e.g. on sapphire rapids, we lose 8 vectors to DMAR fault IRQ on BSP. Thanks, Jacob