From patchwork Wed Oct 13 12:45:40 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 67678 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 E57B4B70CD for ; Wed, 13 Oct 2010 23:45:53 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751531Ab0JMMpq (ORCPT ); Wed, 13 Oct 2010 08:45:46 -0400 Received: from mail-wy0-f174.google.com ([74.125.82.174]:49430 "EHLO mail-wy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750765Ab0JMMpp (ORCPT ); Wed, 13 Oct 2010 08:45:45 -0400 Received: by wyb28 with SMTP id 28so985620wyb.19 for ; Wed, 13 Oct 2010 05:45:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:cc :content-type:date:message-id:mime-version:x-mailer :content-transfer-encoding; bh=MLEuXyaxRbk18rzs5fZoHcbGH3vTFxGowft4B0OVgJo=; b=SrdArn5QDGachGfDryh+TyN/4DNcb8bsSmZHcZTR0n6+YdyIFfOST0CuD/tnkaS1z5 vi4+homp82UwhiUxromYURiB8vNLatkidaIni0yzXoAL6wqaqnmZTXfkvmWEqSOI0dH0 ttbimTyDSRcxvKPqxhk3O+MghS5dLSPKFo13k= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:cc:content-type:date:message-id:mime-version :x-mailer:content-transfer-encoding; b=mNHageDWKsgzw/88U/xQ0lKCPA1jNz81iKNNsD3buTQLxAfDme/eZOSWbs8unDW9te K/L0sH6koDSxwvaAUVYBIsSCAIT2s4+78p12Jh9MXzxUBjMl7KFig14z5vVLGgXXkaNf C5v+gHOTKnGBH9Lp7FPgNiYin5GcvkELNnli8= Received: by 10.227.135.78 with SMTP id m14mr8602371wbt.47.1286973944124; Wed, 13 Oct 2010 05:45:44 -0700 (PDT) Received: from [10.150.51.214] (gw0.net.jmsp.net [212.23.165.14]) by mx.google.com with ESMTPS id a17sm6049126wbe.12.2010.10.13.05.45.42 (version=SSLv3 cipher=RC4-MD5); Wed, 13 Oct 2010 05:45:43 -0700 (PDT) Subject: [PATCH net-next] fib6: use FIB_LOOKUP_NOREF in fib6_rule_lookup() From: Eric Dumazet To: David Miller Cc: netdev Date: Wed, 13 Oct 2010 14:45:40 +0200 Message-ID: <1286973940.3876.423.camel@edumazet-laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Avoid two atomic ops on found rule in fib6_rule_lookup() Signed-off-by: Eric Dumazet --- net/ipv6/fib6_rules.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c index b1108ed..d829874 100644 --- a/net/ipv6/fib6_rules.c +++ b/net/ipv6/fib6_rules.c @@ -34,11 +34,10 @@ struct dst_entry *fib6_rule_lookup(struct net *net, struct flowi *fl, { struct fib_lookup_arg arg = { .lookup_ptr = lookup, + .flags = FIB_LOOKUP_NOREF, }; fib_rules_lookup(net->ipv6.fib6_rules_ops, fl, flags, &arg); - if (arg.rule) - fib_rule_put(arg.rule); if (arg.result) return arg.result;