Re: [PATCH][RFC] preempt_count corruption across H_CEDE call with CONFIG_PREEMPT on pseries
From: Will Schmidt <hidden>
Date: 2010-09-03 20:10:17
From: Will Schmidt <hidden>
Date: 2010-09-03 20:10:17
dvhltc@linux.vnet.ibm.com wrote on 09/02/2010 01:04:28 AM:
Subject Re: [PATCH][RFC] preempt_count corruption across H_CEDE call with CONFIG_PREEMPT on pseries
With this in place, we no longer see the preempt_count dropping below zero. However, if I offline/online a CPU about 246 times I hit the opposite problem, a preempt_count() overflow. There appears to be a missing preempt_enable() somewhere in the offline/online paths.
This (preempt_count overflow) also occurred in mainline (with CONFIG_PREEMPT=y) in 2.6.35, but not in 2.6.36-rc3. A bisect seems to indicate it was fixed with a7c2bb8279d20d853e43c34584eaf2b039de8026 "powerpc: Re-enable preemption before cpu_die()". Which may look familiar. :-) It looks like this patch went to mainline (likely via the powerpc tree), but may have not gotten back into the -rt branch. -Will
-- Darren Hart IBM Linux Technology Center Real-Time Linux Team