Skip to content

Commit 953d554

Browse files
author
Herton R. Krzesinski
committed
Merge: arm64-64k: Increase max NR_IRQS from 64+8192 to 2^^19
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/2032 For large HPC users of arm64 that will be using the 64k page-sized kernel variant, increase the needed max number of irqs from the current default, which is 64+8192, to a desired 2^^19. This is a RHEL-only patch. It is based on the original upstream posting, which was rejected because it put too large a memory increase for small memory arm64 systems. In this RHEL-only variation, we only change it for the 64k page-size variant, arm64 kernel b/c that's the use-case, and doesn't impact the 4k page-sized (standard) arm64 kernel. Note: A RHEL8 kernel on a laptop has 524544(512K+256) as NR_IRQs, so 2^^19/512K is not unreasonable for a server, but arm64-4k may be in smaller, edge servers. The increase in memory for the fixed-size array that NR_IRQS sizes is approx. 256K bytes, which is deemed small for arm64-64k memory configurations. The accepted upstream patch for this increase was based on a dynamic, maple-tree design. It is too late in the release to pull in the core maple-tree support, and base this functionality with little use seen upstream. Note: An attempt to base it on XArray, which is in RHEL9, failed upstream, thus the (successful) maple-tree patch accepted upstream. This patch will be reverted and replaced with the upstream version, based on maple-tree, in the next release, when the core maple-tree support will be backported (in kernel and in crash for use in crash-analysis). Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2166450 Depends: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/1820 Testing: Simple boot testing and check KERN_INFO output of NR_IRQS. Signed-off-by: Donald Dutile <ddutile@redhat.com> Approved-by: Mark Langsdorf <mlangsdo@redhat.com> Approved-by: Mark Salter <msalter@redhat.com> Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
2 parents c236d49 + d5c1e6e commit 953d554

File tree

1 file changed

+9
-0
lines changed
  • arch/arm64/include/asm

1 file changed

+9
-0
lines changed

arch/arm64/include/asm/irq.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@
44

55
#ifndef __ASSEMBLER__
66

7+
8+
/*
9+
* RHEL-9.2-only -- increase max NR_IRQS from 64+8192 default
10+
* for large, HPC arm64 kernels with 64K page-size
11+
*/
12+
#if defined(CONFIG_ARM_GIC_V3_ITS) && defined(CONFIG_ARM64_64K_PAGES)
13+
#define NR_IRQS (1 << 19)
14+
#endif
15+
716
#include <asm-generic/irq.h>
817

918
struct pt_regs;

0 commit comments

Comments
 (0)