lkml.org 
[lkml]   [2003]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[RFC] new feattures to improve linux interrupt response
Dear developers:

We have a plan to implement new features of Linux kernel for
embedded systems.
In particular, these features are planed to improve interrupt
response on Linux.
Please tell us whether someone has been engaged in
working about the same features yet.
Of course any comments are welcome.
We describe the feature as follows.

[1] Problems to be solved

We focus on the following problems to use Linux on the embedded systems.

(1) Long critical sections
Linux has longer critical sections than RTOS.
So the invocation of interrupt handler may be delayed until executions of
critical section
is ended for long time. The issue declines the response time to interrupts.

(2) The handling order of interrupts is not guaranteed.
Current Linux kernel does not guarantee the handling order of interrupts
, so any kind of interruptions can interrupt on handlers
which is not set SA_INTERRUPT flags.

By the way, typically, when we design the systems, we assign the interrupt
priority on each devices by its importance.
(e.g. Some systems need to handle network devices before disk devices,
other systems need to handle disk devices have most important priority.).
These priorities are decided by the system's character. In such cases,
developers need the mechanism to guarantee interruption handling order for
their systems.


[2] The proposed features

We are engaged in implementing following facilities.
These features can be enabled/disabled by kernel configuration.
If users disable these features in kernel configuration,
our modification will make no effect on kernel behaviors.

a) Quick interruption handling facility for embedded systems
We are designing and implementing quick interrupt handling facility
for embedded systems. This is achieved by accepting some
interrupts(these are pre-defined in kernel configuration.) in current
Linux kernel's critical sections.

We will modify local_irq_disable/local_irq_enable macros
to keep interrupt masks of some interrupts which need to handle quickly
un-masked in most of kernel critical sections.

b) Priority based interrupt handler facility
We adopt interrupt priorities for interrupt handlers(top half handlers)
to handle interruption orderly(like Solaris).
In current plan, these priorities are set in kernel configuration,
so this feature will make no effects on current interrupt handler
handlers API (request_irq/free_irq and so on.).

This is achieved by invoking interrupt handlers by kernel threads.
These threads are created for each priority. Interrupt
priority is represented by thread's priority.


[3] About target platform
We will implement these features on PowerPC 405GP(r) platform at first.

Sincerely, yours


--
Takeharu KATO
Fujitsu Limited
Email:tkato@cs.fujitsu.co.jp
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:47    [W:0.042 / U:0.160 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site