IRQ smp_affinity reverting

Solution Unverified - Updated -

Issue

Attempting to steer interrupt from Solarflare NIC to core0 using:

# echo 00000001 >/proc/irq/192/smp_affinity

Initial inspection shows value changed:

[root@lx-cnscitcffexb-fut02 ~]# cat /proc/irq/192/smp_affinity
000000,00000001

However reverts after an interrupt arrives on this queue:

[root@lx-cnscitcffexb-fut02 ~]# cat /proc/irq/192/smp_affinity
000000,08000000

Used SystemTap script:

probe begin
{
        printf("tracing...\n")
}

probe kernel.function("irq_set_affinity")
{
        printf("irq_set_affinity called:\n")
        print_stack(backtrace())
        print_usyms(ubacktrace())
}

probe kernel.function("setup_affinity")
{
        printf("setup_affinity called:\n")
        print_stack(backtrace())
        print_usyms(ubacktrace())
}

This was to check if some other process was doing the reset i.e. irqbalance. This is not the case. No other user space process is shown. The trace is:

irq_set_affinity called:
 0xffffffff810e8970 : irq_set_affinity+0x0/0x140 [kernel]
 0xffffffff810eabe5 : write_irq_affinity+0x135/0x140 [kernel]
 0xffffffff810eac3c : irq_affinity_proc_write+0x1c/0x20 [kernel]
 0xffffffff811f3ade : proc_reg_write+0x7e/0xc0 [kernel]
 0xffffffff81188df8 : vfs_write+0xb8/0x1a0 [kernel]
 0xffffffff811896f1 : sys_write+0x51/0x90 [kernel]
 0xffffffff8100b288 : tracesys+0xd9/0xde [kernel]
 0x3b05cdb490 : __write_nocancel+0x7/0x57 [/lib64/libc-2.12.so]
 0x3b05c71ae3 : _IO_file_write@@GLIBC_2.2.5+0x43/0xa0 [/lib64/libc-2.12.so]
 0x3b05c73095 : _IO_do_write@@GLIBC_2.2.5+0x95/0x12a [/lib64/libc-2.12.so]
 0x3b05c723ef : _IO_file_overflow@@GLIBC_2.2.5+0x14f/0x240 [/lib64/libc-2.12.so]
 0x3b05c6f147 : putc+0xb7/0xfd [/lib64/libc-2.12.so]
 0x469ace : 0x469ace [/bin/bash+0x69ace/0xd4000]

Which looks good and we can see the kernel routine "irq_set_affinity" being called.

Server is a HP DL380 Gen 9 with Haswell processors.

Environment

Red Hat Enterprise Linux

6.5

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content