Re: route cache DoS testing and softirqs

From: Robert Olsson
Date: Mon Apr 05 2004 - 12:13:39 EST



Dipankar Sarma writes:

> Robert, btw, this rcu-softirq patch is slightly different
> from the earlier one in the sense that now every softirq
> handler completion is a quiescent point. Earlier each iteration
> of softirqs was a quiescent point. So this has more quiescent
> points.

Hello!

Yes it seems reduce RCU latency in our setup as well. It does not eliminate
overflows but reduces with ~50% and increases the throughput a bit. dst cache
overflow depends on RCU-delay + gc_min_interval and the number of entries
freed per sec so this means RCU has improved. Also the user app doing gettimeofday
seems to be better scheduled. The worst starvation improved from ~7.5 to ~4.4 sec.

Cheers.
--ro

Setup as described before.

Without patch
=============

2 * 283 kpps (eth0, eth2) 32768 flows and 10 pkts flow

Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flags
eth0 1500 0 5419435 8802471 8802471 4580569 44 0 0 0 BRU
eth1 1500 0 45 0 0 0 5417465 0 0 0 BRU
eth2 1500 0 5372943 8849348 8849348 4627060 44 0 0 0 BRU
eth3 1500 0 46 0 0 0 5371007 0 0 0 BRU

/proc/net/rt_cache_stat (3:rd last is ovfr)
000034d0 0046284e 000c8986 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 000bf952 000bf173 000007b8 000007b3 0081b228 00000000
000034d0 004559f4 000ca247 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 000c369c 000c2edf 00000799 00000792 008057a4 00000000

User app max delay 7.5 Sec

WIth RCU patch
===============


2 * 284 kpps 32768 flows and 10 pkts flow

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flags
eth0 1500 0 5838522 8704663 8704663 4161481 44 0 0 0 BRU
eth1 1500 0 45 0 0 0 5837586 0 0 0 BRU
eth2 1500 0 5957987 8643714 8643714 4042016 44 0 0 0 BRU
eth3 1500 0 46 0 0 0 5957051 0 0 0 BRU

/proc/net/rt_cache_stat
0002dcb5 004b6add 000dac08 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 000d029a 000cfec3 000003aa 000003a9 008c80b2 00000000
0002dcb5 004d2db5 000dbbda 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 000cfa51 000cf67e 000003b1 000003aa 008eb195 00000000

User app max delay 4.4 Sec
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/