* [Xenomai-help] latency spike when starting opengl windows
@ 2010-10-08 1:44 Peter Pastor
2010-10-08 22:20 ` Gilles Chanteperdrix
2010-10-09 8:26 ` Jan Kiszka
0 siblings, 2 replies; 3+ messages in thread
From: Peter Pastor @ 2010-10-08 1:44 UTC (permalink / raw)
To: xenomai
[-- Attachment #1: Type: text/plain, Size: 1016 bytes --]
Hey there,
I noticed a spike in the latency over around 600-800microseconds when
starting an opengl window.
I have the SMI workaround enabled and also included my device id in the
/usr/src/xenomai/ksrc/arch/x86/smi.c
file
lspci -vvv -nn shows a
Intel Corporation 82801JIR (ICH10R) LPC Interface Controller [8086:3a16]
so I added
{PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_1)},
After recompiling the kernel I finally saw
[ 2.443949] Xenomai: SMI-enabled chipset found
( I did not see that line before )
but unfortunately I also saw
[ 2.443957] Xenomai: SMI workaround failed!
Well, the latency test still showed spikes of about 600-800microsends when
for example starting or closing glxgears. I am using a nvidia FxQuadro FX
4800 and I am using the latest nvidia driver which I downloaded from the
nvidia homepage (256.53).
I am running
Linux xeno_machine 2.6.31.4-ipipe #1 SMP Thu Oct 7 18:13:54 PDT 2010 x86_64
GNU/Linux
and Xenomai version is 2.5.2
Thanks for any help,
Peter
[-- Attachment #2: Type: text/html, Size: 1235 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [Xenomai-help] latency spike when starting opengl windows
2010-10-08 1:44 [Xenomai-help] latency spike when starting opengl windows Peter Pastor
@ 2010-10-08 22:20 ` Gilles Chanteperdrix
2010-10-09 8:26 ` Jan Kiszka
1 sibling, 0 replies; 3+ messages in thread
From: Gilles Chanteperdrix @ 2010-10-08 22:20 UTC (permalink / raw)
To: Peter Pastor; +Cc: xenomai
Peter Pastor wrote:
> Hey there,
>
> I noticed a spike in the latency over around 600-800microseconds when
> starting an opengl window.
>
> I have the SMI workaround enabled and also included my device id in the
>
> /usr/src/xenomai/ksrc/arch/x86/smi.c
>
> file
>
> lspci -vvv -nn shows a
>
> Intel Corporation 82801JIR (ICH10R) LPC Interface Controller [8086:3a16]
>
> so I added
>
> {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_1)},
You are using an outdated version of Xenomai, because the two last
releases contained this ID.
>
> After recompiling the kernel I finally saw
>
> [ 2.443949] Xenomai: SMI-enabled chipset found
>
> ( I did not see that line before )
> but unfortunately I also saw
>
> [ 2.443957] Xenomai: SMI workaround failed!
>
> Well, the latency test still showed spikes of about 600-800microsends when
> for example starting or closing glxgears. I am using a nvidia FxQuadro FX
> 4800 and I am using the latest nvidia driver which I downloaded from the
> nvidia homepage (256.53).
>
> I am running
> Linux xeno_machine 2.6.31.4-ipipe #1 SMP Thu Oct 7 18:13:54 PDT 2010 x86_64
> GNU/Linux
> and Xenomai version is 2.5.2
Needless to say, you need to recompile the nvidia drivers for the
Adeos-patched kernel. Your problem may not be SMIs, but an issue with
the X server you are using.
Just looking at the nvidia driver code, I see nothing wrong (namely,
they use local_irq_save and spin_lock_irqsave, so, they will use the
Adeos versions of these services), though when I see:
#define NV_MAX_ISR_DELAY_US 20000
RM_STATUS NV_API_CALL os_delay_us(NvU32 MicroSeconds)
{
unsigned long mdelay_safe_msec;
unsigned long usec;
#ifdef NV_CHECK_DELAY_ACCURACY
struct timeval tm1, tm2;
do_gettimeofday(&tm1);
#endif
if (in_irq() && (MicroSeconds > NV_MAX_ISR_DELAY_US))
return RM_ERROR;
I understand that these people do not care for latencies lower than
20ms. The Adeos patch will allow Xenomai to preempt this driver code,
but if the opengl libraries does the same thing in user-space there is
nothing we can do. The only thing we can tell you to do is to follow the
advice in the TROUBLESHOOTING guide.
--
Gilles.
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [Xenomai-help] latency spike when starting opengl windows
2010-10-08 1:44 [Xenomai-help] latency spike when starting opengl windows Peter Pastor
2010-10-08 22:20 ` Gilles Chanteperdrix
@ 2010-10-09 8:26 ` Jan Kiszka
1 sibling, 0 replies; 3+ messages in thread
From: Jan Kiszka @ 2010-10-09 8:26 UTC (permalink / raw)
To: Peter Pastor; +Cc: xenomai
[-- Attachment #1: Type: text/plain, Size: 1277 bytes --]
Am 08.10.2010 03:44, Peter Pastor wrote:
> Hey there,
>
> I noticed a spike in the latency over around 600-800microseconds when
> starting an opengl window.
>
> I have the SMI workaround enabled and also included my device id in the
>
> /usr/src/xenomai/ksrc/arch/x86/smi.c
>
> file
>
> lspci -vvv -nn shows a
>
> Intel Corporation 82801JIR (ICH10R) LPC Interface Controller [8086:3a16]
>
> so I added
>
> {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_1)},
>
> After recompiling the kernel I finally saw
>
> [ 2.443949] Xenomai: SMI-enabled chipset found
>
> ( I did not see that line before )
> but unfortunately I also saw
>
> [ 2.443957] Xenomai: SMI workaround failed!
>
> Well, the latency test still showed spikes of about 600-800microsends when
> for example starting or closing glxgears. I am using a nvidia FxQuadro FX
> 4800 and I am using the latest nvidia driver which I downloaded from the
> nvidia homepage (256.53).
The nice nvdidia driver is known to cause latency peaks during DMA
memory allocation/mapping (wbinvd...). You will have to leave it in a
stable state (no X restarts, no 3D or CUDA setup/tear-down, not sure
about mode switches ATM) as long as the RT load is running.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-10-09 8:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-08 1:44 [Xenomai-help] latency spike when starting opengl windows Peter Pastor
2010-10-08 22:20 ` Gilles Chanteperdrix
2010-10-09 8:26 ` Jan Kiszka
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.