# RCU subsytem... yet another...

## aCOSwt

Hello,

Each time I upgrade my kernel I am puzzled by the RCU subsystem stuff...   :Confused: 

Up to 2.6.31-r10 included, I had chosen the preempt_i_ble RCU and never experienced any problem despite the "help" statement about potential "bugs due to now-naive assumptions...", statement I never really understood anyway...   :Confused: 

Upgrading to 2.6.32-r7, I discover that the preempt_i_ble RCU becomes preempt_a_ble tree hierarchical...   :Shocked: 

Until now, I had understood that tree hierarchical was dedicated to systems with hundreds of thousands of CPUs...

1/ Is there any difference in meaning between preemptible and preemptable ?

2/ I appreciate that the help now mentions that the tree based "nicely adapts to smaller systems" but how should I do with other settings for a modest dual-core ?

should I :

- Fix the fanout value to 2 (>cube root of 2...   :Confused: ) and disable auto-balancing ?

- Leave the fanout value to default (64   :Shocked: ) and enable auto-balancing ?

- Other ?

----------

## BradN

1)  Just a misspelling.

2)  It's probably not worth messing with those settings unless you plan on performance testing to tune them.  I would suspect the RCU subsystem would be most active when forking lots of processes (since it deals with memory sharing and splitting pages that were once shared), so that would be the type of thing you might want to test. If that isn't your typical workload, it's probably not worth worrying about.

----------

