From patchwork Fri Jun 24 20:33:25 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jesse Gross X-Patchwork-Id: 101893 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 413C2B6F8E for ; Sat, 25 Jun 2011 06:33:38 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751603Ab1FXUdd (ORCPT ); Fri, 24 Jun 2011 16:33:33 -0400 Received: from mail-pv0-f174.google.com ([74.125.83.174]:48557 "EHLO mail-pv0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751199Ab1FXUdc (ORCPT ); Fri, 24 Jun 2011 16:33:32 -0400 Received: by pvg12 with SMTP id 12so1916770pvg.19 for ; Fri, 24 Jun 2011 13:33:32 -0700 (PDT) Received: by 10.68.46.73 with SMTP id t9mr2110134pbm.234.1308947611893; Fri, 24 Jun 2011 13:33:31 -0700 (PDT) Received: from umstead.nicira.com (173-167-111-49-sfba.hfc.comcastbusiness.net [173.167.111.49]) by mx.google.com with ESMTPS id o2sm2300862pbj.33.2011.06.24.13.33.29 (version=SSLv3 cipher=OTHER); Fri, 24 Jun 2011 13:33:31 -0700 (PDT) From: Jesse Gross To: David Miller Cc: netdev@vger.kernel.org, Shreyas Bhatewara , VMware PV-Drivers Subject: [PATCH] vmxnet3: Enable GRO support. Date: Fri, 24 Jun 2011 13:33:25 -0700 Message-Id: <1308947605-4300-1-git-send-email-jesse@nicira.com> X-Mailer: git-send-email 1.7.4.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When receiving packets from another guest on the same hypervisor, it's generally possible to receive large packets because no segmentation is necessary and these packets are handled by LRO. However, when doing routing or bridging we must disable LRO and lose this benefit. In these cases GRO can still be used and it is very effective because the packets which are segmented in the hypervisor are received very close together and can easily be merged. CC: Shreyas Bhatewara CC: VMware PV-Drivers Signed-off-by: Jesse Gross --- This applies on top of my previous vmxnet3 patch "vmxnet3: Convert to new vlan model." --- drivers/net/vmxnet3/vmxnet3_drv.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c index c84b1dd..5353429 100644 --- a/drivers/net/vmxnet3/vmxnet3_drv.c +++ b/drivers/net/vmxnet3/vmxnet3_drv.c @@ -1234,7 +1234,7 @@ vmxnet3_rq_rx_complete(struct vmxnet3_rx_queue *rq, if (unlikely(rcd->ts)) __vlan_hwaccel_put_tag(skb, rcd->tci); - netif_receive_skb(skb); + napi_gro_receive(&rq->napi, skb); ctx->skb = NULL; }