[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-4.1-testing] tasklets: Switch a few tasklets to run in softirq context.



# HG changeset patch
# User Keir Fraser <keir@xxxxxxx>
# Date 1308826974 -3600
# Node ID 61dbf453167e0e51a4dad187852055ec1aa2968e
# Parent  37764332b3786a9a475abe6d14dbe94577520559
tasklets: Switch a few tasklets to run in softirq context.

There are a couple of others which may also be safe. I've converted
only the most obvious one.

Signed-off-by: Keir Fraser <keir@xxxxxxx>
xen-unstable changeset:   23552:7b4a45a4075d
xen-unstable date:        Thu Jun 16 16:57:22 2011 +0100
---


diff -r 37764332b378 -r 61dbf453167e xen/arch/x86/hvm/hvm.c
--- a/xen/arch/x86/hvm/hvm.c    Thu Jun 23 12:02:33 2011 +0100
+++ b/xen/arch/x86/hvm/hvm.c    Thu Jun 23 12:02:54 2011 +0100
@@ -971,9 +971,10 @@
     if ( rc != 0 )
         goto fail4;
 
-    tasklet_init(&v->arch.hvm_vcpu.assert_evtchn_irq_tasklet,
-                 (void(*)(unsigned long))hvm_assert_evtchn_irq,
-                 (unsigned long)v);
+    softirq_tasklet_init(
+        &v->arch.hvm_vcpu.assert_evtchn_irq_tasklet,
+        (void(*)(unsigned long))hvm_assert_evtchn_irq,
+        (unsigned long)v);
 
     v->arch.guest_context.user_regs.eflags = 2;
 
diff -r 37764332b378 -r 61dbf453167e xen/common/trace.c
--- a/xen/common/trace.c        Thu Jun 23 12:02:33 2011 +0100
+++ b/xen/common/trace.c        Thu Jun 23 12:02:54 2011 +0100
@@ -610,7 +610,8 @@
 {
     send_guest_global_virq(dom0, VIRQ_TBUF);
 }
-static DECLARE_TASKLET(trace_notify_dom0_tasklet, trace_notify_dom0, 0);
+static DECLARE_SOFTIRQ_TASKLET(trace_notify_dom0_tasklet,
+                               trace_notify_dom0, 0);
 
 /**
  * trace - Enters a trace tuple into the trace buffer for the current CPU.
diff -r 37764332b378 -r 61dbf453167e xen/drivers/char/console.c
--- a/xen/drivers/char/console.c        Thu Jun 23 12:02:33 2011 +0100
+++ b/xen/drivers/char/console.c        Thu Jun 23 12:02:54 2011 +0100
@@ -327,7 +327,8 @@
 {
     send_guest_global_virq(dom0, VIRQ_CON_RING);
 }
-static DECLARE_TASKLET(notify_dom0_con_ring_tasklet, notify_dom0_con_ring, 0);
+static DECLARE_SOFTIRQ_TASKLET(notify_dom0_con_ring_tasklet,
+                               notify_dom0_con_ring, 0);
 
 static long guest_console_write(XEN_GUEST_HANDLE(char) buffer, int count)
 {
diff -r 37764332b378 -r 61dbf453167e xen/drivers/passthrough/io.c
--- a/xen/drivers/passthrough/io.c      Thu Jun 23 12:02:33 2011 +0100
+++ b/xen/drivers/passthrough/io.c      Thu Jun 23 12:02:54 2011 +0100
@@ -119,8 +119,9 @@
             return -ENOMEM;
         }
         memset(hvm_irq_dpci, 0, sizeof(*hvm_irq_dpci));
-        tasklet_init(&hvm_irq_dpci->dirq_tasklet,
-                     hvm_dirq_assist, (unsigned long)d);
+        softirq_tasklet_init(
+            &hvm_irq_dpci->dirq_tasklet,
+            hvm_dirq_assist, (unsigned long)d);
         hvm_irq_dpci->mirq = xmalloc_array(struct hvm_mirq_dpci_mapping,
                                            d->nr_pirqs);
         hvm_irq_dpci->dirq_mask = xmalloc_array(unsigned long,

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.