diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-04-11 15:55:42 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-04-11 15:55:42 +0100 |
commit | e9b5fb4377d1de367b6a14fca1493b4e6944d8c9 (patch) | |
tree | 883b710822f2368db1b4f85ee63518b5ca3dde82 /xen/common/keyhandler.c | |
parent | 989a44571e0ad793e17e192e7e5247e6fb8760ad (diff) | |
download | xen-e9b5fb4377d1de367b6a14fca1493b4e6944d8c9.tar.gz xen-e9b5fb4377d1de367b6a14fca1493b4e6944d8c9.tar.bz2 xen-e9b5fb4377d1de367b6a14fca1493b4e6944d8c9.zip |
Turn some simple softirqs into tasklets.
TRACE_SOFTIRQ does not appear to be necessary at all.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/common/keyhandler.c')
-rw-r--r-- | xen/common/keyhandler.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c index b414452562..934edb5dc9 100644 --- a/xen/common/keyhandler.c +++ b/xen/common/keyhandler.c @@ -32,7 +32,7 @@ static struct { static unsigned char keypress_key; -static void keypress_softirq(void) +static void keypress_action(unsigned long unused) { keyhandler_t *h; unsigned char key = keypress_key; @@ -42,6 +42,8 @@ static void keypress_softirq(void) console_end_log_everything(); } +static DECLARE_TASKLET(keypress_tasklet, keypress_action, 0); + void handle_keypress(unsigned char key, struct cpu_user_regs *regs) { irq_keyhandler_t *h; @@ -56,7 +58,7 @@ void handle_keypress(unsigned char key, struct cpu_user_regs *regs) else { keypress_key = key; - raise_softirq(KEYPRESS_SOFTIRQ); + tasklet_schedule(&keypress_tasklet); } } @@ -284,8 +286,6 @@ static void do_debug_key(unsigned char key, struct cpu_user_regs *regs) void __init initialize_keytable(void) { - open_softirq(KEYPRESS_SOFTIRQ, keypress_softirq); - register_irq_keyhandler( 'd', dump_registers, "dump registers"); register_keyhandler( |