Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Aug 2016 18:11:24 +0300
From:      Slawa Olhovchenkov <slw@zxy.spb.ru>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        Bruce Simpson <bms@fastmail.net>, Ryan Stone <rysto32@gmail.com>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, Ryan Stone <rstone@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>
Subject:   Re: svn commit: r304436 - in head: . sys/netinet
Message-ID:  <20160831151123.GW88122@zxy.spb.ru>
In-Reply-To: <CAJ-Vmo=txJPgfbz6UANF619i4DXRELfct6HVJ-8nS=tK0geXUA@mail.gmail.com>
References:  <20160826151324.GF88122@zxy.spb.ru> <CAJ-Vmomg6ejJdZessaUU3DF%2BV%2BsQd=hMZwo_pDYpa4XjoB_ZcA@mail.gmail.com> <20160826213613.GH88122@zxy.spb.ru> <CAJ-VmomRDdg5EUUiAHOyVBzitd8cZ8bPGCrU9btnveWeW-_85g@mail.gmail.com> <20160826220255.GI88122@zxy.spb.ru> <CAJ-VmomFuh07_vBi%2BzdNrPs3%2BDni1AtYh_VNKbnACydbCxr7gw@mail.gmail.com> <20160827004617.GJ88122@zxy.spb.ru> <CAJ-VmokC-8hW6uJaORLFQmb_nHdevHbVbBGVS3xGghs3jOKofg@mail.gmail.com> <20160828133012.GN88122@zxy.spb.ru> <CAJ-Vmo=txJPgfbz6UANF619i4DXRELfct6HVJ-8nS=tK0geXUA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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).



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160831151123.GW88122>