Re: Multicast packet loss
From: David Miller <davem@davemloft.net>
Date: 2009-03-13 22:39:05
From: David Miller <davem@davemloft.net>
Date: 2009-03-13 22:39:05
From: Eric Dumazet <redacted> Date: Fri, 13 Mar 2009 23:30:31 +0100
David Miller a écrit :quoted
quoted
Also, when an event was queued for later invocation, I also needed to keep a reference on "struct socket" to make sure it doesnt disappear before the invocation. Not all sockets are RCU guarded (we added RCU only for some protocols (TCP, UDP ...). So I found keeping a read_lock on callback was the easyest thing to do. I now realize we might overflow preempt_count, so special care is needed.You're using this in UDP so... make the rule that you can't use this with a non-RCU-quiescent protocol.UDP/TCP only ? I though many other protocols (not all using RCU) were using sock_def_readable() too...
Maybe create a inet_def_readable() just for this purpose :-)