lkml.org 
[lkml]   [2020]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [PATCH 05/11] hv_utils: Always execute the fcopy and vss callbacks in a tasklet
    Date
    From: Andrea Parri (Microsoft) <parri.andrea@gmail.com> Sent: Sunday, April 5, 2020 5:15 PM
    >
    > The fcopy and vss callback functions could be running in a tasklet
    > at the same time they are called in hv_poll_channel(). Current code
    > serializes the invocations of these functions, and their accesses to
    > the channel ring buffer, by sending an IPI to the CPU that is allowed
    > to access the ring buffer, cf. hv_poll_channel(). This IPI mechanism
    > becomes infeasible if we allow changing the CPU that a channel will
    > interrupt. Instead modify the callback wrappers to always execute
    > the fcopy and vss callbacks in a tasklet, thus mirroring the solution
    > for the kvp callback functions adopted since commit a3ade8cc474d8
    > ("HV: properly delay KVP packets when negotiation is in progress").
    > This will ensure that the callback function can't run on two CPUs at
    > the same time.
    >
    > Suggested-by: Michael Kelley <mikelley@microsoft.com>
    > Signed-off-by: Andrea Parri (Microsoft) <parri.andrea@gmail.com>
    > ---
    > drivers/hv/hv_fcopy.c | 2 +-
    > drivers/hv/hv_snapshot.c | 2 +-
    > drivers/hv/hyperv_vmbus.h | 7 +------
    > 3 files changed, 3 insertions(+), 8 deletions(-)
    >

    Reviewed-by: Michael Kelley <mikelley@microsoft.com>

    \
     
     \ /
      Last update: 2020-04-10 21:27    [W:2.708 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site