OpenBSD cvs log

created 2021-11-14T02:46:23Z
begin 2021-11-12T00:00:00Z
end 2021-11-13T00:00:00Z
path src/sys
commits 10

date 2021-11-12T04:34:22Z
author visa
files src/sys/kern/kern_event.c log diff annotate
src/sys/kern/sys_generic.c log diff annotate
message Keep knotes between poll/select systems calls

Reduce the time overhead of kqueue-based poll(2) and select(2) by
keeping knotes registered between the system calls. It is expected that
the set of monitored file descriptors is relatively unchanged between
consecutive iterations of these system calls. By keeping the knotes,
the system saves the effort of repeated knote unregistering and
re-registering.

To avoid receiving events from file descriptors that are no longer in
the monitored set, each poll/select knote is assigned an increasing
serial number. Every iteration of poll/select uses a previously unused
range of serials for its knotes. In the setup stage, kqueue_register()
updates the serials of any existing knotes in the currently monitored
set. Function kqueue_scan() delivers only the events whose serials are
recent enough; expired knotes are dropped. When the serial range is
about to wrap around, all the knotes in the kqueue backend are dropped.

This change is a space-time tradeoff. Memory usage is increased somewhat
because of the retained knotes. The increase is limited by the number
of open file descriptors and active threads.

Idea from DragonFly BSD, initial patch by mpi@, kqueue_scan()-based
approach by me.

Tested by anton@ and mpi@
OK mpi@

date 2021-11-12T04:34:23Z
author visa
files src/sys/sys/event.h log diff annotate
message Keep knotes between poll/select systems calls

Reduce the time overhead of kqueue-based poll(2) and select(2) by
keeping knotes registered between the system calls. It is expected that
the set of monitored file descriptors is relatively unchanged between
consecutive iterations of these system calls. By keeping the knotes,
the system saves the effort of repeated knote unregistering and
re-registering.

To avoid receiving events from file descriptors that are no longer in
the monitored set, each poll/select knote is assigned an increasing
serial number. Every iteration of poll/select uses a previously unused
range of serials for its knotes. In the setup stage, kqueue_register()
updates the serials of any existing knotes in the currently monitored
set. Function kqueue_scan() delivers only the events whose serials are
recent enough; expired knotes are dropped. When the serial range is
about to wrap around, all the knotes in the kqueue backend are dropped.

This change is a space-time tradeoff. Memory usage is increased somewhat
because of the retained knotes. The increase is limited by the number
of open file descriptors and active threads.

Idea from DragonFly BSD, initial patch by mpi@, kqueue_scan()-based
approach by me.

Tested by anton@ and mpi@
OK mpi@

date 2021-11-12T11:40:35Z
author stsp
files src/sys/dev/pci/if_iwn.c log diff annotate
message Sync the iwn(4) "enhanced Tx power" eeprom data structure with Linux.
No functional change, as this data is not being used anywhere yet.

date 2021-11-12T11:40:36Z
author stsp
files src/sys/dev/pci/if_iwnreg.h log diff annotate
message Sync the iwn(4) "enhanced Tx power" eeprom data structure with Linux.
No functional change, as this data is not being used anywhere yet.

date 2021-11-12T11:41:04Z
author stsp
files src/sys/dev/pci/if_iwn.c log diff annotate
src/sys/dev/pci/if_iwnreg.h log diff annotate
src/sys/dev/pci/if_iwnvar.h log diff annotate
message Add support for 40MHz channels to the iwn(4) driver.

Tested:
4965: jsg
5300: stsp, Jan Stary
6030: Fred Crowsons
6200: stsp
6205: stsp, Josh Grosse
6300: okan, afresh1

date 2021-11-12T15:49:41Z
author deraadt
files src/sys/net/route.h log diff annotate
message "netconfigd" is now better known as resolvd(8)

date 2021-11-12T17:04:32Z
author kettenis
files src/sys/arch/arm64/dev/aplspi.c log diff annotate
message Use a mutex to lock the bus such that we can safely access the bus from
interrupt handlers and process context.

ok patrick@

date 2021-11-12T17:05:15Z
author kettenis
files src/sys/arch/arm64/dev/aplhidev.c log diff annotate
message Add support for controlling keyboard LEDs.

ok patrick@

date 2021-11-12T17:57:13Z
author cheloha
files src/sys/kern/kern_sig.c log diff annotate
message sigsuspend(2): sleep on &nowake channel

sigsuspend(2) only returns upon delivery of a signal: we do not expect
a wakeup(9). Indicate this by sleeping on &nowake instead of
&p->p_p->ps_sigacts. We still need to loop here to handle spurious
wakeups, though.

Spurious wakeup case pointed out by kettenis@.

ok claudio@

date 2021-11-12T22:20:57Z
author guenther
files src/sys/sys/exec_elf.h log diff annotate
message Add #defines and typedefs for RELR, a compressed form for relative relocations

ok kettenis@