All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Franke <Markus.Franke@domain.hid>
To: xenomai@xenomai.org
Subject: Re: [Xenomai-help] parallelport module for measuring external interrupt latency
Date: Wed, 03 Jan 2007 11:20:50 +0100	[thread overview]
Message-ID: <459B8382.7060508@domain.hid> (raw)
In-Reply-To: <459B7C6C.9030401@domain.hid>

[-- Attachment #1: Type: text/plain, Size: 1939 bytes --]

Jan Kiszka wrote:
>>// ISR
>>int parport_isr(xnintr_t* cookie)
>>{
>>	rdtsc(t_end);
>>	
>>	outb(0x00,SPPDATAPORT);
>>	
>>#ifdef DEBUG
>>	printk(KERN_INFO "parport_latency: Interrupt fired!!!\n");
>>	printk(KERN_INFO "parport_latency: interruptcount before = %d!!!\n",atomic_read(&interruptcount));
>>#endif
>>	
>>	atomic_inc(&interruptcount);
>>
>>#ifdef DEBUG
>>	printk(KERN_INFO "parport_latency: interruptcount after= %d!!!\n",atomic_read(&interruptcount));
>>#endif
>>
>>	wake_up_interruptible(&intlatpar_queue);
> 
> 
> This is a hard-RT IRQ handler, thus any scheduling Linux service is
> strictly forbidden.
> 
> [Reminds me of the I-pipe debugging service that can catch such faults
> but still needs some integration work...]

Ok I understand. But somehow I have to notify the read()-call that it
can compute the latency value. Do you have any suggestions how to do that?

>>	if(register_chrdev(INTLAT_DEV_MAJOR,INTLAT_DEV_NAME,&intlat_fops) < 0) 
>>	{
>>		printk(KERN_WARNING "intlat: parport_latency(): register_chrdev() failed.\n");
>>		rt_intr_disable(&intr);
>>		return -1;
>>	}
> 
> 
> Hmm, a Linux character device for this purpose... I guess you should
> study the existing irqbench test a bit first. And if you don't see why
> something is done the way it is - ask here.

Yes of course I have already studied the irqbench test but it uses the
RTDM skin. I also know that this skin should be used for developing hard
realtime drivers. But I just need to measure latencies and I don't want
to develop a huge realtime driver. I just need some values for
comparison with the driver working on plain linux. I was wondering
whether it is possible to rewrite the driver working on plain linux by
using the Xenomai native API.
Why isn't it possible to use a Linux character device. I just want to
transfer the latency values to the user space task which is out of any
realtime context I think.

Thanks in advance,

Markus Franke

[-- Attachment #2: Markus.Franke.vcf --]
[-- Type: text/x-vcard, Size: 245 bytes --]

begin:vcard
fn:Markus Franke
n:Franke;Markus
adr;quoted-printable:;;Vettersstra=C3=9Fe 64/722;Chemnitz;Saxony;09126;Germany
email;internet:Markus.Franke@domain.hid
x-mozilla-html:FALSE
url:http://www.tu-chemnitz.de/~franm
version:2.1
end:vcard


  reply	other threads:[~2007-01-03 10:20 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-03  8:47 [Xenomai-help] parallelport module for measuring external interrupt latency Markus Franke
2007-01-03  9:50 ` Jan Kiszka
2007-01-03 10:20   ` Markus Franke [this message]
2007-01-03 10:48     ` Jan Kiszka
2007-01-03 20:36       ` Markus Franke
2007-01-03 20:58         ` Jan Kiszka
     [not found]         ` <459CC4D9.9080404@domain.hid>
2007-01-04 18:27           ` Markus Franke

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=459B8382.7060508@domain.hid \
    --to=markus.franke@domain.hid \
    --cc=xenomai@xenomai.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.