From owner-svn-src-all@freebsd.org Wed Aug 31 15:11:28 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4FF70BCA3A5; Wed, 31 Aug 2016 15:11:28 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0A6DAD31; Wed, 31 Aug 2016 15:11:28 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from slw by zxy.spb.ru with local (Exim 4.86 (FreeBSD)) (envelope-from ) id 1bf7Ai-000PD4-2K; Wed, 31 Aug 2016 18:11:24 +0300 Date: Wed, 31 Aug 2016 18:11:24 +0300 From: Slawa Olhovchenkov To: Adrian Chadd Cc: Bruce Simpson , Ryan Stone , "svn-src-head@freebsd.org" , Ryan Stone , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" Subject: Re: svn commit: r304436 - in head: . sys/netinet Message-ID: <20160831151123.GW88122@zxy.spb.ru> References: <20160826151324.GF88122@zxy.spb.ru> <20160826213613.GH88122@zxy.spb.ru> <20160826220255.GI88122@zxy.spb.ru> <20160827004617.GJ88122@zxy.spb.ru> <20160828133012.GN88122@zxy.spb.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Aug 2016 15:11:28 -0000 On Sun, Aug 28, 2016 at 10:20:08AM -0700, Adrian Chadd wrote: > Hi, > > There are some no brainers here so far(tm): > > working from the bottom up: > > * yeah, the ixgbe locking is a bit silly. Kip's work with iflib and > converting ixgbe to use that instead of its own locking for managing > things should remove the bottom two locks > * the rtalloc1_fib thing - that's odd, because it shouldn't be > contending there unless there's some temporary redirect that's been > learnt. What's the routing table look like on your machine? I Remember As I understund this code: === static struct radix_node * in_matroute(void *v_arg, struct radix_node_head *head) { struct radix_node *rn = rn_match(v_arg, head); struct rtentry *rt = (struct rtentry *)rn; if (rt) { RT_LOCK(rt); if (rt->rt_flags & RTPRF_OURS) { rt->rt_flags &= ~RTPRF_OURS; rt->rt_expire = 0; } RT_UNLOCK(rt); } return rn; } === lock congestion will be created for any route: for any route captured captured exclusive lock (for test).