From: Oliver Hartkopp <socketcan@hartkopp.net>
To: Kurt Van Dijck <kurt.van.dijck@eia.be>,
Eric Dumazet <eric.dumazet@gmail.com>
Cc: socketcan-core@lists.berlios.de, netdev@vger.kernel.org
Subject: Re: [RFC v3 3/6] can: make struct proto const
Date: Tue, 15 Mar 2011 22:28:13 +0100 [thread overview]
Message-ID: <4D7FD9ED.1080004@hartkopp.net> (raw)
In-Reply-To: <20110314171752.GL333@e-circ.dyndns.org>
On 14.03.2011 18:17, Kurt Van Dijck wrote:
> On Mon, Mar 14, 2011 at 05:42:23PM +0100, Eric Dumazet wrote:
>> Le lundi 14 mars 2011 à 16:02 +0100, Kurt Van Dijck a écrit :
>>
>>> 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
next prev parent reply other threads:[~2011-03-15 21:28 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-14 13:20 [RFC v3 0/6] CAN: add SAE J1939 protocol Kurt Van Dijck
[not found] ` <20110314132004.GA333-MxZ6Iy/zr/UdbCeoMzGj59i2O/JbrIOy@public.gmane.org>
2011-03-14 13:24 ` [RFC v3 1/6] can: extend sockaddr_can to include j1939 members Kurt Van Dijck
2011-03-14 14:15 ` Eric Dumazet
2011-03-14 14:53 ` Kurt Van Dijck
2011-03-14 13:26 ` [RFC v3 2/6] can: add rtnetlink support Kurt Van Dijck
2011-03-14 13:47 ` [RFC v3 3/6] can: make struct proto const Kurt Van Dijck
2011-03-14 14:09 ` Eric Dumazet
2011-03-14 15:02 ` Kurt Van Dijck
2011-03-14 16:42 ` Eric Dumazet
2011-03-14 17:17 ` Kurt Van Dijck
2011-03-15 21:28 ` Oliver Hartkopp [this message]
[not found] ` <4D7FD9ED.1080004-fJ+pQTUTwRTk1uMJSBkQmQ@public.gmane.org>
2011-03-15 22:12 ` Kurt Van Dijck
2011-03-15 22:19 ` Eric Dumazet
2011-03-14 13:56 ` [RFC v3 4/6] j1939: initial import of SAE J1939 Kurt Van Dijck
2011-03-14 13:59 ` [RFC v3 5/6] j1939: add documentation and MAINTAINERS Kurt Van Dijck
[not found] ` <20110314135917.GF333-MxZ6Iy/zr/UdbCeoMzGj59i2O/JbrIOy@public.gmane.org>
2011-03-20 15:56 ` Oliver Hartkopp
[not found] ` <4D8623BE.2080807-fJ+pQTUTwRTk1uMJSBkQmQ@public.gmane.org>
2011-03-25 13:55 ` Kurt Van Dijck
2011-03-29 14:29 ` SAE J1939: update Kurt Van Dijck
2011-03-29 19:41 ` Oliver Hartkopp
2011-04-13 4:49 ` [RFC v3 5/6] j1939: rename NAME to UUID? Kurt Van Dijck
[not found] ` <20110413044928.GA289-ozGf4kBk5synFtIcQ8t7k3L8HoS0Hn3T@public.gmane.org>
2011-04-15 17:57 ` Oliver Hartkopp
[not found] ` <4DA88705.5040203-fJ+pQTUTwRTk1uMJSBkQmQ@public.gmane.org>
2011-04-20 7:10 ` Kurt Van Dijck
2011-04-20 7:24 ` Kurt Van Dijck
[not found] ` <20110420072439.GB332-ozGf4kBk5synFtIcQ8t7k3L8HoS0Hn3T@public.gmane.org>
2011-04-20 10:59 ` Oliver Hartkopp
[not found] ` <4DAEBC94.5020009-fJ+pQTUTwRTk1uMJSBkQmQ@public.gmane.org>
2011-04-21 6:54 ` Kurt Van Dijck
2011-04-22 14:18 ` Kurt Van Dijck
[not found] ` <20110422141832.GB334-ozGf4kBk5synFtIcQ8t7k3L8HoS0Hn3T@public.gmane.org>
2011-04-22 15:14 ` Oliver Hartkopp
[not found] ` <4DB19B46.4000306-fJ+pQTUTwRTk1uMJSBkQmQ@public.gmane.org>
2011-04-23 5:51 ` Kurt Van Dijck
2011-03-14 14:05 ` [RFC v3 6/6] iproute2: add CAN and J1939 rtnetlink support Kurt Van Dijck
2011-03-15 9:23 ` [RFC v3 0/6] CAN: add SAE J1939 protocol Kurt Van Dijck
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=4D7FD9ED.1080004@hartkopp.net \
--to=socketcan@hartkopp.net \
--cc=eric.dumazet@gmail.com \
--cc=kurt.van.dijck@eia.be \
--cc=netdev@vger.kernel.org \
--cc=socketcan-core@lists.berlios.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).