Re: [RFC PATCH 1/1] kernel/rcu/tree.c: simplify force_quiescent_state()

From: Waiman Long
Date: Tue Jun 17 2014 - 16:06:52 EST


On 06/17/2014 01:37 PM, Paul E. McKenney wrote:

Oh, and to answer the implicit question... A properly configured 4096-CPU
system will have two funnel levels, with 64 nodes at the leaf level
and a single node at the root level. If the system is not properly
configured, it will have three funnel levels. The maximum number of
funnel levels is four, which would handle more than four million CPUs
(sixteen million if properly configured), so we should be good. ;-)

The larger numbers of levels are intended strictly for testing. I set
CONFIG_RCU_FANOUT_LEAF=2 and CONFIG_RCU_FANOUT=2 on a 16-CPU system just
to make sure that I am testing something uglier than what will be running
in production. A large system should have both of these set to 64,
though this requires also booting with skew_tick=1 as well.

Thanx, Paul

Thank for the clarification as I haven't looked deep into the code to see how many levels there are. I totally understand the impact cacheline contention can have on system performance. After all, this is what many of my patches are trying to address.

-Longman
--
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/