Từ trang man, ksoftirqd
là một luồng nhân trên mỗi cpu chạy khi máy đang tải nặng ngắt.
Bạn có thể điều chỉnh cài đặt một chút, bằng cách xác định cpu nào chọn một ngắt nhất định. Bạn làm điều này bằng cách thay đổi nội dung của /proc/irq/$interrupt_number/smp_affinity
. Bạn có thể nhận được một danh sách các ngắt và ý nghĩa của chúng bằng cách thực hiện:
cat /proc/interrupts
Số trong smp_affinity
là một bitmap của cpus, được biểu thị bằng mã hex. Bit ngoài cùng bên phải là ít quan trọng nhất. Chẳng hạn, hệ thống của tôi có 8 nhân. Nếu tôi chỉ muốn sử dụng các lõi 1, 3 và 4, tôi sẽ đặt smp_affinity thành 1a
:
cpu_7 cpu_6 cpu_5 cpu_4 cpu_3 cpu_2 cpu_1 cpu_0
0 0 0 1 1 0 1 0 = 0001 1010 = 1a (in hex)
Cá nhân, tôi thiết lập bất kỳ cpu nào để có thể nhận ngắt 29 (eth0 trong hệ thống 8 lõi của tôi) với:
sudo echo ff > /proc/irq/29/smp_affinity