Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753375AbdHKLmz (ORCPT ); Fri, 11 Aug 2017 07:42:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34008 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753014AbdHKLl2 (ORCPT ); Fri, 11 Aug 2017 07:41:28 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com CEB89C04DBCF Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=jasowang@redhat.com From: Jason Wang To: davem@davemloft.net, mst@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Cc: kubakici@wp.pl, Jason Wang Subject: [PATCH net-next V2 0/3] XDP support for tap Date: Fri, 11 Aug 2017 19:41:15 +0800 Message-Id: <1502451678-17358-1-git-send-email-jasowang@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Fri, 11 Aug 2017 11:41:28 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 929 Lines: 33 Hi all: This series tries to implement XDP support for tap. Two path were implemented: - fast path: small & non-gso packet, For performance reason we do it at page level and use build_skb() to create skb if necessary. - slow path: big or gso packet, we don't want to lose the capability compared to generic XDP, so we export some generic xdp helpers and do it after skb was created. xdp1 shows about 41% improvement, xdp_redirect shows about 60% improvement. Changes from V1: - fix the race between xdp set and free - don't hold extra refcount - add XDP_REDIRECT support Please review. Jason Wang (3): tap: use build_skb() for small packet net: export some generic xdp helpers tap: XDP support drivers/net/tun.c | 247 ++++++++++++++++++++++++++++++++++++++++++---- include/linux/netdevice.h | 2 + net/core/dev.c | 14 +-- 3 files changed, 236 insertions(+), 27 deletions(-) -- 2.7.4