All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cong Wang <amwang@redhat.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: netdev@vger.kernel.org,
	Stephen Hemminger <stephen@networkplumber.org>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [Patch net-next v5 3/3] igmp: convert RTNL lock to a spinlock
Date: Sat, 15 Jun 2013 16:12:22 +0800	[thread overview]
Message-ID: <1371283942.23997.8.camel@cr0> (raw)
In-Reply-To: <1371282946.3252.148.camel@edumazet-glaptop>

On Sat, 2013-06-15 at 00:55 -0700, Eric Dumazet wrote:
> On Sat, 2013-06-15 at 15:41 +0800, Cong Wang wrote:
> > From: Cong Wang <amwang@redhat.com>
> > 
> > It is not necessary to hold RTNL lock to protect mc_list,
> > at least IPv6 mcast is using a local spinlock, IPv4 can do
> > this too. This patch converts RTNL lock+RCU to spinlock+RCU.
> > 
> > Cc: Eric Dumazet <eric.dumazet@gmail.com>
> > Cc: Stephen Hemminger <stephen@networkplumber.org>
> > Cc: "David S. Miller" <davem@davemloft.net>
> > Signed-off-by: Cong Wang <amwang@redhat.com>
> > ---
> > v5: no change
> > v4: rebased on the latest net-next.
> > v3: remove useless synchronize_rcu().
> 
> Really I think this patch is not needed and way too risky.
> 
> I already said that you added bugs, and you keep posting same bugs ?
> 
> ip_mc_join_group() seems buggy after your v5 patch ?

I really missed this in your previous reply, sorry.

I assume you mean ip_mc_inc_group(in_dev, addr), yes.

> 
> Let me repeat : fast path already uses RCU.
> 
> The writer parts are slow path, using a mutex is much better than a
> spinlock as a mutex allows the writer to use GFP_KERNEL allocations, and
> eventually be preempted/scheduled.

I _did_ try to replace spinlock with mutex, but apparently mutex_lock()
can't be called with rcu_read_lock() held, which is the case in
ip_mc_drop_socket().

BTW, if you think this is a problem, IPv6 has the same problem, since it
uses rwlock.

Thanks.

  reply	other threads:[~2013-06-15  8:12 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-15  7:41 [Patch net-next v5 1/3] igmp: make some functions void Cong Wang
2013-06-15  7:41 ` [Patch net-next v5 2/3] ipv6,mcast: " Cong Wang
2013-06-15  7:41 ` [Patch net-next v5 3/3] igmp: convert RTNL lock to a spinlock Cong Wang
2013-06-15  7:55   ` Eric Dumazet
2013-06-15  8:12     ` Cong Wang [this message]
2013-06-15  8:26       ` Eric Dumazet
2013-06-15  8:44         ` Cong Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1371283942.23997.8.camel@cr0 \
    --to=amwang@redhat.com \
    --cc=davem@davemloft.net \
    --cc=eric.dumazet@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=stephen@networkplumber.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.