From patchwork Thu Oct 27 19:53:41 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Neil Horman X-Patchwork-Id: 122246 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 4F7E9B6FA2 for ; Fri, 28 Oct 2011 06:54:44 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752784Ab1J0Tyl (ORCPT ); Thu, 27 Oct 2011 15:54:41 -0400 Received: from charlotte.tuxdriver.com ([70.61.120.58]:38420 "EHLO smtp.tuxdriver.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752520Ab1J0Tyk (ORCPT ); Thu, 27 Oct 2011 15:54:40 -0400 Received: from hmsreliant.think-freely.org ([2001:470:8:a08:7aac:c0ff:fec2:933b] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1RJW28-000835-Tb; Thu, 27 Oct 2011 15:54:38 -0400 From: Neil Horman To: netdev@vger.kernel.org Cc: root , Neil Horman , "David S. Miller" Subject: [RFC PATCH 5/5] net: add FCLONE_SCRATCH use to ipv6 udp path Date: Thu, 27 Oct 2011 15:53:41 -0400 Message-Id: <1319745221-30880-6-git-send-email-nhorman@tuxdriver.com> X-Mailer: git-send-email 1.7.6.4 In-Reply-To: <1319745221-30880-1-git-send-email-nhorman@tuxdriver.com> References: <1319745221-30880-1-git-send-email-nhorman@tuxdriver.com> X-Spam-Score: -2.1 (--) X-Spam-Status: No Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: root Like the ipv4 path, the ipv6 path can benefit from this change by taking advantage of the unused space at the tail of an skbuffs data area. Mark ipv6 udp multicast frames as being elligible for scratch fcloning. Signed-off-by: Neil Horman CC: "David S. Miller" --- net/ipv6/udp.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index f4ca0a5..dda6661 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -645,6 +645,8 @@ static int __udp6_lib_mcast_deliver(struct net *net, struct sk_buff *skb, int dif; unsigned int i, count = 0; + skb_make_fclone_scratch(skb); + spin_lock(&hslot->lock); sk = sk_nulls_head(&hslot->head); dif = inet6_iif(skb);