OpenBSD cvs log

created 2023-08-13T07:50:40Z
begin 2023-08-11T00:00:00Z
end 2023-08-12T00:00:00Z
path src/sys
commits 6

date 2023-08-11T01:28:19Z
author cheloha
files src/sys/arch/arm64/dev/agtimer.c log diff annotate
message agtimer(4/arm64): call CPU_BUSY_CYCLE() during spin-loop

For consistency with other delay(9) implementations, agtimer(4/arm64)
ought to call CPU_BUSY_CYCLE() as it spins.

kettenis@ notes that we could reduce the power consumed in
agtimer_delay() by enabling CNTKCTL_EL1.EVNTEN and configuring
ENTKCTL_EL1.EVNTI.

kettenis@ also notes that Armv8.7 adds FEAT_WFxT, which will, when the
feature appears in real hardware, make it even easier to save power in
agtimer_delay().

With input from drahn@ and kettenis@.

Thread: https://marc.info/?l=openbsd-tech&m=169146193022516&w=2

ok kettenis@

date 2023-08-11T02:34:56Z
author dlg
files src/sys/net/if_sec.c log diff annotate
message better support queuing (hfsc) on sec(4)

date 2023-08-11T02:35:38Z
author dlg
files src/sys/conf/GENERIC log diff annotate
message enable sec(4) so people can try it out

date 2023-08-11T07:54:18Z
author claudio
files src/sys/kern/kern_sig.c log diff annotate
message Move the single_thread_check() to the start of userret().

This way threads stopped by SINGLE_SUSPEND will check for pending
signals right after being released instead of returning to userland
first. The same order of check is already used in sleep_signal_check().

OK mpi@

date 2023-08-11T17:53:22Z
author mpi
files src/sys/uvm/uvm_pager.c log diff annotate
message Kill unused variable in uvm_aio_aiodone_pages().

date 2023-08-11T22:02:50Z
author cheloha
files src/sys/kern/kern_clock.c log diff annotate
src/sys/kern/kern_clockintr.c log diff annotate
src/sys/kern/kern_sched.c log diff annotate
src/sys/kern/sched_bsd.c log diff annotate
src/sys/sys/sched.h log diff annotate
message hardclock(9), roundrobin: make roundrobin() an independent clock interrupt

- Remove the roundrobin() call from hardclock(9).

- Revise roundrobin() to make it a valid clock interrupt callback.
It is still periodic and it still runs at one tenth of the hardclock
frequency.

- Account for multiple expirations in roundrobin(): if two or more
roundrobin periods have elapsed, set SPCF_SHOULDYIELD on the running
thread immediately to simulate normal behavior.

- Each schedstate_percpu has its own roundrobin() handle, spc_roundrobin.
spc_roundrobin is started/advanced during clockintr_cpu_init().
Intervals elapsed across suspend/resume are discarded.

- rrticks_init and schedstate_percpu.spc_rrticks are now useless:
delete them.

Tweaked by mpi@. With input from mpi@ and claudio@.

Thread: https://marc.info/?l=openbsd-tech&m=169127381314651&w=2

ok mpi@ claudio@