OpenBSD cvs log

created 2020-11-23T00:15:31Z
begin 2020-07-24T00:00:00Z
end 2020-07-25T00:00:00Z
path src/sys
commits 15

date 2020-07-24T00:43:09Z
author kn
files src/sys/net/if_tpmr.c log diff annotate
message Remove trunkproto bits

ifconfig(8) prints "trunk: trunkproto none" for tpmr(4) which is useless as
there is no configurable protocol in the first place.

Remove SIOCSTRUNK and SIOCGTRUNK which were just simple stubs anyway.

OK dlg

date 2020-07-24T00:45:40Z
author kn
files src/sys/net/if_tpmr.c log diff annotate
message Remove trunkdev bits

ifconfig(8) prints "trunk: trunkdev tpmrN" for member interfaces, which is
misleading as tpmr(4) is being completed into a bridge-like interface.

Remove SIOCGTRUNKPORT so tpmr(4) does not report members as trunk devices
(next diff will implement SIOCBRDGIFS).

OK dlg

date 2020-07-24T03:20:50Z
author kn
files src/sys/net/if_tpmr.c log diff annotate
message Remove lacpmode and lacptimeout bits

ifconfig(8) commands "lacptimeout 1" and "lacpmode active" error out with
"ifconfig: Invalid option for trunk: tpmr0"; tpmr(4) has no mode or config,
so these ioctls are inappropiate in the first place.

Remove SIOCSTRUNKOPTS, SIOCGTRUNKOPTS stubs and now unused <net/if_trunk.h>.

OK dlg

date 2020-07-24T04:53:04Z
author kn
files src/sys/kern/kern_timeout.c log diff annotate
message Make timeout_add_sec(9) add a tick if given zero seconds

All other timeout_add_*() functions do so before calling timeout_add(9) as
described in the manual, this one did not.

OK cheloha

date 2020-07-24T12:43:31Z
author krw
files src/sys/dev/ic/adv.c log diff annotate
src/sys/dev/ic/aic79xx.c log diff annotate
src/sys/dev/ic/ami.c log diff annotate
src/sys/dev/ic/cac.c log diff annotate
src/sys/dev/ic/ciss.c log diff annotate
src/sys/dev/ic/gdt_common.c log diff annotate
src/sys/dev/ic/mfi.c log diff annotate
src/sys/dev/ic/osiop.c log diff annotate
src/sys/dev/ic/qlw.c log diff annotate
src/sys/dev/ic/siop.c log diff annotate
src/sys/dev/ic/twe.c log diff annotate
src/sys/dev/ic/uha.c log diff annotate
src/sys/dev/pci/ahd_pci.c log diff annotate
src/sys/dev/pci/arc.c log diff annotate
src/sys/dev/pci/ips.c log diff annotate
src/sys/dev/pci/pciide.c log diff annotate
message Turning on various scsi drivers' *DEBUG options reveals that this has
rarely (if ever) been done.

Fix many printf format errors to calm clang and gcc on amd64, i386,
hppa. Missing #include, complaints if 'option <blah>DEBUG' is used in
config files, etc. All in debug code.

date 2020-07-24T12:43:32Z
author krw
files src/sys/dev/sdmmc/sdmmc.c log diff annotate
message Turning on various scsi drivers' *DEBUG options reveals that this has
rarely (if ever) been done.

Fix many printf format errors to calm clang and gcc on amd64, i386,
hppa. Missing #include, complaints if 'option <blah>DEBUG' is used in
config files, etc. All in debug code.

date 2020-07-24T14:06:33Z
author yasuoka
files src/sys/net/pf_lb.c log diff annotate
message Increase state counter for least-states when the address is selected
by sticky-address. Also fix the problem that the interface which is
specified by the selected table entry is not used properly.

ok jung sashan

date 2020-07-24T14:27:47Z
author kettenis
files src/sys/arch/powerpc64/conf/BOOT log diff annotate
src/sys/kern/subr_prf.c log diff annotate
message Implement BOOT_QUIET option that supresses kernel printf output to the
console. When the kernel panics, print console output is enabled such
that we see those messages. Use this option for the powerpc64 boot
kernel.

ok visa@, deraadt@

date 2020-07-24T14:46:06Z
author kettenis
files src/sys/arch/powerpc64/conf/BOOT log diff annotate
message Remove bge(4) and brgphy(4) as the bootloader doesn't include network support
of any kind. Speeds up booting a bit.

date 2020-07-24T14:54:38Z
author visa
files src/sys/arch/octeon/conf/BOOT log diff annotate
message Suppress kernel printf output in the octeon boot kernel.

OK kettenis@

date 2020-07-24T16:22:33Z
author kettenis
files src/sys/arch/sparc64/sparc64/clock.c log diff annotate
message Enable usertc if the NPT bit isn't set for %tick and %sys_tick.

ok naddy@

date 2020-07-24T18:17:14Z
author mvs
files src/sys/net/if.c log diff annotate
message Use interface index instead of pointer to `ifnet' in carp(4).

ok sashan@

date 2020-07-24T18:17:15Z
author mvs
files src/sys/net/if_var.h log diff annotate
src/sys/net/pf.c log diff annotate
src/sys/netinet/ip_carp.c log diff annotate
src/sys/netinet/ip_carp.h log diff annotate
message Use interface index instead of pointer to `ifnet' in carp(4).

ok sashan@

date 2020-07-24T20:39:03Z
author cheloha
files src/sys/netinet/tcp_subr.c log diff annotate
message netinet: tcp_close(): delay reaper timeout by one tick

Zero-tick timeouts rely on implicit behavior in the timeout layer that
inhibits optimizations in softclock().

bluhm@ says waiting a tick for the reaper shouldn't break anything.

ok bluhm@

date 2020-07-24T21:01:33Z
author cheloha
files src/sys/kern/kern_timeout.c log diff annotate
message timeout(9): delay processing of timeouts added during softclock()

New timeouts are appended to the timeout_todo circq via
timeout_add(9). If this is done during softclock(), i.e. a timeout
function calls timeout_add(9) to reschedule itself, the newly added
timeout will be processed later during the same softclock().

This works, but it is not optimal:

1. If a timeout reschedules itself to run in zero ticks, i.e.

timeout_add(..., 0);

it will be run again during the current softclock(). This can
cause an infinite loop, softlocking the primary CPU.

2. Many timeouts are cancelled before they execute. Processing a
timeout during the current softclock() is "eager": if we waited, the
timeout might be cancelled and we could spare ourselves the effort.

If the timeout is not cancelled before the next softclock() we can
bucket it as we normally would with no change in behavior.

3. Many timeouts are scheduled to run after 1 tick, i.e.

timeout_add(..., 1);

Processing these timeouts during the same softclock means bucketing
them for no reason: they will be dumped into the timeout_todo queue
during the next hardclock(9) anyway. Processing them is pointless.

We can avoid these issues by using an intermediate queue, timeout_new.
New timeouts are put onto this queue during timeout_add(9). The queue
is concatenated to the end of the timeout_todo queue at the start of
each softclock() and then softclock() proceeds. This means the amount
of work done during a given softclock() is finite and we avoid doing
extra work with eager processing.

Any timeouts that *depend* upon being rerun during the current
softclock() will need to be updated, though I doubt any such timeouts
exist.

Discussed with visa@ last year.

No complaints after a month.