From: Esben Nielsen <nielsen.esben@googlemail.com>
To: linux-kernel@vger.kernel.org
Cc: Ingo Molnar <mingo@elte.hu>
Subject: [patch 0/5] [PREEMPT_RT] Changing interrupt handlers from running in thread to hardirq and back runtime.
Date: Fri, 2 Jun 2006 23:22:46 +0100 (BST) [thread overview]
Message-ID: <Pine.LNX.4.64.0606022321170.9307@localhost> (raw)
--
Hi,
(I have sent these patches once, but I can't find them on LKML, so I assume
they were lost.)
I have made a system such that drivers can be enhanced to easily run in
both hard-irq context and threaded context under PREEMPT_RT (and also
under !PREEMPT_RT, although that is trivial).
- Why:
Because running hard irq handles threaded is a huge overhead and many of the
interrupt handlers already are so small that running them in hard-IRQ context
doesn't make much different. By making them changeable runtime make it easy
to do meassurements on latencies and performance.
Furthermore, this system solves the bugs occuring when trying to share a
non-threaded (SA_NODELAY) and threaded (new SA_MUST_THREAD flag) irq handlers
on the same irq. Unless one of them is willing to change context, installation
of the last handler will simply fail.
- How:
The basic idea is to let them change their locks to raw_spin_lock from rt_mutex
and back when the change of context is ordered.
I have therefore made 5 patches.
1) The "spin_mutex" (might need another name) which is a lock type which
can safely be changed runtime from raw_spin_lock to rt_mutex and back.
2) A set of changes to the irq system where a new callback to the driver is '
added.
3) Update to my ethernet driver (e100).
4) Update to the my serial driver (8250).
5) A patch which doesn't really belong here to lpptest where the
request_irq() API wasn't used correctly.
Esben
reply other threads:[~2006-06-02 21:22 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=Pine.LNX.4.64.0606022321170.9307@localhost \
--to=nielsen.esben@googlemail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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
all inboxes | Powered by JetHome®