On 09/10, Paul E. McKenney wrote:I'd suggest to append "__read_mostly" Imho, all these barriers are unneeded and confusing, we can't do them on behalf of a dead CPU anyway. Can't we just do per_cpu(rcu_mb_flag, cpu) = rcu_mb_done; per_cpu(rcu_flip_flag, cpu) = rcu_flip_seen; ? Why can't we also do __get_cpu_var(rcu_flipctr)[0] += per_cpu(rcu_flipctr, cpu)[0]; per_cpu(rcu_flipctr, cpu)[0] = 0; __get_cpu_var(rcu_flipctr)[1] += per_cpu(rcu_flipctr, cpu)[1]; per_cpu(rcu_flipctr, cpu)[1] = 0; ? This way rcu_try_flip_waitzero() can also use rcu_cpu_online_map. This cpu is dead, nobody can modify per_cpu(rcu_flipctr, cpu). And we can't confuse rcu_try_flip_waitzero(), we are holding rcu_ctrlblk.fliplock. What if _cpu_up() fails? I think rcu_cpu_notify(CPU_UP_CANCELED) should call rcu_offline_cpu_rt() too. Oleg. -
| Scott Preece | Re: Linux Foundation Technical Advisory Board Elections |
| Luis R. Rodriguez | Re: [Announce] Linux-tiny project revival |
| Andrew Morton | 2.6.23-rc1-mm2 |
| Dave Hansen | [PATCH 02/24] rearrange may_open() to be r/o friendly |
git: | |
| David Miller | [GIT]: Networking |
| David Miller | Re: [BUG] New Kernel Bugs |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
