[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 04/12] x86/irq: set accurate cpu_mask for high priority vectors used by external interrupts


  • To: Roger Pau Monne <roger.pau@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Thu, 20 Nov 2025 12:45:25 +0000
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=26v5mxZKMhTItQOGAvGMG23lGtkJEsyCd+MqOp77gpM=; b=Odm8uF9K1fYtYveOYXTkuiU06FEtQOKE4pv7HzaAYkCRaGneOxONVLidf6zYBZY6yIHean9z9ERgsavwZ5BZsLaGzxDsvZPMcMs8eszyIYCAing3JnWNKuKCs8eMC2sd4X7xV6mfkIYMwibuoaWhZSmPX7z1zuCeX1O1UPLd3IjNXwGphF2KnNYZbfIxKsakaX//yZnV9KI1PemVyX1kllFpqJu82B/0UKIZIgtyYUN7zuyn58mHBNUFUNRhQfYjO/Fs+zRyANwVr1jIDiSuH9LyIopOzlPLyjoksX6wUhjBscNK9wXGFp3sxFux8ZIXB3kepmCFTYDe51TFGepCIg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HlBf+Bja0wUWE1ZpgYBbU4cHDK0W0K5004vyDM+BXM4bJM/a26Ok4M3y/a77pwi3FkSsdhdNjupCsKv9612pHuD2Wo8PNnWg94vvTN9XRubattrAWXGvijbYS5WMXVNaQyvEpDAoJepkXGfGtx4FWS7vuGSQ/RnETJHURBZ914n+w6UgoSZjnYqZ+TL9/MKavndBM8qbxjFiKMfUd12ieZpDYii+R+i+GK1qoElqG4kB6lZpUhaJXdULmW7dku9lm1V3lsjn+AZw4VJ5fKlc4p78O+a8OgQrbWIC6FVBz1ldeNf+mtrNkrt09xAPJrEtVJQ6l7aVLf7flsLfdqXTvA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Jan Beulich <jbeulich@xxxxxxxx>
  • Delivery-date: Thu, 20 Nov 2025 12:45:40 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 20/11/2025 9:06 am, Roger Pau Monne wrote:
> Setting the irq descriptor target CPU mask of high priority interrupts to
> contain all online CPUs is not accurate.  External interrupts are
> exclusively delivered using physical destination mode, and hence can only
> target a single CPU.  Setting the descriptor CPU mask to contain all online
> CPUs makes it impossible for Xen to figure out which CPU the interrupt is
> really targeting.
>
> Instead handle high priority vectors used by external interrupts similarly
> to normal vectors, keeping the target CPU mask accurate.  Introduce
> specific code in _assign_irq_vector() to deal with moving high priority
> vectors across CPUs, this is needed at least for fixup_irqs() to be able to
> evacuate those if the target CPU goes offline.
>
> Fixes: fc0c3fa2ad5c ("x86/IO-APIC: fix setup of Xen internally used IRQs 
> (take 2)")
> Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>

Which external interrupts do we have like this?

Looking at Jan's series, the VMX Posted Interrupt vector is like this,
but I can't see a case of getting a high priority vector, and
fixup_irqs() being a legitimate thing to do.

~Andrew



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.