[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1370947206.3252.27.camel@edumazet-glaptop>
Date: Tue, 11 Jun 2013 03:40:06 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Michal Kubecek <mkubecek@...e.cz>
Cc: David Miller <davem@...emloft.net>, netdev@...r.kernel.org,
kuznet@....inr.ac.ru, jmorris@...ei.org, yoshfuji@...ux-ipv6.org,
kaber@...sh.net
Subject: Re: [PATCH net] ipv6: prevent fib6_run_gc() contention
On Tue, 2013-06-11 at 12:07 +0200, Michal Kubecek wrote:
> That was my original idea but I was afraid that while the remaining
> window in ip6_dst_gc() would be very short and probably safe, we could
> still run into problem if fib6_gc_lock was locked by some other caller
> of fib6_run_gc() which doesn't update net->ipv6.ip6_rt_last_gc,
> especially via a timer.
This looks a bug (but not a big one) to me :
We should update ip6_rt_last_gc if we did a gc,
not only from ip6_dst_gc()
So, I would move the "net->ipv6.ip6_rt_last_gc = now;" from ip6_dst_gc()
to fib6_run_gc(), right after the spin_lock_bh() ?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists