[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 05/12] xen/arm: irq: avoid local IRQ descriptors reinit on system resume
- To: Mykola Kvach <xakep.amatop@xxxxxxxxx>
- From: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
- Date: Sat, 23 Aug 2025 00:37:45 +0000
- Accept-language: en-US
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.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=womvZsi6s+cPhoOGbJBAc28EKuYZM8Qf0KAVc4HOkI4=; b=lEKOOM57kE2cxueopiP/FOdXFZ0/Zx2nACEtggLx/999JN7Q2Hkzv2rXYPnNOAdLM0Nc62jUeU5JWVKKMZPfHX78Hy+yanNz5XPj3BSAkTTcGtSS6nUgZOQADqRShNjmdoPsbv0qV10aYBAuh/lHn115Kcz9QWEdQSTlvsEeuBRhPkaYcWMVzy5PtQKAKS0WJUVVq/TBnkGJ6KU2V2c0CGNIA7IAwTjTdaz/VNfTJDlz6n1F+bdmP+5M6Je5YI20qHIjoJwaW160WG2HuiB8eoqrEbcJ4LFtivlmOEbg8Sl67F5eJYUE1cqClT+rpfJE1WL4PIAmYaJi30nE/mHB+w==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OzK0To7kSFpbXj0ywD3WPt/tF1ylWa2Uv7KzHOgjvgZTKZAjHsmCCEoPKaCiKpM2xz2brhviiojCxwE253qpj9x7fyH+YrHabjP0rWipIrfDBclpU8nuE2MJTgQWU9nJGcEBSFWI6b36Sp4sR9b0AxviCfr4LFfpNuHFQ7sYGp8fogqZvTdu5L/QOTxtkGBvQVKWZRDJnA7lGXKv0qdhY7l8xa/SO4q1tr2E/eXIwyc6vXRzpmfLOg/hm7lT6gGtj3bLfdJVfiAy6pOVqyRC9ZqYv2Nhl2LcjBT83bz3BcmcqE87i5U4aRFhlMkMwiZlcmMEv78G3AO3Qup409+Vkw==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
- Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Mykola Kvach <Mykola_Kvach@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>
- Delivery-date: Sat, 23 Aug 2025 00:37:50 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Thread-index: AQHcCwFcU6YHlfOU1EaGDcY/uk86oQ==
- Thread-topic: [PATCH v5 05/12] xen/arm: irq: avoid local IRQ descriptors reinit on system resume
Mykola Kvach <xakep.amatop@xxxxxxxxx> writes:
> From: Mykola Kvach <mykola_kvach@xxxxxxxx>
>
> On ARM, during system resume, CPUs are brought online again. This normally
> triggers init_local_irq_data, which reinitializes IRQ descriptors for
> banked interrupts (SGIs and PPIs).
>
> These descriptors are statically allocated per CPU and retain valid
> state across suspend/resume cycles. Re-initializing them on resume is
> unnecessary and may result in loss of interrupt configuration or
> restored state.
>
> This patch skips init_local_irq_data when system_state is set to
> SYS_STATE_resume to preserve banked IRQ descs state during resume.
>
> Signed-off-by: Mykola Kvach <mykola_kvach@xxxxxxxx>
Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@xxxxxxxx>
> ---
> xen/arch/arm/irq.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
> index 4bbf0b0664..148f184f8b 100644
> --- a/xen/arch/arm/irq.c
> +++ b/xen/arch/arm/irq.c
> @@ -122,6 +122,10 @@ static int cpu_callback(struct notifier_block *nfb,
> unsigned long action,
> switch ( action )
> {
> case CPU_UP_PREPARE:
> + /* Skip local IRQ cleanup on resume */
> + if ( system_state == SYS_STATE_resume )
> + break;
> +
> rc = init_local_irq_data(cpu);
> if ( rc )
> printk(XENLOG_ERR "Unable to allocate local IRQ for CPU%u\n",
--
WBR, Volodymyr
|