[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090308.194922.267426196.davem@davemloft.net>
Date: Sun, 08 Mar 2009 19:49:22 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: dada1@...mosbay.com
Cc: kchang@...enacr.com, netdev@...r.kernel.org,
cl@...ux-foundation.org, bmb@...enacr.com
Subject: Re: Multicast packet loss
From: Eric Dumazet <dada1@...mosbay.com>
Date: Sun, 08 Mar 2009 17:46:13 +0100
> + if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) {
> + if (in_softirq()) {
> + if (!softirq_del(&sk->sk_del, sock_readable_defer))
> + goto unlock;
> + return;
> + }
This is interesting.
I think you should make softirq_del() more flexible. Make it the
socket's job to make sure it doesn't try to defer different
functions, and put the onus on locking there as well.
The cmpxchg() and all of this checking is just wasted work.
I'd really like to get rid of that callback lock too, then we'd
really be in business. :-)
--
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