created | 2022-06-18T23:55:34Z |
---|---|
begin | 2022-06-12T00:00:00Z |
end | 2022-06-13T00:00:00Z |
path | src/sys |
commits | 5 |
date | 2022-06-12T10:34:36Z | |||
---|---|---|---|---|
author | visa | |||
files | src/sys/kern/kern_event.c | log | diff | annotate |
message |
kqueue: Fix missing wakeup While one thread is running kqueue_scan(), another thread can begin scanning the same kqueue, observe that the event queue is empty, and go to sleep. If the first thread re-inserts a knote for re-processing, the second thread can miss the newly pending event. Wake up the kqueue after a re-insert to correct this. This fixes a Go test hang that jsing@ tracked down to kqueue. Tested in snaps for a week. OK jsing@ mpi@ |
date | 2022-06-12T10:36:04Z | |||
---|---|---|---|---|
author | visa | |||
files | src/sys/kern/kern_synch.c | log | diff | annotate |
message |
Allow sleeping while clearing a sleep timeout Since sys/kern/kern_timeout.c r1.84, timeout_barrier() has used sleeping with soft-interrupt-driven timeouts. Adjust the sleep machinery so that the timeout clearing can block in sleep_finish(). This adds one step of recursion inside sleep_finish(). However, the sleep queue handling does not recurse because sleep_finish() completes it before calling timeout_del_barrier(). This fixes the following panic: panic: kernel diagnostic assertion "(p->p_flag & P_TIMEOUT) == 0" failed: file "sys/kern/kern_synch.c", line 373 Stopped at db_enter+0x10: popq %rbp db_enter() at db_enter+0x10 panic() at panic+0xbf __assert() at __assert+0x25 sleep_setup() at sleep_setup+0x1d8 cond_wait() at cond_wait+0x46 timeout_barrier() at timeout_barrier+0x109 timeout_del_barrier() at timeout_del_barrier+0xa2 sleep_finish() at sleep_finish+0x16d tsleep() at tsleep+0xb2 sys_nanosleep() at sys_nanosleep+0x12d syscall() at syscall+0x374 OK mpi@ dlg@ |
date | 2022-06-12T10:51:55Z | |||
---|---|---|---|---|
author | kettenis | |||
files | src/sys/arch/riscv64/conf/GENERIC | log | diff | annotate |
src/sys/arch/riscv64/conf/files.riscv64 | log | diff | annotate | |
src/sys/arch/riscv64/dev/stfclock.c | log | diff | annotate | |
src/sys/arch/riscv64/dev/stftemp.c | log | diff | annotate | |
message |
Add stftemp(4), a driver for the temperature sensor integrated on the StarFive JH7100 SoC. ok jsg@ |
date | 2022-06-12T16:00:12Z | |||
---|---|---|---|---|
author | kettenis | |||
files | src/sys/arch/arm64/conf/GENERIC | log | diff | annotate |
src/sys/arch/arm64/conf/RAMDISK | log | diff | annotate | |
src/sys/arch/arm64/conf/files.arm64 | log | diff | annotate | |
src/sys/arch/arm64/dev/aplns.c | log | diff | annotate | |
src/sys/arch/arm64/dev/aplsart.c | log | diff | annotate | |
src/sys/arch/arm64/dev/aplsmc.c | log | diff | annotate | |
src/sys/arch/arm64/dev/rtkit.c | log | diff | annotate | |
src/sys/arch/arm64/dev/rtkit.h | log | diff | annotate | |
message |
The NVMe firmware distributed with the macOS 13 developer beta does not like some of the shortcuts we've taken in the code that talks to RTKit. In particular it does not like our NAK of the request for ioreport buffers. So allocate the requested buffers and ACK the request instead. However, the hardware implements a address filter between the coprocessor that the firmware runs on and main memory. So we have to add a mapping into this address filter such that the firmware can access these buffers. Support for this address filter is implemented in a new aplsart(4) driver. ok dlg@ |
date | 2022-06-12T19:48:12Z | |||
---|---|---|---|---|
author | dv | |||
files | src/sys/arch/amd64/amd64/vmm.c | log | diff | annotate |
message |
vmm(4): remove vm teardown from vcpu run path Remove the calling of vm_teardown from the code path in vm_run after vmm has exited the vm/vcpu and is on its way back to userland/vmd(8). vmd(8) and other vmm(4) users should use the VMM_IOC_TERM ioctl(2) instead. Help testing from Mischa Peters, OK mlarkin@ |