Re: 2.6.24-rc8 hangs at mfgpt-timer

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Willy Tarreau <w@...>
Cc: Arnd Hannemann <hannemann@...>, Andres Salomon <dilinger@...>, Linux Kernel Mailing List <linux-kernel@...>
Date: Tuesday, January 22, 2008 - 5:08 pm

On 22/01/08 21:15 +0100, Willy Tarreau wrote:
<snip>


Actually, the TinyBIOS "workaround" is the same thing.

Like I may have said before, there is a reason why this MSR is undocumented.
It works, but the behavior is unvalidated, and obviously erratic.  When we
first developed this code, we were using the Geode GX on the OLPC with VSA,
so using the MSR was nessesary if we wanted to get our hands on any 
timers at all.  Mitch Bradley (author of OpenFirmware) determined through
testing that the MSR was erratic, especially when you ran it when all the
timers were already clear.  I suspect thats the problem that we see here -
writing the MSR in TinyBIOS unstablizied the registers, and writing the
MSR again kicked it back.  Of course, the unfortunate corollary is that
when the workaround isn't in v0.99, if you run the MSR in the kernel, then
you will end up destabilizing everything.

Furthermore, using the MSR is okay with TinyBIOS, but not okay with the
other Geode BIOSen (Insyde, General Software, and for the moment LinuxBIOS)
because VSA (the SMM handler) _does_ use some of the timers.  So needless
to say, I'm concerned.


We control the timer and the status bits for the timer in the setup 
register, which is what you are showing above.  Thats fine.


Hmm - are you running with nohz?    I ran the same thing on the OLPC
and I'm getting 81 IRQ/s which is okay, considering that sugar was running
in the background. 


Hmm - yeah, my math is off there - it is a 32768 Hz clock.  That
shouldn't affect things too negatively - if it does we can adjust the
divisor we use - currently we use 16.


I'm not sure if we can - all we can tell is if the registers are zero or
not.  Like I said, running the MSR is probably dangerous in 9 out of 10
situations, the one good use being the one you determined.  I would
support adding the mfgptfix bit though - just as long as it isn't 
automagic.

Thank you very much for your help!
Jordan

-- 
Jordan Crouse
Systems Software Development Engineer 
Advanced Micro Devices, Inc.


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
2.6.24-rc8 hangs at mfgpt-timer, Arnd Hannemann, (Wed Jan 16, 1:44 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Andres Salomon, (Wed Jan 16, 5:19 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Andres Salomon, (Wed Jan 16, 5:56 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Arnd Hannemann, (Thu Jan 17, 5:54 am)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Andres Salomon, (Thu Jan 17, 2:40 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Arnd Hannemann, (Thu Jan 17, 3:53 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Jordan Crouse, (Thu Jan 17, 5:19 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Arnd Hannemann, (Thu Jan 17, 5:50 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Jordan Crouse, (Thu Jan 17, 6:36 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Arnd Hannemann, (Thu Jan 17, 6:52 pm)
Re: Geode GX/LX watchdog timer (RESEND), Jordan Crouse, (Mon Jan 21, 1:07 pm)
Re: Geode GX/LX watchdog timer (RESEND), Arnd Hannemann, (Mon Jan 21, 2:37 pm)
Re: Geode GX/LX watchdog timer (RESEND), Iain Paton, (Sun Feb 17, 10:14 am)
Re: Geode GX/LX watchdog timer (RESEND), Arnd Hannemann, (Sun Feb 17, 10:46 am)
Re: Geode GX/LX watchdog timer (RESEND), Adrian Bunk, (Sun Feb 17, 10:54 am)
Re: Geode GX/LX watchdog timer (RESEND), Iain Paton, (Sun Feb 17, 12:10 pm)
Re: Geode GX/LX watchdog timer (RESEND), Arnd Hannemann, (Sun Feb 17, 3:46 pm)
Re: Geode GX/LX watchdog timer (RESEND), Andres Salomon, (Sun Feb 17, 1:32 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Jordan Crouse, (Thu Jan 17, 6:57 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Arnd Hannemann, (Thu Jan 17, 7:39 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Jordan Crouse, (Mon Jan 21, 7:27 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Arnd Hannemann, (Tue Jan 22, 5:03 am)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Lars Heete, (Tue Jan 22, 6:11 am)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Arnd Hannemann, (Tue Jan 22, 7:18 am)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Jordan Crouse, (Tue Jan 22, 3:27 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Arnd Hannemann, (Tue Jan 22, 4:54 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Ingo Molnar, (Tue Jan 22, 5:10 pm)
[PATCH 0/2] Was: 2.6.24-rc8 hangs at mfgpt-timer, Willy Tarreau, (Wed Jan 23, 5:17 pm)
[PATCH 1/2] x86: GEODE fix MFGPT input clock value, Willy Tarreau, (Wed Jan 23, 5:18 pm)
Re: [PATCH 1/2] x86: GEODE fix MFGPT input clock value, H. Peter Anvin, (Wed Jan 23, 5:59 pm)
Re: [PATCH 1/2] x86: GEODE fix MFGPT input clock value, Willy Tarreau, (Wed Jan 23, 6:11 pm)
Re: x86: GEODE fix MFGPT input clock value, Jordan Crouse, (Wed Jan 23, 6:38 pm)
Re: x86: GEODE fix MFGPT input clock value, Arnd Hannemann, (Wed Jan 23, 7:17 pm)
Re: [PATCH 1/2] x86: GEODE fix MFGPT input clock value, H. Peter Anvin, (Wed Jan 23, 6:22 pm)
Re: [PATCH 1/2] x86: GEODE fix MFGPT input clock value, Willy Tarreau, (Wed Jan 23, 6:10 pm)
[git pull] was: Re: 2.6.24-rc8 hangs at mfgpt-timer, Thomas Gleixner, (Tue Jan 22, 5:53 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Willy Tarreau, (Tue Jan 22, 5:20 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Jordan Crouse, (Tue Jan 22, 2:15 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Willy Tarreau, (Mon Jan 21, 7:32 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Willy Tarreau, (Tue Jan 22, 4:15 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Jordan Crouse, (Tue Jan 22, 5:08 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Willy Tarreau, (Tue Jan 22, 5:15 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Jordan Crouse, (Wed Jan 23, 12:36 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Willy Tarreau, (Wed Jan 23, 12:10 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Jordan Crouse, (Thu Jan 17, 8:40 pm)
Re: 2.6.24-rc8 hangs at mfgpt-timer, Andres Salomon, (Thu Jan 17, 4:42 pm)