[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <19388.8645.99295.495371@gargle.gargle.HOWL>
Date: Wed, 7 Apr 2010 08:10:13 +0200
From: Robert Olsson <robert@...julf.net>
To: paulmck@...ux.vnet.ibm.com
Cc: Robert Olsson <robert@...julf.net>,
Andi Kleen <andi@...stfloor.org>, robert.olsson@....uu.se,
netdev@...r.kernel.org, Jens.Laas@....uu.se
Subject: Re: RCU problems in fib_table_insert
Paul E. McKenney writes:
> On Mon, Mar 22, 2010 at 07:18:34AM +0100, Robert Olsson wrote:
> >
> > Seems like Paul and Eric fixed this problem... We use fib_trie with
> > major infrastructure but always disable preempt. It was unsafe w.
> > preempt at least before Jareks P. patches about a year ago. I havn't
> > tested w. preempt after that but maybe someone else have...
> Though I must admit that I would be surprised if there wasn't
> more adjustment required in net/ipv4/fib_trie.c -- lots of
> rcu_dereference()s in there.
Hi, a follow on this thread.
Maybe I was to pessimistic... we've setup for stress test running during
easter vacation
Testing the fib_trie with preempt enabled. Continuesly loading/flushing
"full BGP" via a test script, while routing without the route cache
to further stress locking. Average load about 300 kpps. Some more test
details below.
The test was manually stopped after 6 days. So it seems like preempt/rcu
has been improved with fib_trie.
Thanks
--ro
HW
--
CPU Opteron 2 * 6174, TYAN S8230. Intel 82599
Kernel from net-next-2.6
------------------------
Version 2.6.34-rc1bifrost-x86_64 (gcc version 4.3.2 (GCC) ) #4 SMP PREEMPT
CONFIG_PREEMPT=y
CONFIG_DEBUG_PREEMPT=y
CONFIG_IP_FIB_TRIE=y
CONFIG_FIB_RULES=y
CONFIG_TREE_RCU=y
CONFIG_RCU_FANOUT=64
IP table
--------
"BGP" 279 k routes
Test duration
-------------
09:34:14 up 6 days, 20:57, 4 users, load average: 5.28, 5.87, 5.53
Test script
-----------
#! /bin/bash
while(true) do
ip -batch /etc/inet_route_add.bat;
ip route list | wc -l; ( 279 k routes )
ifconfig eth1 down
ifconfig eth1 10.10.11.1 netmask 255.255.255.0
ip route list | wc -l; ( 3 routes )
done;
/proc/net/softnet_stat
0000d503 00000000 00000014 00000000 00000000 00000000 00000000 00000000 00000000 00000000
4cc1ecfb 00000000 02bb1bcb 00000000 00000000 00000000 00000000 00000000 00000000 00000000
4cb95da1 00000000 02cc6574 00000000 00000000 00000000 00000000 00000000 00000000 00000000
4cb17932 00000000 02e1abdf 00000000 00000000 00000000 00000000 00000000 00000000 00000000
4cc40ad9 00000000 02f53db0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
4cbfe34f 00000000 0306a88d 00000000 00000000 00000000 00000000 00000000 00000000 00000000
4ccb10e9 00000000 03d3a11d 00000000 00000000 00000000 00000000 00000000 00000000 00000000
4ca84c29 00000000 03be0ca1 00000000 00000000 00000000 00000000 00000000 00000000 00000000
4cb710f8 00000000 04070289 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0b505d55 00000000 038a9bc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0b54a7be 00000000 03a5de6d 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0b5be81f 00000000 03be018c 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0b51fdd0 00000000 0559fdd6 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0b4fa6fd 00000000 056311dc 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0b4a61d3 00000000 056a9276 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0b454970 00000000 0572add1 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
FYI. CPU0 is resvered for BGP/ssh/stats etc
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists