From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4C4EDF5C.9000901@domain.hid> Date: Tue, 27 Jul 2010 15:30:04 +0200 From: Gilles Chanteperdrix MIME-Version: 1.0 References: <4C46D49F.6030102@domain.hid> <4C46F0D9.4030906@domain.hid> <4C47F932.3060400@domain.hid> <4C4823DC.4050500@domain.hid> <4C4D7B8E.4000309@domain.hid> <4C4D9171.5000202@domain.hid> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Xenomai-help] Unexpected preemption of highest priority thread List-Id: Help regarding installation and common use of Xenomai List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stephen Bryant Cc: xenomai@xenomai.org Stephen Bryant wrote: > On 26 July 2010 14:45, Gilles Chanteperdrix > > wrote: > > Stephen Bryant wrote: > > Do you mean enabling / disabling the individual options in the SMI > > Workaround section of the kernel config file, or are you suggesting > > something lower level / something else? > > The options in the SMI workaround section of the kernel config file > actually disable some bits in some SMI registers, so they are already > low level. Anyway, yes, it is what I ask you to do. > > > -- > Gilles. > > > I've been looking into this when I've had the time and the results so > far are that: > - Globally disabling SMI fails. > - Disabling all 8 'non-global' SMI options succeeds, but does not change > my latency results. > > From this I conclude that 'Globally disable SMI' really does try to > disable every SMI signal, which is different from just deselecting each > of the 8 'Enable ... SMI' options presented, which I had not realised. The "Global disabling" bit, disable all SMI sources without even having to list them. As such, as explained in the TROUBLESHOOTING file, it is way more reliable than having to know all the SMI sources and disable them one by one. > Also, my problem may still be SMI related, and I can only test this if I > can convince the BIOS to allow global SMI disabling. > > So my next steps are to: > 1 - Look for ways to change or circumvent the BIOS (if possible). There is an "SMI lock" bit, which once enabled, can not be disabled. So, if the BIOS you use uses this bit, there is nothing you can do, except changing the BIOS. You can ask the board manufacturer to give you another BIOS where this bit is not locked, so that you can test whether SMI are the source of your problem. > 2 - Try a few other kernel settings (for examples the timers available) > to find out if my issue stems from something other than SMIs. > 3 - Progressively change the Xenomai SMI disabling code to test SMIs not > covered by the 8 options presented. > > I'll be checking the literature for help with these, but if anyone has > any pointers that would be much appreciated, What you need is the datasheet of your chipset. I had looked at a datasheet when doing this code, and found other sources, but did not implement their disabling, you will find references in the ksrc/arch/x86/smi.c file, and they are probably incomplete for your particular chipset, which is why you should look for the datasheet of your exact chipset. -- Gilles.