OpenBSD cvs log

created 2024-08-19T08:04:49Z
begin 2024-08-12T06:47:11Z
end 2024-08-12T11:25:27Z
path src/sys
commits 1

date 2024-08-12T11:25:27Z
author bluhm
files src/sys/kern/uipc_domain.c log diff annotate
src/sys/netinet/igmp.c log diff annotate
src/sys/netinet6/icmp6.c log diff annotate
src/sys/netinet6/mld6.c log diff annotate
message Run network protocol timer without kernel lock.

Mark slow and fast protocol timeouts as MP safe. This means they
run on a spearate thread without holding the kernel lock.
IGMP and MLD6 cannot run in parallel, they use exclusive net lock
to protect themselves. As a performance optimization global variables
are used to skip igmp_fasttimo() and mld6_fasttimeo() if no multicast
is active. These global variables use atomic operations and memory
barriers to work lockless.
IPv6 fragment timeout protects itself with a mutex.
TCP timers also run without kernel lock now. The whole TCP stack
holds exclusive net lock, so additional kernel lock is useless.

OK mvs@