From: "Udo A. Steinberg" <us15@os.inf.tu-dresden.de>
To: Jeff Dike <jdike@karaya.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: context switch vs. signal delivery [was: Re: Accelerating user mode
Date: Tue, 6 Aug 2002 20:01:52 +0200 [thread overview]
Message-ID: <20020806200152.6344802d.us15@os.inf.tu-dresden.de> (raw)
In-Reply-To: <200208061742.g76HgIg31452@karaya.com>
[-- Attachment #1: Type: text/plain, Size: 1501 bytes --]
On Tue, 06 Aug 2002 13:42:18 -0400
Jeff Dike <jdike@karaya.com> wrote:
> A couple of ways. The system call path can call sigio_handler to clear
> out any pending IO. The SIGIO that was trapped in the process will cause
> another call to sigio_handler which won't turn up any IO, but I don't
> consider that to be a problem.
It is not a problem at all, just a small performance penalty.
> The kernel process can examine the signal pending mask of the process after
> it has transferred SIGIO to itself. This can be done either through
> /proc/<pid>/status or a ptrace extension, since we're happily postulating
> new things for it to do anyway. If there is a SIGIO pending, it calls
> sigio_handler.
I don't like the idea of having to fiddle with the proc filesystem. Some
people might not even mount it. A ptrace extension to look at and modify
the pending signal mask of a traced process would be very handy.
> Any other possibilities that you see?
Right now I'm doing something hackish. If the process enters with a syscall
(int 0x30 in my case) after the kernel expects it to enter due to an interrupt,
I just restart the task until it enters with the pending interrupt signal (SIGIO).
The task will do that before it can step on the int instruction again, and after
it returns to usermode it will step on the int again. This works well with faults.
The problem are traps, because the EIP points behind the instruction. In that
case the EIP needs to be adjusted. Ugly, I know.
-Udo.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2002-08-06 17:58 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-01 20:16 Accelerating user mode linux Alan Cox
2002-08-02 4:40 ` Jeff Dike
2002-08-02 9:50 ` Alan Cox
2002-08-02 18:28 ` Jeff Dike
2002-08-02 17:48 ` Alan Cox
2002-08-02 22:33 ` Jeff Dike
2002-08-02 21:57 ` Alan Cox
2002-08-03 0:54 ` Jeff Dike
2002-08-02 11:34 ` Richard Zidlicky
2002-08-02 13:28 ` Alan Cox
2002-08-03 11:38 ` context switch vs. signal delivery [was: Re: Accelerating user mode linux] Ingo Molnar
2002-08-03 12:33 ` context switch vs. signal delivery [was: Re: Accelerating user mode Alan Cox
2002-08-03 15:29 ` Jeff Dike
2002-08-05 13:46 ` Udo A. Steinberg
2002-08-05 20:44 ` Richard Zidlicky
2002-08-05 22:34 ` Udo A. Steinberg
2002-08-06 0:42 ` Jeff Dike
2002-08-06 0:16 ` Udo A. Steinberg
2002-08-06 2:55 ` Jeff Dike
2002-08-06 8:10 ` Udo A. Steinberg
2002-08-06 11:20 ` Jeff Dike
2002-08-06 11:13 ` Udo A. Steinberg
2002-08-06 12:53 ` Jeff Dike
2002-08-06 13:04 ` Udo A. Steinberg
2002-08-06 14:12 ` Jeff Dike
2002-08-06 16:02 ` Udo A. Steinberg
2002-08-06 17:42 ` Jeff Dike
2002-08-06 18:01 ` Udo A. Steinberg [this message]
2002-08-08 1:27 ` Udo A. Steinberg
2002-08-08 3:14 ` Jeff Dike
2002-08-08 2:21 ` Benjamin LaHaise
2002-08-08 9:03 ` Udo A. Steinberg
2002-08-08 17:19 ` Jeff Dike
2002-08-05 22:06 ` Martin Waitz
2002-08-06 0:49 ` Jeff Dike
2002-08-04 6:46 ` context switch vs. signal delivery [was: Re: Accelerating user mode linux] Andi Kleen
2002-08-05 5:35 ` Linus Torvalds
2002-08-05 5:42 ` Arnaldo Carvalho de Melo
2002-08-05 6:37 ` Lincoln Dale
2002-08-05 15:39 ` Jamie Lokier
2002-08-05 16:38 ` Linus Torvalds
2002-08-05 20:01 ` context switch vs. signal delivery [was: Re: Accelerating usermode linux] Oliver Neukum
2002-08-05 20:23 ` Linus Torvalds
2002-08-06 5:31 ` context switch vs. signal delivery [was: Re: Accelerating user mode linux] Mark Mielke
2002-08-05 10:40 ` Ingo Molnar
2002-08-05 14:59 ` Larry McVoy
2002-08-05 15:41 ` Jamie Lokier
2002-08-05 15:44 ` Jamie Lokier
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=20020806200152.6344802d.us15@os.inf.tu-dresden.de \
--to=us15@os.inf.tu-dresden.de \
--cc=jdike@karaya.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
all inboxes | Powered by JetHome®