created | 2021-11-20T16:35:01Z |
---|---|
begin | 2021-11-16T00:00:00Z |
end | 2021-11-17T00:00:00Z |
path | src/sys |
commits | 9 |
date | 2021-11-16T08:56:19Z | |||
---|---|---|---|---|
author | mvs | |||
files | src/sys/kern/uipc_usrreq.c | log | diff | annotate |
message |
Move UNIX domain sockets garbage collector out of `unp_lock. Except `unp_ino' this leaves only per-socket data protected by `unp_lock'. The `unp_ino' protection is not the big deal and will be done with mutex(9) in the future diff. The garbage collector flags moved from from `unp_flags' to unp_gcflags'. The two new locks introduced to protect garbage collector data. The `unp_gc_lock' rwlock(9) protects `unp_defer', `unp_gcing', `unp_gcflags' and `unp_link' list. The `unp_df_lock' protects `ud_link' list. We need to simultaneously lock `unp_gc_lock' and `unp_lock'. When we perform unp_attach() or unp_detach() we link PCB to `unp_link' list with `unp_lock' held. But when unp_gc() does `unp_link' list walkthrough with the `unp_gc_lock' lock held it should lock socket while performs `so_rcv' buffer scan and the lock order should be the opposite. In the future diff `unp_lock' will be replaced by per-socket `so_lock' so it's better to enforce `unp_gc_lock' -> `unp_lock' (solock()) lock order and release `unp_lock' in the unp_attach() and unp_detach() paths. The previously committed diffs made this safe. The `unp_df_lock' introduced because the `unp_lock' and `unp_gc_lock' state are unknown when unp_discard() called. Since it touches only `ud_link' list the re-lock dances are unwanted in this path. Also this keeps M_WAITOK allocation outside rwlock(9) when unp_discard() called from unp_externalize() error path. ok bluhm@ |
date | 2021-11-16T08:56:20Z | |||
---|---|---|---|---|
author | mvs | |||
files | src/sys/sys/unpcb.h | log | diff | annotate |
message |
Move UNIX domain sockets garbage collector out of `unp_lock. Except `unp_ino' this leaves only per-socket data protected by `unp_lock'. The `unp_ino' protection is not the big deal and will be done with mutex(9) in the future diff. The garbage collector flags moved from from `unp_flags' to unp_gcflags'. The two new locks introduced to protect garbage collector data. The `unp_gc_lock' rwlock(9) protects `unp_defer', `unp_gcing', `unp_gcflags' and `unp_link' list. The `unp_df_lock' protects `ud_link' list. We need to simultaneously lock `unp_gc_lock' and `unp_lock'. When we perform unp_attach() or unp_detach() we link PCB to `unp_link' list with `unp_lock' held. But when unp_gc() does `unp_link' list walkthrough with the `unp_gc_lock' lock held it should lock socket while performs `so_rcv' buffer scan and the lock order should be the opposite. In the future diff `unp_lock' will be replaced by per-socket `so_lock' so it's better to enforce `unp_gc_lock' -> `unp_lock' (solock()) lock order and release `unp_lock' in the unp_attach() and unp_detach() paths. The previously committed diffs made this safe. The `unp_df_lock' introduced because the `unp_lock' and `unp_gc_lock' state are unknown when unp_discard() called. Since it touches only `ud_link' list the re-lock dances are unwanted in this path. Also this keeps M_WAITOK allocation outside rwlock(9) when unp_discard() called from unp_externalize() error path. ok bluhm@ |
date | 2021-11-16T10:20:52Z | |||
---|---|---|---|---|
author | landry | |||
files | src/sys/dev/hil/hilkbdmap.c | log | diff | annotate |
message |
hilkbd(4): Fix swedish keyboard layout botch on non-PS/2 style keyboards introduced in 1.7 and preventing `o' and `p' keys from working as intended. Reported by Anders Gustafsson. From miod@ |
date | 2021-11-16T12:55:50Z | |||
---|---|---|---|---|
author | stsp | |||
files | src/sys/dev/pci/if_iwm.c | log | diff | annotate |
message | fix typo in an error message printed by iwm_phy_ctxt_update() |
date | 2021-11-16T12:56:11Z | |||
---|---|---|---|---|
author | stsp | |||
files | src/sys/dev/pci/if_iwx.c | log | diff | annotate |
message | fix typo in an error message printed by iwx_phy_ctxt_update() |
date | 2021-11-16T13:48:23Z | |||
---|---|---|---|---|
author | visa | |||
files | src/sys/kern/sys_generic.c | log | diff | annotate |
message |
Use nowake when poll/select has empty fd set When the fd set is empty, the code waits for a signal or timeout. Wakeups from the kqueue are neither expected nor wanted. OK cheloha@, millert@, anton@, mpi@ |
date | 2021-11-16T13:53:14Z | |||
---|---|---|---|---|
author | bluhm | |||
files | src/sys/ddb/db_command.c | log | diff | annotate |
src/sys/netinet/ip_ipsp.c | log | diff | annotate | |
src/sys/netinet/ip_ipsp.h | log | diff | annotate | |
message |
To debug IPsec and tdb refcounting it is useful to have "show tdb" and "show all tdbs" in ddb. tested by Hrvoje Popovski; OK mvs@ |
date | 2021-11-16T20:51:30Z | |||
---|---|---|---|---|
author | sashan | |||
files | src/sys/net/pf_ioctl.c | log | diff | annotate |
message |
move memory allocations in pfr_add_addrs() outside of NET_LOCK()/PF_LOCK() scope. feedback by bluhm@ OK bluhm@ |
date | 2021-11-16T20:51:31Z | |||
---|---|---|---|---|
author | sashan | |||
files | src/sys/net/pf_table.c | log | diff | annotate |
src/sys/net/pfvar.h | log | diff | annotate | |
message |
move memory allocations in pfr_add_addrs() outside of NET_LOCK()/PF_LOCK() scope. feedback by bluhm@ OK bluhm@ |