created | 2025-02-03T22:45:00Z |
---|---|
begin | 2025-01-21T00:00:00Z |
end | 2025-01-22T00:00:00Z |
path | src/sys |
commits | 3 |
date | 2025-01-21T17:40:57Z | |||
---|---|---|---|---|
author | mvs | |||
files | src/sys/net/if.c | log | diff | annotate |
src/sys/net/if_var.h | log | diff | annotate | |
message |
Copy if_data stuff to ifnet descriptor. 'if_data' structure contains interface data like type or baudrate mixed with statistics counters. Each interface descriptor 'ifnet' contains the instance of 'if_data' for deliver to the userland by request. It is not clean which lock protects this data. Some old drivers rely on kernel lock, some rely on net lock, ifioctl() relies on both. Moreover, network interface could have per-cpu counters, but in such case both `if_data' counters and per-cpu counters will be used by some pseudo drivers like bridge(4). Copy 'if_data' stuff into 'ifnet' descriptor to separate interface counters from the rest data. This separation allows to start using of consistent locking for such data. Note, non per-cpu counters represented as array and accessed in the per-cpu counters style to unify future usage paths. ok bluhm |
date | 2025-01-21T17:41:39Z | |||
---|---|---|---|---|
author | mvs | |||
files | src/sys/kern/uipc_socket.c | log | diff | annotate |
message |
Start SB_MTXLOCK logic cleaning. Sockets of all types switched to fine grained locks for socket buffers, so SB_MTXLOCK could gone. This time only from kern/uipc_socket.c ok bluhm |
date | 2025-01-21T20:13:19Z | |||
---|---|---|---|---|
author | mvs | |||
files | src/sys/dev/wscons/wsevent.c | log | diff | annotate |
src/sys/dev/wscons/wseventvar.h | log | diff | annotate | |
src/sys/dev/wscons/wskbd.c | log | diff | annotate | |
message |
Unlock wskbd(4) kqueue filterops. Introduce the `ws_mtx' mutex(9) to protects wseventvar structure fields. To reduce diffs size, unlock wscons(4) devices step-by-step, temporary use dedicated `wsevent_klistops' to take kernel lock before mutex for the non mp-safe drivers. It will be removed after complete wsevent unlocking. Note, pgsigio() takes kernel lock deep within and can't be called with mutex(9) held, so call it lockless. This the compromise to make step forward. ok kirill bluhm |