public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Robert Hancock <hancockrwd@gmail.com>
To: joseluismarchetti@yahoo.com.br
Cc: Andreas Mohr <andi@lisas.de>, linux-kernel@vger.kernel.org
Subject: Re: Is interrupt priority supported ?
Date: Thu, 19 Feb 2009 18:55:21 -0600	[thread overview]
Message-ID: <499DFF79.6090404@gmail.com> (raw)
In-Reply-To: <164929.58875.qm@web34407.mail.mud.yahoo.com>

Jose Luis Marchetti wrote:
>> it has been for a looong time (those things tend to almost
>> get outdated already -
>> witness the floppy controller misery):
> 
> He he, I am from the same era..., I appreciate your answer, but I am afraid your suggestion is not exactly what I was expecting.
> The tools you mention appears to act on the hardware level, not on Linux by itself, they apply only to x86 processors ( as you can see by the name ), and I am not running Linux in one of those processors.
> Roughly, this is what I have seen in other OSs that support interrupt priority:
> Imagine a table with interrupt IDs, in my example they are in decreased priority order:
> interrupt priority table:
> Serial,
> Ethernet,
> Keyboard,
> etc...
> Then, when one interrupt happen, lets say the Ethernet, the OS disable all lower priority interrupts ( keyboard in my example ), but allow the Serial interrupt nest into the Ethernet interrupt.
> In my example the serial is the highest priority interrupt and no one could nest into it.

It doesn't really work that way in Linux. Normally disabling interrupts 
is all or nothing. Whether or not other devices can cause interrupts 
during an interrupt handler execution by default is a bit 
platform-dependent, I think (unless the driver requests IRQF_DISABLED 
which requests that other interrupts should not run).

Normally in Ethernet drivers these days only very minimal processing is 
done during the interrupt handler, the rest is deferred to softirq 
context which runs with interrupts enabled so other interrupts can 
happen. That's not to say that all Ethernet drivers are so well-behaved, 
however, especially if they haven't been updated to use NAPI. (In the 
NAPI case, the driver disables further interrupts from the device until 
the softirq is able to run and process the packets.) In your case it 
seems likely that yours is not behaving so well, as one would expect the 
interrupt handler to complete in less than the time  it takes one 
character to arrive on the serial port..

  reply	other threads:[~2009-02-20  0:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-19 20:24 Is interrupt priority supported ? Jose Luis Marchetti
2009-02-19 20:49 ` Andreas Mohr
2009-02-20  0:33   ` Jose Luis Marchetti
2009-02-20  0:55     ` Robert Hancock [this message]
2009-02-23  3:17       ` Jose Luis Marchetti
2009-02-20  0:26 ` Robert Hancock
2009-02-20  0:36   ` Jose Luis Marchetti

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=499DFF79.6090404@gmail.com \
    --to=hancockrwd@gmail.com \
    --cc=andi@lisas.de \
    --cc=joseluismarchetti@yahoo.com.br \
    --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