[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] tasklets: Switch a few tasklets to run in softirq context.
# HG changeset patch # User Keir Fraser <keir@xxxxxxx> # Date 1308239842 -3600 # Node ID 7b4a45a4075db489e87b3551737d3a8224462d54 # Parent 3ff057cbb16b6a19f1710900e1ac0993cb8bf5d3 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> --- diff -r 3ff057cbb16b -r 7b4a45a4075d xen/arch/x86/hvm/hvm.c --- a/xen/arch/x86/hvm/hvm.c Thu Jun 16 16:56:31 2011 +0100 +++ b/xen/arch/x86/hvm/hvm.c Thu Jun 16 16:57:22 2011 +0100 @@ -992,9 +992,10 @@ if ( rc != 0 ) goto fail5; - 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.user_regs.eflags = 2; diff -r 3ff057cbb16b -r 7b4a45a4075d xen/common/trace.c --- a/xen/common/trace.c Thu Jun 16 16:56:31 2011 +0100 +++ b/xen/common/trace.c Thu Jun 16 16:57:22 2011 +0100 @@ -641,7 +641,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 3ff057cbb16b -r 7b4a45a4075d xen/drivers/char/console.c --- a/xen/drivers/char/console.c Thu Jun 16 16:56:31 2011 +0100 +++ b/xen/drivers/char/console.c Thu Jun 16 16:57:22 2011 +0100 @@ -316,7 +316,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 3ff057cbb16b -r 7b4a45a4075d xen/drivers/passthrough/io.c --- a/xen/drivers/passthrough/io.c Thu Jun 16 16:56:31 2011 +0100 +++ b/xen/drivers/passthrough/io.c Thu Jun 16 16:57:22 2011 +0100 @@ -127,8 +127,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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |