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).
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to