From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 03BB6C43381 for ; Fri, 22 Feb 2019 03:39:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C311220818 for ; Fri, 22 Feb 2019 03:39:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BbVm8J1h" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726819AbfBVDjJ (ORCPT ); Thu, 21 Feb 2019 22:39:09 -0500 Received: from mail-pg1-f194.google.com ([209.85.215.194]:34454 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726342AbfBVDjI (ORCPT ); Thu, 21 Feb 2019 22:39:08 -0500 Received: by mail-pg1-f194.google.com with SMTP id i130so467010pgd.1 for ; Thu, 21 Feb 2019 19:39:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=K6HQfFnsjWNt4u2Xp9wcgMmVhtrRFlYKXR0kyhcQ5mU=; b=BbVm8J1hPaYHjcPTO0y0O+8CIsJyUvLpSMMl/IHVglUlJ9Y/YiJVOnhQ6bGb8ahdwY 2jbfo12DWZdJwytdjejc6IeFnp/fR9g584LmLVwAFD8OaSyHfVKk7iWSsVTlr3204DK3 McVAgEE6O/+/n47eMih4qeVdQQj969AIBAM1S+m5yg841I51BmkfbSzJj3/vkr0fCCT8 nLPVvwNYcmoXZ+xoizSyffHEkGwi1dMUlch/SgFhZ4LJf030fFe05yUwTrDXEWBh4uKV ZPORjrLpTb43t8faejITDtNPjDY0Z2RQ39EKUZPfFC70TMPTIIk9v+E7WysXv8XUAk14 YtRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=K6HQfFnsjWNt4u2Xp9wcgMmVhtrRFlYKXR0kyhcQ5mU=; b=B/Ld2sSLKtScwrs0X3GC1DvV2WVDztG1j3aOy4CgRBA2vRcZjMUxfPEUzAcJv+vqvl 2fHsSvR0+BeTddizU1na8PnkCa0UknHOOPOtO5CCsmRx61lezjvs1IIZ1uLNAFwkxREM XlZ6cBI0fZ+DRk5+M9B/ihb665TBGKN5sv9x9W4RC9D29AjBEvE3lq6UM0FKl+qlcgjn tp4fLtwIc+2tn1JDhmAPM9LCFZ4jn75HxdIUrUhXK8Jc/88TPj1mqLQUMrw6tKgYjqmQ B9IhOUgr2rSoogpLIOUk6w6TBehP8vBqD31f5TzXBEissR598TA97yTbJ4IZpnr8I0v/ bQyg== X-Gm-Message-State: AHQUAuad5WPW4xSSY0UwjBNOffZwAcW0PysGWp+Z+Mp/QGU+SRWlEPPf sdPsPxdHKWkTGoV52gMZ+5/8jLH/ X-Google-Smtp-Source: AHgI3Ib/m4CvxLChngIJjiTw5CgUBjBAqvb55DcTS/mfrSiQE25vGZhaIbws/V9T1fhGB5BEIUTNyQ== X-Received: by 2002:a63:2c0e:: with SMTP id s14mr1950375pgs.132.1550806748001; Thu, 21 Feb 2019 19:39:08 -0800 (PST) Received: from [172.27.227.156] ([216.129.126.118]) by smtp.googlemail.com with ESMTPSA id w4sm315675pgk.16.2019.02.21.19.39.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Feb 2019 19:39:07 -0800 (PST) Subject: Re: [PATCH net-next v2] ip_tunnel: Add dst_cache management lwtunnel_state of ip tunnel To: wenxu@ucloud.cn, davem@davemloft.net, netdev@vger.kernel.org References: <1550804401-16232-1-git-send-email-wenxu@ucloud.cn> From: David Ahern Message-ID: Date: Thu, 21 Feb 2019 22:39:04 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <1550804401-16232-1-git-send-email-wenxu@ucloud.cn> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On 2/21/19 10:00 PM, wenxu@ucloud.cn wrote: > From: wenxu > > The lwtunnel_state is not init the dst_cache Which make the > ip_md_tunnel_xmit can't use the dst_cache. It will lookup > route table every packets. > > Signed-off-by: wenxu > --- > net/ipv4/ip_tunnel_core.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/net/ipv4/ip_tunnel_core.c b/net/ipv4/ip_tunnel_core.c > index 9a0e67b..f91ef7a 100644 > --- a/net/ipv4/ip_tunnel_core.c > +++ b/net/ipv4/ip_tunnel_core.c > @@ -252,6 +252,12 @@ static int ip_tun_build_state(struct nlattr *attr, > > tun_info = lwt_tun_info(new_state); > > + err = dst_cache_init(&tun_info->dst_cache, GFP_ATOMIC); build_state is called with rtnl held. Unless I am missing something, you don't need ATOMIC here.