Thread (7 messages) flat view 7 messages, 3 authors, 2011-03-15

Re: [RFC v3 3/6] can: make struct proto const

From: Oliver Hartkopp <socketcan@hartkopp.net>
Date: 2011-03-15 21:28:12

Possibly related (same subject, not in this thread)

On 14.03.2011 18:17, Kurt Van Dijck wrote:
On Mon, Mar 14, 2011 at 05:42:23PM +0100, Eric Dumazet wrote:
quoted
Le lundi 14 mars 2011 à 16:02 +0100, Kurt Van Dijck a écrit :
quoted
I see your point.
The reason I modified this was, as described, checkpatch.pl was complaining.
Anyway, this sequence was protected by a spinlock 'proto_tab_lock'.
I don't think it was a race.

Did I miss something?
As soon as proto_tab[proto] = cp; is done, another thread on another cpu
can read the pointer and follow it.

Hmm, I missed can_create() also uses the spinlock protection, so you're
probably right.

It seems a bit overkill :(
phonet uses RCU for example.
Hello Eric,

the RCU code in phonet is worth to consider. But loading and removing of
protocols is far away from being a hot path ... what would be the advantages
to move to RCU here?
I'll keep that in mind.
Switching CAN protos to RCU is far beyond to goal of this patch :-)
Anyway making the struct proto a const (and set the default defines in the CAN
protocols) is a nice cleanup. Let's wait for the feedback about the RCU from
Eric ... then this patch could be put into mainline independently from the
j1939 protocol.

Thanks,
Oliver
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help