Messages in this thread | | | Date | Tue, 9 Mar 2010 18:28:00 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [RFC PATCH] rcu: don't ignore preempt_disable() in the idle loop |
| |
On Wed, Mar 10, 2010 at 10:13:56AM +0800, Lai Jiangshan wrote: > Paul E. McKenney wrote: > >> > >> This is another try, it uses the fact that idle loops > >> are executing with preept_count()=1. > >> But I didn't look deep into all idle loops. > > > > Hello, Lai! > > > > One question below... > > > > Thanx, Paul > > > > [...] > > >> + > >> + if ((preempt_count() & PREEMPT_MASK) > IDLE_CORE_LOOP_PREEMPT_COUNT) > >> + return 0; > > > > How does this work in CONFIG_PREEMPT=n kernels? I don't see how it > > does, regardless of what preempt_count() returns in this case. > > You are right, It cannot work in CONFIG_PREEMPT=n kernels. > ignore this stupid patch.
Don't be too hard on yourself -- it is an interesting idea, just doesn't seem to quite work out. Perhaps it will lead you to another idea that does work.
Thanx, Paul
| |