commit 45a149497ee8d05b571328214c2c819c63ea9ea9
Author: Jim Gauld <email address hidden>
Date: Tue Oct 1 09:39:57 2019 -0400
Affine NVMe disk interrupts to platform cores
This affines NVMe disk interrupts to platform cores for low-latency
worker configurations to reduce application jitter. Tasks with names
matching irq/<pid>-nvme* get re-affined.
This also corrects writing of related affinity settings for:
- /proc/irq/default_smp_affinity
- /sys/devices/virtual/workqueue/cpumask
- /sys/bus/workqueue/devices/writeback/cpumask
The platform coremasks require being delimited with commas every 8 hex
characters. HT-enabled hosts tend to have very large affinity masks,
e.g., host with 88 CPUs, the coremask for the cpulist 0-1,44-45 is:
00000000,00000000,00000000,00003000,00000000,00000003
Just writing 30000000000000000003 will produce the following error:
echo: write error: Value too large for defined data type
Change-Id: Ibad5beffc791b796e472ff19950cf6a3e973be86
Closes-bug: 1843942
Signed-off-by: Jim Gauld <email address hidden>
Reviewed: https:/ /review. opendev. org/685976 /git.openstack. org/cgit/ starlingx/ utilities/ commit/ ?id=45a149497ee 8d05b571328214c 2c819c63ea9ea9
Committed: https:/
Submitter: Zuul
Branch: master
commit 45a149497ee8d05 b571328214c2c81 9c63ea9ea9
Author: Jim Gauld <email address hidden>
Date: Tue Oct 1 09:39:57 2019 -0400
Affine NVMe disk interrupts to platform cores
This affines NVMe disk interrupts to platform cores for low-latency
worker configurations to reduce application jitter. Tasks with names
matching irq/<pid>-nvme* get re-affined.
This also corrects writing of related affinity settings for: default_ smp_affinity virtual/ workqueue/ cpumask workqueue/ devices/ writeback/ cpumask
- /proc/irq/
- /sys/devices/
- /sys/bus/
The platform coremasks require being delimited with commas every 8 hex 00000000, 00000000, 00003000, 00000000, 00000003
characters. HT-enabled hosts tend to have very large affinity masks,
e.g., host with 88 CPUs, the coremask for the cpulist 0-1,44-45 is:
00000000,
Just writing 300000000000000 00003 will produce the following error:
echo: write error: Value too large for defined data type
Change-Id: Ibad5beffc791b7 96e472ff19950cf 6a3e973be86
Closes-bug: 1843942
Signed-off-by: Jim Gauld <email address hidden>