[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#647095: CPU hyperthreading turned on after soft power-cycle



On Mon, 2011-11-21 at 14:27 +0100, Jiri Polach wrote:
> >>>> Finally! After another 50+ compilations a have it! It took some time as
> >>>> first I had to find a reason why some revisions did not boot (almost 2/3
> >>>> were unbootable and the first bad commit was among them). Having this
> >>>> solved I have been able to bisect without "skipping". The result is
> >>>> surprising (at least for me) - believe it or not, the first bad commit
> >>>> is 6610e089 "RTC: Rework RTC code to use timerqueue for events" from
> >>>> John Stultz (I am sending him a copy of this message).
> >>>>
> >>>> I would never expect this would be a problem, but my understanding of
> >>>> this commit is very limited, so I am certainly missing the point.
> >>>> However, I have tried to compile 2.6.38 (which was "bad") with "Real
> >>>> Time Clock" configuration option turned off and it behaves "normally"
> >>>> then (= is "good").
> >>>
> >>> Huh. That's *very* odd.  Is your system doing anything in-particular
> >>> with the RTC?  I don't have a clue right off, so probably the next step
> >>
> >> Yes, it is very odd. The system does not do anything special with RTC.
> >> It is a diskless computational workstation.
> >>
> >>> is doing a bit of instrumentation to try to figure out where exactly we
> >>> trigger the behavior. Could you checkout commit 6610e089 and apply the
> >>> patch below to see if we can't narrow it down?
> >>
> >> With the patch applied the system does not show the strange behavior (=
> >> is "good").
> >>
> >>> Could you also send your .config to me?
> >>
> >> Sure. It is attached. I have found that if I turn CONFIG_RTC_DRV_CMOS
> >> off, the system behaves normally (= is "good") too.
> >
> > Yea. My rough guess is that the BIOS is somehow sensitive to how the
> > CMOS RTC is touched.
> >
> > Does disabling CONFIG_HPET_EMULATE_RTC change the behavior?
> 
> But how do I do it? :-)
> 
> I have not found a way to disable it in "menuconfig". If I comment it 
> out manually in .config, it is automatically set back to "y" as soon as 
> compilation starts ...

Good point. I forgot on x86_64 you can't disable HPET_TIMER.

Could you then use the following patch (and run make oldconfig before
building).

thanks
-john


diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index cb9a104..77b5273 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -640,7 +640,7 @@ config HPET_TIMER
 	  Choose N to continue using the legacy 8254 timer.
 
 config HPET_EMULATE_RTC
-	def_bool y
+	def_bool n
 	depends on HPET_TIMER && (RTC=y || RTC=m || RTC_DRV_CMOS=m || RTC_DRV_CMOS=y)
 
 config APB_TIMER






Reply to: