> It is being reworked. The threads handle I/O completion on a per cpu
> basis, interrupts hand work off to the thread on the same cpu. Xeons
> deliver all their interrupts to cpu 0 by default, so all the work
> goes one place. Ask intel about this one.
>
> If you actually have multiple controllers involved then you can
> get hold of irqbalance which will distribute the interrupts from
> different controllers around the cpus.
>
> This xeon issue is why we decided to rework this.
>
I already have kernel patches that redistribute the irq's from our storage
controllers across all cpus. Here's some output from /proc/interrupts:
0: 56540 57588 57045 56213 IO-APIC-edge timer
16: 810276 788003 778844 770226 IO-APIC-level lpfcdd
18: 818436 797352 795307 787978 IO-APIC-level lpfcdd
I can't find any good description of irqbalance, but it looks to do the same
thing in a user space daemon. With those kernel patches, xfslogd/0 is still
the only process consuming CPU time. Is there something else I should check
or try?
Erik
> Steve
>
> --
>
> Steve Lord voice: +1-651-683-3511
> Principal Engineer, Filesystem Software email: lord@xxxxxxx
>
|