===================================================================
RCS file: /cvsrepo/anoncvs/cvs/www/72.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- www/72.html 2022/09/29 03:30:40 1.8
+++ www/72.html 2022/09/29 21:52:51 1.9
@@ -86,11 +86,43 @@
Various kernel improvements:
+ - pf(4) automatically allows IGMP and ICMP6 MLD packets with
+ router alert option.
+ Special allow-opts rules are no longer needed for multicast
+ discovery.
+
- Implement "show all routes" to print routing tables in ddb(4).
+
- Count dropped network packets due to low memory in netstat(1).
- ...
SMP Improvements
+ - Make route timer MP safe and use pool rttmr.
+
- Use kernel lock to protect parts of ARP, ND6 and PPPoE that
+ are not MP safe.
+ Lookup of existing ARP entry is MP safe and can run in parallel.
+
- Start up to 4 softnet tasks to run IP input and forwarding
+ in parallel on multiple cores.
+
- Run IPv4 packet reassembly in parallel.
+
- Run IPv6 hop-by-hop options processing in parallel.
+
- Add a mutex to rate limiting functions to make them MP safe.
+
- Introduce mutex and reference counter for internet protocol
+ control block.
+
- Protect UDP, raw IP, and divert packet input routines
+ with a per socket mutex.
+
- Protect recv(2) system call for UDP and raw IP packets with
+ a per socket mutex and shared netlock.
+ Allows to receive packets while forwarding in parallel.
+
- Protect multicast deliver loop for UDP and raw IP sockets with rwlock.
+
- Only grab netlock in IGMP and MDL6 timer when necessary.
+
- TCP slow timer runs without netlock.
+
- Rework rwlock so that a writer will get the lock eventually.
+ Readers cannot share the lock forever.
+ This prevents starvation of the writer.
+
- Run interface media ioctl with shared netlock so packets
+ can be processed while running ifconfig(8).
+
- btrace(8) can be used to debug reference counting.
+
- Use MP safe refcount for interface addresses.
- ...