aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hv/vmbus_drv.c
diff options
context:
space:
mode:
authorK. Y. Srinivasan <kys@microsoft.com>2012-12-01 09:46:53 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-17 14:39:15 -0500
commitdb11f12a11c9f04d504510e1cc20775209b0e509 (patch)
tree8c19d9cf2f84d8d395a240eda7386d92eed699fd /drivers/hv/vmbus_drv.c
parent01986313289bd2e143d693f803c7675ea121a832 (diff)
Drivers: hv: Manage event tasklets on per-cpu basis
Now that we can potentially take vmbus interrupts on any CPU, make the tasklets per-CPU. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hv/vmbus_drv.c')
-rw-r--r--drivers/hv/vmbus_drv.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index 4c92337ddae6..6e4f85720f26 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
@@ -41,7 +41,6 @@
41static struct acpi_device *hv_acpi_dev; 41static struct acpi_device *hv_acpi_dev;
42 42
43static struct tasklet_struct msg_dpc; 43static struct tasklet_struct msg_dpc;
44static struct tasklet_struct event_dpc;
45static struct completion probe_event; 44static struct completion probe_event;
46static int irq; 45static int irq;
47 46
@@ -483,7 +482,7 @@ static irqreturn_t vmbus_isr(int irq, void *dev_id)
483 } 482 }
484 483
485 if (handled) 484 if (handled)
486 tasklet_schedule(&event_dpc); 485 tasklet_schedule(hv_context.event_dpc[cpu]);
487 486
488 487
489 page_addr = hv_context.synic_message_page[cpu]; 488 page_addr = hv_context.synic_message_page[cpu];
@@ -523,7 +522,6 @@ static int vmbus_bus_init(int irq)
523 } 522 }
524 523
525 tasklet_init(&msg_dpc, vmbus_on_msg_dpc, 0); 524 tasklet_init(&msg_dpc, vmbus_on_msg_dpc, 0);
526 tasklet_init(&event_dpc, vmbus_on_event, 0);
527 525
528 ret = bus_register(&hv_bus); 526 ret = bus_register(&hv_bus);
529 if (ret) 527 if (ret)