aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/keyhandler.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-04-11 15:55:42 +0100
committerKeir Fraser <keir.fraser@citrix.com>2008-04-11 15:55:42 +0100
commite9b5fb4377d1de367b6a14fca1493b4e6944d8c9 (patch)
tree883b710822f2368db1b4f85ee63518b5ca3dde82 /xen/common/keyhandler.c
parent989a44571e0ad793e17e192e7e5247e6fb8760ad (diff)
downloadxen-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.c8
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(