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

Re: [PATCH for-4.21 00/10] x86/HPET: broadcast IRQ and other improvements


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Thu, 16 Oct 2025 12:05:15 +0200
  • 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=R+i24iGZ9RERTlxyYIlSl1yFli7Tg6Dt/zc+h9CLCy4=; b=RT9g0UBGUKU+F/N07WrlQVR7s9Ly8vHWXNX1KQPx88OlUZjTJbDzcOsPcurWubLE9x4gjZlgelYGOoBBTAdU1Ipnv3roSm00+N0EOE1kbiZmETQNFwmRuYo7bhhIMN31abAEElICUn2LndDV9hApROP2HF94LmKWyluk9itq7LCLJXFwx5P/7fgfUnkUZznMZGLlIWgsWy6qfJLf7S2yolIJ7iDB3lJRCx0zsH7WdSWV2Ah2jf53ZP2XAJMluuBVN/R2BzJyntWvk1RZAIiJ2tdcQl8rlGXuQPzuBLmH2ZOod0LLv+uwUDq+xQJ9PqFGTHOqqJXSBIkJW2SQkige1g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BGopSH8/JnEGuqj6xKQsxKb/9HlxEOUh6HF6DBXgYh97jn6nesmKO77GfMgX+ULCCHb/pya99f124ON2cYchL7iq1v3aYw95Ozw3XPiQEkbkAkG2FOdNVy+8QveqX3nk+Z0ZOuZe2OGuLZclksI0PfOsXD50LAuE1wAgmxuc9bxZX0dBRcRiKJY/XFqthPfZlhR4ujB546LJAoyt/RWWaD5Ur4yHIZyQmRSltmhv25fJbpNobaib7/zIQd92ksGYjnOYCQ37wiNNaYhwLBE0K5DpxefQpXKbQIwVB6ArdJMFl3CW5itWuCzDry55INLQOgLMicFrOQmthFgyT8aBEg==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
  • Delivery-date: Thu, 16 Oct 2025 10:05:30 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Thu, Oct 16, 2025 at 09:30:28AM +0200, Jan Beulich wrote:
> While 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt processing")
> helped quite a bit, nested interrupts could still occur. First and foremost
> as a result from IRQ migration (where we don't have any control over the
> vectors chosen). Hence besides reducing the number of IRQs that can be raised
> (first two patches) and possibly the number of invocations of
> handle_hpet_broadcast() from the IRQ handler (optional patch 4), the main
> goal here is to eliminate the potential for nested IRQs (patch 3). These
> patches are imo 4.21 candidates (with patch 4 being questionable altogether;
> see there). Patches 5 and onwards likely aren't important enough anymore at
> this point of the release cycle, even if those with a Fixes: tag would likely
> end up being backported later on.
> 
> The one related thing I haven't been able to find a viable solution for is
> the elimination of the cpumask_t local variable in handle_hpet_broadcast().
> That'll get in the way of possible future increases of the NR_CPUS upper
> bound: Much like right now a single level of nesting is already too much,
> if the limit was doubled even a single IRQ would end up consuming too much
> stack space (together with cpumask_raise_softirq() also having such a
> variable). Yet further doubling would not allow any such stack variables
> anymore.

If there's no nesting anymore, you could introduce a per-CPU cpumask_t
to use in the context of handle_hpet_broadcast()?

Thanks, Roger.



 


Rackspace

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