Understood.
I have a new observation: if I pin processes to just CPUs 0 and 1, I see
no packet loss. Pinning to 0 and 2, I do see packet loss. Pinning 2 and
3, no packet loss. 4 & 5 - no packet loss, 6 & 7 - no packet loss. Any
other combination appears to produce loss (though I have not tried all
28 combinations, this seems to be the case).
At first I thought maybe it had to do with processes pinned to the same
CPU, but different cores. The machine is a dual quad core, which means
that CPUs 0-3 should be a physical CPU, correct? Pinning to 0/2 and 0/3
produce packet loss.
I've also noticed that it does not matter which of the working pairs I
pin to. For example, pinning 5 processes in any combination on either
0/1 produce no packet loss, pinning all 5 to just CPU 0 also produces no
packet loss.
The failures are also sudden. In all of the working cases mentioned
above, I don't see ksoftirqd on top at all. But when I run 6 processes
on a single CPU, ksoftirqd shoots up to 100% and I lose a huge number of
packets.
What determines which CPU the hard irq occurs on?
Wes
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html