tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys



> > >> Modified Files:
> > >> 	src/sys/net: route.c
> > >> 	src/sys/netinet: ip_flow.c
> > >> 	src/sys/netinet6: ip6_flow.c nd6.c

It is specifically the route.c change, backing that one out avoids the
problem for me.

I would suggest this patch:

Index: route.c
===================================================================
RCS file: /cvsroot/src/sys/net/route.c,v
retrieving revision 1.171
diff -u -p -r1.171 route.c
--- route.c	13 Jul 2016 09:56:20 -0000	1.171
+++ route.c	14 Jul 2016 19:12:41 -0000
@@ -1160,12 +1160,12 @@ rt_timer_init(void)
 	assert(rt_init_done == 0);
 
 	LIST_INIT(&rttimer_queue_head);
-	callout_init(&rt_timer_ch, 0);
-	callout_reset(&rt_timer_ch, hz, rt_timer_timer, NULL);
+	callout_init(&rt_timer_ch, CALLOUT_MPSAFE);
 	error = workqueue_create(&rt_timer_wq, "rt_timer",
 	    rt_timer_work, NULL, PRI_SOFTNET, IPL_SOFTNET, WQ_MPSAFE);
 	if (error)
 		panic("%s: workqueue_create failed (%d)\n", __func__, error);
+	callout_reset(&rt_timer_ch, hz, rt_timer_timer, NULL);
 	rt_init_done = 1;
 }
 

but it does not fix the issue. I don't see anything obviously wrong here
nor understand why it seems to be mips specific.

Martin


Home | Main Index | Thread Index | Old Index