diff options
author | Haiyang Zhang <haiyangz@microsoft.com> | 2015-03-26 09:03:37 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-03-29 12:49:55 -0700 |
commit | 7c3877f275ee6b479fa828947811c76d431501ca (patch) | |
tree | c4eb557ff31ea579d0a52aa5e4623b8fabf4a688 /drivers/net/hyperv/rndis_filter.c | |
parent | 4ef295e04722c955cd60723d78ec525a2e80de27 (diff) | |
download | op-kernel-dev-7c3877f275ee6b479fa828947811c76d431501ca.zip op-kernel-dev-7c3877f275ee6b479fa828947811c76d431501ca.tar.gz |
hv_netvsc: Implement batching in send buffer
With this patch, we can send out multiple RNDIS data packets in one send buffer
slot and one VMBus message. It reduces the overhead associated with VMBus messages.
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/hyperv/rndis_filter.c')
-rw-r--r-- | drivers/net/hyperv/rndis_filter.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c index ca81de0..a2b185a 100644 --- a/drivers/net/hyperv/rndis_filter.c +++ b/drivers/net/hyperv/rndis_filter.c @@ -237,6 +237,7 @@ static int rndis_filter_send_request(struct rndis_device *dev, } packet->send_completion = NULL; + packet->xmit_more = false; ret = netvsc_send(dev->net_dev->dev, packet); return ret; @@ -855,6 +856,7 @@ static int rndis_filter_init_device(struct rndis_device *dev) u32 status; int ret; unsigned long t; + struct netvsc_device *nvdev = dev->net_dev; request = get_rndis_request(dev, RNDIS_MSG_INIT, RNDIS_MESSAGE_SIZE(struct rndis_initialize_request)); @@ -889,6 +891,8 @@ static int rndis_filter_init_device(struct rndis_device *dev) status = init_complete->status; if (status == RNDIS_STATUS_SUCCESS) { dev->state = RNDIS_DEV_INITIALIZED; + nvdev->max_pkt = init_complete->max_pkt_per_msg; + nvdev->pkt_align = 1 << init_complete->pkt_alignment_factor; ret = 0; } else { dev->state = RNDIS_DEV_UNINITIALIZED; |