public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mark Hounschell <markh@compro.net>
To: "Wessler, Siegfried" <Siegfried.Wessler@de.hbm.com>
Cc: "'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>
Subject: Re: interrupt latency
Date: Tue, 27 Aug 2002 13:41:54 -0400	[thread overview]
Message-ID: <3D6BB9E2.DE71FE2C@compro.net> (raw)
In-Reply-To: D3524C0FFDC6A54F9D7B6BBEECD341D5D56FDB@HBMNTX0.da.hbm.com

"Wessler, Siegfried" wrote:
> 
> Hello,
> 
> I am running and will in near future kernel 2.4.18 on an embedded system.
> 
> I have to speed up interrupt latency and need to understand how in what
> timing tasklets are called and arbitraded.
> 
> I have to dig deep, but the kernel tree is quiet huge. As a non kernel
> programmer I ask you, if anyone could give me a hint, where to start reading
> from and which kernel source to pick first.
> 
> Any help highly appreaciated.
> (BTW: I will not bother you personaly with further questions unless you give
> permission.)
> 
> What's behind it: We patched NMI and do some stuff we have to do very
> regularly in there. After NMI we have to quiet fast start a kernel or even a
> user space function with low latency. Also I measured 8 milliseconds after a
> hardware interrupt before the corresponding interrupt function is called. At
> RTI time it is even longer (around 12 microseconds). Need to find a way to
> exactly understand why, and maybe speed up a bit.
> 
> Thank You.
> Siegfried.

I've found that with the combination of process affinity and irq affinity you
can get very good interrupt latency/determinism. We use a pci card that has
some external interrupts and some 250ns resolution timers and have found the
interrupt latency/determinism of the external interrupts to be more than 
exceptable as long as the process and irq of that pci card are forced
to one cpu and ALL other processes/irq's are forced to another cpu. Of coarse
you need an SMP box for best results. We found that with a UMP box you can
get the latency but there is no determinism to that latency.

Mark

  parent reply	other threads:[~2002-08-27 17:34 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-27  9:58 interrupt latency Wessler, Siegfried
2002-08-27 14:11 ` Stephen Samuel
2002-08-27 17:16   ` Robert Schwebel
2002-08-27 21:44     ` Stephen Samuel
2002-08-27 17:41 ` Mark Hounschell [this message]
2002-08-27 18:01   ` Richard B. Johnson
2002-08-27 19:54     ` yodaiken
2002-08-27 20:44       ` Richard B. Johnson
2002-08-27 20:56         ` yodaiken
2002-08-27 22:47           ` Rogier Wolff
2002-08-28 12:18           ` Richard B. Johnson
2002-08-28 13:41             ` yodaiken
2002-08-28 14:25               ` Jonathan Lundell
2002-08-28 13:53             ` yodaiken
2002-08-28 15:02               ` Richard B. Johnson
2002-08-28 15:19                 ` yodaiken
2002-08-28 15:31                 ` Alan Cox
2002-08-28 15:37                   ` Richard B. Johnson
2002-08-28 16:53                   ` Randy.Dunlap
2002-08-28 12:42         ` Pavel Machek
2002-08-27 18:05 ` Dag Nygren
  -- strict thread matches above, loose matches on Subject: below --
2002-10-30 23:50 Keith Adamson

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=3D6BB9E2.DE71FE2C@compro.net \
    --to=markh@compro.net \
    --cc=Siegfried.Wessler@de.hbm.com \
    --cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox