Messages in this thread | | | Date | Tue, 14 May 2002 17:12:03 +0530 | From | Dipankar Sarma <> | Subject | Re: [PATCH] lockfree rtcache lookup using RCU |
| |
On Wed, May 08, 2002 at 06:45:28AM -0700, David S. Miller wrote: > From: Dipankar Sarma <dipankar@in.ibm.com> > Date: Wed, 8 May 2002 18:54:57 +0530 > > A large number of processes of which small sets may look up the same > ip address. dst ip addresses change after every 50 packets or > so. > > Is this more realistic ? > > More like every 4 or 5 packets.
Ok, here are some results from a test like that on a 8-way PIII xeon with 1MB L2 cache. The test has 32 processes sending random sized packets with dst ip changing every 5 packets. There results are probably a bit skewed because of the neighbor table overflows as seen in by the high profile count in __write_lock_failed and neigh_forced_gc. It does seem that the packet rate in this test is very high.
ip_route_output_key() is 22% faster with rt_rcu. I will publish the results on a 16way NUMA later.
Thanks -- Dipankar Sarma <dipankar@in.ibm.com> http://lse.sourceforge.net Linux Technology Center, IBM Software Lab, Bangalore, India.
base (2.5.3) ---- __write_lock_failed [c0107af0]: 602749 stext_lock [c024eb18]: 178874 neigh_forced_gc [c020a430]: 104295 USER [c01263d0]: 49856 qdisc_restart [c020f070]: 45435 __read_lock_failed [c0107b10]: 35868 dev_queue_xmit [c0207d00]: 27545 __generic_copy_from_user [c0193b10]: 18680 ace_start_xmit [c01bf670]: 14331 nf_hook_slow [c020e940]: 8365 __kfree_skb [c0204180]: 6919 default_idle [c0106ed0]: 6511 sock_alloc_send_pskb [c02032d0]: 6420 ace_interrupt [c01bf180]: 6254 pfifo_fast_dequeue [c020f550]: 4466 net_tx_action [c0208230]: 4228 ip_finish_output2 [c0219520]: 3747 kfree_skbmem [c0204110]: 3436 ip_route_output_key [c0214470]: 3034
rt_rcu (2.5.3) -------
__write_lock_failed [c0107af0]: 558354 stext_lock [c024ef58]: 227526 neigh_forced_gc [c020aaa0]: 100893 USER [c0126a40]: 49559 qdisc_restart [c020f6e0]: 45950 dev_queue_xmit [c0208370]: 27353 __read_lock_failed [c0107b10]: 24113 __generic_copy_from_user [c0194180]: 18375 ace_start_xmit [c01bfce0]: 15677 nf_hook_slow [c020efb0]: 8865 __kfree_skb [c02047f0]: 6890 sock_alloc_send_pskb [c0203940]: 6239 ace_interrupt [c01bf7f0]: 5982 default_idle [c0106ed0]: 4679 pfifo_fast_dequeue [c020fbc0]: 4067 ip_finish_output2 [c0219940]: 3886 kfree_skbmem [c0204780]: 3496 pfifo_fast_enqueue [c020fb40]: 3003 net_tx_action [c02088a0]: 2994 sock_def_write_space [c0204230]: 2552 sock_wfree [c0203700]: 2408 skb_release_data [c02046f0]: 2395 ip_route_output_key [c0214990]: 2358
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |