Messages in this thread | | | Subject | Re: [patch] latency tracer, 2.6.15-rc7 | From | Lee Revell <> | Date | Fri, 30 Dec 2005 20:15:31 -0500 |
| |
On Fri, 2005-12-30 at 17:02 -0800, Linus Torvalds wrote: > > On Fri, 30 Dec 2005, Lee Revell wrote: > > > > It seems that the networking code's use of RCU can cause 10ms+ > > latencies: > > Hmm. Is there a big jump at the 10ms mark? Do you have a 100Hz timer > source? > > A latency jump at 10ms would tend to indicate a missed wakeup that > was "picked up" by the next timer tick.
No there are no large jumps, it really seems that this was the network code causing an RCU callback to drop ~2K routes at once. Specifically RCU invokes dst_rcu_free 2085 times in a single batch (call_rcu_bh(&rt->u.dst.rcu_head, dst_rcu_free) is only called from rt_free() and rt_drop()).
I have found that many of the paths in the network stack that can cause high latencies can be tuned via sysctls (for example net.ipv4.route.gc_thresh); this one may be the same.
Lee
- 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/
| |