aboutsummaryrefslogtreecommitdiffstats
path: root/net/rds/ib.c
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2009-06-13 00:27:11 -0400
committerRusty Russell <rusty@rustcorp.com.au>2009-06-12 08:57:12 -0400
commit95c517c09bad31a03e22f2fdb5f0aa26a490a92d (patch)
treeaa34fdb7ca3a6b7575a2ac7639c157995d334bc3 /net/rds/ib.c
parent38bc2b8c56a2e212bbd19de7cf9976dcc7bf9953 (diff)
lguest: avoid sending interrupts to Guest when no activity occurs.
If we track how many buffers we've used, we can tell whether we really need to interrupt the Guest. This happens as a side effect of spurious notifications. Spurious notifications happen because it can take a while before the Host thread wakes up and sets the VRING_USED_F_NO_NOTIFY flag, and meanwhile the Guest can more notifications. A real fix would be to use wake counts, rather than a suppression flag, but the practical difference is generally in the noise: the interrupt is usually coalesced into a pending one anyway so we just save a system call which isn't clearly measurable. Secs Spurious IRQS 1G TCP Guest->Host: 3.93 58 1M normal pings: 100 72 1M 1k pings (-l 120): 57 492904 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'net/rds/ib.c')
0 files changed, 0 insertions, 0 deletions