Skip to content

Commit 78abd4f

Browse files
Updates to IRQ Tuning Guide
1 parent 1c922f3 commit 78abd4f

File tree

3 files changed

+32
-14
lines changed

3 files changed

+32
-14
lines changed

content/learning-paths/servers-and-cloud-computing/irq-tuning-guide/_index.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
---
2-
title: Learn about the impact of network interrupts on cloud workloads
2+
title: Optimize network interrupt handling on Arm servers
33

4-
draft: true
5-
cascade:
6-
draft: true
7-
4+
85
minutes_to_complete: 20
96

10-
who_is_this_for: This is a specialized topic for developers and performance engineers who are interested in understanding how network interrupt patterns can impact performance on cloud servers.
7+
who_is_this_for: This is an introductory topic for developers and performance engineers who are interested in understanding how network interrupt patterns can impact performance on cloud servers.
118

129
learning_objectives:
1310
- Analyze the current interrupt request (IRQ) layout on an Arm Linux system
1411
- Experiment with different interrupt options and patterns to improve performance
12+
- Configure optimal IRQ distribution strategies for your workload
13+
- Implement persistent IRQ management solutions
1514

1615
prerequisites:
1716
- An Arm computer running Linux

content/learning-paths/servers-and-cloud-computing/irq-tuning-guide/_next-steps.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@ weight: 21 # Set to always be larger than the content in this p
66
title: "Next Steps" # Always the same, html page title.
77
layout: "learningpathall" # All files under learning paths have this same wrapper for Hugo processing.
88
---
9+
10+

content/learning-paths/servers-and-cloud-computing/irq-tuning-guide/conclusion.md

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,35 @@ For larger systems with more than 16 vCPUs, the findings are different:
3434

3535
On larger systems, the overhead of interrupt handling is proportionally smaller compared to the available processing power. The main performance bottleneck occurs when multiple high-frequency network interrupts compete for the same core.
3636

37-
## Implementation Considerations
37+
## Implementation considerations
3838

39-
When implementing these IRQ management strategies, there are some important points to keep in mind.
39+
When implementing these IRQ management strategies, several factors influence your success.
4040

41-
Pay attention to the workload type. CPU-bound applications may benefit from different IRQ patterns than I/O-bound applications.
41+
Consider your workload type first, as CPU-bound applications can benefit from different IRQ patterns than I/O-bound applications. Always benchmark your specific workload with different IRQ patterns rather than assuming one approach works universally.
4242

43-
Always benchmark your specific workload with different IRQ patterns.
43+
For real-time monitoring, use `watch -n1 'grep . /proc/interrupts'` to observe IRQ distribution as it happens. This helps you verify your changes are working as expected.
4444

45-
Monitor IRQ counts in real-time using `watch -n1 'grep . /proc/interrupts'` to observe IRQ distribution in real-time.
45+
On multi-socket systems, NUMA effects become important. Keep IRQs on cores close to the PCIe devices generating them to minimize cross-node memory access latency. Additionally, ensure your IRQ affinity settings persist across reboots by adding them to `/etc/rc.local` or creating a systemd service file.
4646

47-
Also consider NUMA effects on multi-socket systems. Keep IRQs on cores close to the PCIe devices generating them to minimize cross-node memory access.
47+
As workloads and hardware evolve, revisiting and adjusting IRQ management strategies may be necessary to maintain optimal performance. What works well today might need refinement as your application scales or changes.
4848

49-
Make sure to set up IRQ affinity settings in `/etc/rc.local` or a systemd service file to ensure they persist across reboots.
49+
## Next Steps
5050

51-
Remember that as workloads and hardware evolve, revisiting and adjusting IRQ management strategies may be necessary to maintain optimal performance.
51+
You have successfully learned how to optimize network interrupt handling on Arm servers. You can now analyze IRQ distributions, implement different management patterns, and configure persistent solutions for your workloads.
52+
53+
### Learn more about Arm server performance
54+
55+
* [Deploy applications on Arm-based cloud instances](../csp/)
56+
* [Get started with performance analysis using Linux Perf](../../../install-guides/perf/)
57+
* [Optimize server applications for Arm Neoverse processors](../mongodb/)
58+
59+
### Explore related topics
60+
61+
* [Understanding Arm server architecture](../arm-cloud-native-performance/)
62+
* [Cloud migration strategies for Arm](../migration/)
63+
64+
### Additional resources
65+
66+
* [Linux kernel IRQ subsystem documentation](https://www.kernel.org/doc/html/latest/core-api/irq/index.html)
67+
* [Arm Neoverse performance optimization guide](https://developer.arm.com/documentation/)
68+
* [Network performance tuning best practices](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/monitoring_and_managing_system_status_and_performance/)

0 commit comments

Comments
 (0)