nd6: Mark several callouts as MPSAFE
The use of Giant here is vestigal and does not provide any useful synchronization. Furthermore, non-MPSAFE callouts can cause the softclock threads to block waiting for long-running newbus operations to complete. Reported by: mav Reviewed by: bz MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31470
This commit is contained in:
parent
8ee0826f75
commit
663428ea17
@ -889,7 +889,7 @@ in6_ifattach_init(void *dummy)
|
||||
{
|
||||
|
||||
/* Timer for regeneranation of temporary addresses randomize ID. */
|
||||
callout_init(&V_in6_tmpaddrtimer_ch, 0);
|
||||
callout_init(&V_in6_tmpaddrtimer_ch, 1);
|
||||
callout_reset(&V_in6_tmpaddrtimer_ch,
|
||||
(V_ip6_temp_preferred_lifetime - V_ip6_desync_factor -
|
||||
V_ip6_temp_regen_advance) * hz,
|
||||
|
@ -225,11 +225,11 @@ nd6_init(void)
|
||||
nd6_defrouter_init();
|
||||
|
||||
/* Start timers. */
|
||||
callout_init(&V_nd6_slowtimo_ch, 0);
|
||||
callout_init(&V_nd6_slowtimo_ch, 1);
|
||||
callout_reset(&V_nd6_slowtimo_ch, ND6_SLOWTIMER_INTERVAL * hz,
|
||||
nd6_slowtimo, curvnet);
|
||||
|
||||
callout_init(&V_nd6_timer_ch, 0);
|
||||
callout_init(&V_nd6_timer_ch, 1);
|
||||
callout_reset(&V_nd6_timer_ch, hz, nd6_timer, curvnet);
|
||||
|
||||
nd6_dad_init();
|
||||
|
Loading…
Reference in New Issue
Block a user