31 lines
917 B
Diff
31 lines
917 B
Diff
|
From a1f83a563475bd77843c4b44ee44a7d764bc9bba Mon Sep 17 00:00:00 2001
|
||
|
From: Kairui Song <kasong@redhat.com>
|
||
|
Date: Thu, 28 Jan 2021 15:24:32 +0800
|
||
|
Subject: [PATCH] Also fetch node info for non-PCI devices
|
||
|
|
||
|
non-PCI devices could also be bind to a certain node. So if failed to
|
||
|
fetch the info from sysfs, try to get it from /proc/irq/<irq>/node.
|
||
|
---
|
||
|
classify.c | 5 ++++-
|
||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/classify.c b/classify.c
|
||
|
index df8a89b..92f43cc 100644
|
||
|
--- a/classify.c
|
||
|
+++ b/classify.c
|
||
|
@@ -395,7 +395,10 @@ static struct irq_info *add_one_irq_to_db(const char *devpath, int irq, struct u
|
||
|
get_numa_node:
|
||
|
numa_node = -1;
|
||
|
if (numa_avail) {
|
||
|
- sprintf(path, "%s/numa_node", devpath);
|
||
|
+ if (devpath)
|
||
|
+ sprintf(path, "%s/numa_node", devpath);
|
||
|
+ else
|
||
|
+ sprintf(path, "/proc/irq/%i/node", irq);
|
||
|
fd = fopen(path, "r");
|
||
|
if (fd) {
|
||
|
fscanf(fd, "%d", &numa_node);
|
||
|
--
|
||
|
2.29.2
|
||
|
|