lkml.org 
[lkml]   [2011]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 2/8] Staging: hv: vmbus: Invoke vmbus_on_msg_dpc() directly
    From
    Date
    On Mon, 2011-08-15 at 15:12 -0700, K. Y. Srinivasan wrote:
    > The message processing function needs to execute on the same CPU where
    > the interrupt was taken. tasklets cannot gurantee this; so, invoke the
    > function directly.
    >
    > Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
    > Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
    > ---

    tasklets are guaranteed to run on the same CPU as the function that
    scheduled them.

    Unless I'm missing something?

    > drivers/staging/hv/vmbus_drv.c | 4 +---
    > 1 files changed, 1 insertions(+), 3 deletions(-)
    >
    > diff --git a/drivers/staging/hv/vmbus_drv.c b/drivers/staging/hv/vmbus_drv.c
    > index bb25c5b..1d4e878 100644
    > --- a/drivers/staging/hv/vmbus_drv.c
    > +++ b/drivers/staging/hv/vmbus_drv.c
    > @@ -39,7 +39,6 @@
    >
    > static struct acpi_device *hv_acpi_dev;
    >
    > -static struct tasklet_struct msg_dpc;
    > static struct tasklet_struct event_dpc;
    >
    > unsigned int vmbus_loglevel = (ALL_MODULES << 16 | INFO_LVL);
    > @@ -425,7 +424,7 @@ static irqreturn_t vmbus_isr(int irq, void *dev_id)
    > /* Check if there are actual msgs to be process */
    > if (msg->header.message_type != HVMSG_NONE) {
    > handled = true;
    > - tasklet_schedule(&msg_dpc);
    > + vmbus_on_msg_dpc(0);
    > }
    >
    > page_addr = hv_context.synic_event_page[cpu];
    > @@ -465,7 +464,6 @@ static int vmbus_bus_init(int irq)
    > }
    >
    > /* Initialize the bus context */
    > - tasklet_init(&msg_dpc, vmbus_on_msg_dpc, 0);
    > tasklet_init(&event_dpc, vmbus_on_event, 0);
    >
    > /* Now, register the bus with LDM */

    --

    Sasha.



    \
     
     \ /
      Last update: 2011-08-17 14:51    [W:0.022 / U:91.544 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site