On Thu, Dec 22, 2016 at 02:03:51PM +0100, Alexander Bluhm wrote:
> Fine. But let's do the other changes. Move timer initialisation
> to nd6_init() and call timeout_set() only once during init. Then
> I don't have to think about wether it is MP safe.
updated diff, parts have been commited
ok?
On Wed, Dec 21, 2016 at 07:51:03PM +0100, Martin Pieuchot wrote:
> > This diff replaces the nd6_timer timeout and task with a timeout
> > proc.
>
> Can we wait until the experiment is complete? Until then I'd like
> to keep timeout_set_proc() only for timeout converted because they
> need the NET
On 21/12/16(Wed) 18:22, Alexander Bluhm wrote:
> On Wed, Dec 21, 2016 at 05:21:53PM +0100, Alexander Bluhm wrote:
> > > @@ -430,15 +430,16 @@ nd6_llinfo_timer(void *arg)
> > > void
> > > nd6_timer_work(void *null)
> > > {
> > > - int s;
> > > struct nd_defrouter *dr, *ndr;
> > > struct nd_pr
On Wed, Dec 21, 2016 at 05:21:53PM +0100, Alexander Bluhm wrote:
> > @@ -430,15 +430,16 @@ nd6_llinfo_timer(void *arg)
> > void
> > nd6_timer_work(void *null)
> > {
> > - int s;
> > struct nd_defrouter *dr, *ndr;
> > struct nd_prefix *pr, *npr;
> > struct in6_ifaddr *ia6, *nia6;
>
On Wed, Dec 21, 2016 at 01:52:45PM +0100, Martin Pieuchot wrote:
> ok?
OK bluhm@, but comments inline
> @@ -430,15 +430,16 @@ nd6_llinfo_timer(void *arg)
> void
> nd6_timer_work(void *null)
> {
> - int s;
> struct nd_defrouter *dr, *ndr;
> struct nd_prefix *pr, *npr;
> st
This diff get rids of all splsoftet() in nd6 code.
I converted timers to the NET_LOCK() even if ip6_output() doesn't assert
for it for the moment. That's simply the way to go. Also because these
functions iterates on global data structures that will need the NET_LOCK()
or a rewrite.
ok?
Index: