From: Dirk Roloff <roloff@domain.hid>
To: adeos-main@gna.org
Subject: [Adeos-main] 260 uSec latency and no idea why
Date: Thu, 11 Mar 2004 03:26:33 +0100 [thread overview]
Message-ID: <200403110326.33694.roloff@domain.hid> (raw)
Hello List,
i have a interrupt latency of ~ 260 µSec and i do not know why.
I am using kernel 2.4.28 + adeos r10
Have a Celeron 2 GHz. Single CPU with IO-APIC (But tested this also with noapic boot parameter)
APM is disabled (The IDLE calls could cause some latency)
Running in Textmode - so no X is started.
Having a IDE-Device which dose not use DMA.
Any more Infos needed ?
The results are 4 to 8 µSec latency in the Realtime Domain normaly but somtimes i see ~260 - 270 µSek.
The only thing i found in the kernel tree is the prink() funktion which uses some spinlock which disables irq's.
Could this be the source. Or has anybody a idea where to search deeper ?
How i mesure the delay: (This is only a test, because i have latency problems with an ugly device driver)
1.) Connect pin 9 to 10 of my ParPort. So if i set Pin 10 up it aserts a IRQ 7 on Pin 9
2.) Write a module to messure the latency.
Short description:
- creating a proc-fs entry
- create a relatime domain with higher Priority then Linux.
- in the domain main adeos_virtualize_irq(7, &rt_latency_isr,rt_latency_ack, IPIPE_PASS_MASK | IPIPE_HANDLE_MASK );
The proc-fs read function i will
{
interruptcount=0;
adeos_hw_local_irq_save( flags );
do_gettimeofday(&tv[0]);
outb(0x80,SPPDATAPORT); /* assert the interrupt signal */
adeos_hw_local_irq_restore( flags );
while( !interruptcount )
{
latency_sleep(1);
if(signal_pending(current)) break;
}
calc timediff between tv[0] tv[1] tv[2] and tv[3] and give the reslut back
}
in rt_latency_ack,
{
do_gettimeofday(&tv[1]);
return 0;
}
in rt_latency_isr the realtime isr
{
do_gettimeofday(&tv[2]);
}
in the Linux isr
{
do_gettimeofday(&tv[3]);
outb(0x00,SPPDATAPORT); /* deassert the interrupt signal */
interruptcount++;
}
Could anybody help ?
Thanks
Dirk Roloff
next reply other threads:[~2004-03-11 2:26 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-11 2:26 Dirk Roloff [this message]
2004-03-11 19:04 ` [Adeos-main] 260 uSec latency and no idea why Paolo Mantegazza
2004-03-12 3:22 ` Dirk Roloff
2004-03-12 7:44 ` Der Herr Hofrat
2004-03-12 17:14 ` Dirk Roloff
2004-03-12 19:32 ` Paolo Mantegazza
2004-03-12 9:52 ` Gilles Chanteperdrix
2004-03-12 10:08 ` Der Herr Hofrat
2004-03-12 17:15 ` Dirk Roloff
2004-03-12 18:45 ` Paolo Mantegazza
2004-03-12 23:00 ` Dirk Roloff
2004-03-15 8:53 ` Vitor Angelo
2004-03-18 13:11 ` Dirk Roloff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200403110326.33694.roloff@domain.hid \
--to=roloff@domain.hid \
--cc=adeos-main@gna.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.