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@ |