• K. Y. Srinivasan's avatar
    Drivers: hv: vmbus: Implement multi-channel support · e68d2971
    K. Y. Srinivasan authored
    Starting with Win8, the host supports multiple sub-channels for a given
    device. As in the past, the initial channel offer specifies the device and
    is associated with both the type and the instance GUIDs. For performance
    critical devices, the host may support multiple sub-channels. The sub-channels
    share the same type and instance GUID as the primary channel. The number of
    sub-channels offerrred to the guest depends on the number of virtual CPUs
    assigned to the guest. The guest can request the creation of these sub-channels
    and once created and opened, the guest can distribute the traffic across all
    the channels (the primary and the sub-channels). A request sent on a sub-channel
    will have the response delivered on the same sub-channel.
    
    At channel (sub-channel) creation we bind the channel interrupt to a CPU and
    with this sub-channel support we will be able to spread the interrupt load
    of a given device across all available CPUs.
    Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
    Reviewed-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    e68d2971
channel.c 23.4 KB