OpenBSD cvs log

created 2022-08-13T21:41:02Z
begin 2022-08-09T00:00:00Z
end 2022-08-10T00:00:00Z
path src/sys
commits 5

date 2022-08-09T04:40:08Z
author cheloha
files src/sys/arch/powerpc64/include/cpu.h log diff annotate
src/sys/arch/powerpc64/powerpc64/clock.c log diff annotate
src/sys/arch/powerpc64/powerpc64/intr.c log diff annotate
message powerpc64: trigger deferred DEC interrupts from splx(9)

In order to move to a machine-independent clock interrupt subsystem,
the powerpc64 clock interrupt code needs to work without knowing
anything about the clock interrupt schedule.

The easiest way to do this is, if the DEC fires while the CPU's IPL is
at or above IPL_CLOCK, to postpone clock interrupt work until the
clock interrupt is logically unmasked from splx(9).

Because we no longer defer work until the next tick, we don't need to
keep track of pending statclock ticks in the cpu_info struct.

With input from kettenis@.

Graciously compiled and tested by gkoehler@ and kettenis@.

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

ok kettenis@ gkoehler@.

date 2022-08-09T04:49:08Z
author cheloha
files src/sys/arch/riscv64/dev/plic.c log diff annotate
src/sys/arch/riscv64/include/cpu.h log diff annotate
src/sys/arch/riscv64/riscv64/clock.c log diff annotate
message riscv64: trigger deferred timer interrupts from splx(9)

In order to move riscv64 to a machine-independent clock interrupt
subsystem, the riscv64 clock interrupt code needs to function without
any specific knowledge of the clock interrupt schedule.

The easiest way to achieve this (as we just did with powerpc and
powerpc64) is, if the timer interrupt fires while the CPU is at or
above IPL_CLOCK, defer clock interrupt work until the the timer
interrupt is logically unmasked in splx(9).

In particular, trigger the timer interrupt from plic_setipl() so the
interrupt, if any, is pending before we handle soft interrupts.

Because we're no longer deferring work until the next tick, we don't
need to count pending statclock ticks in struct cpu_info.

kettenis@ notes that the timer triggering code should be refactored
into more generic code when we add support for a non-plic(4) riscv64
machine.

Graciously fixed, compiled, and tested by jca@.

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

ok kettenis@

date 2022-08-09T07:39:00Z
author tb
files src/sys/lib/libz/inflate.c log diff annotate
message Sync inflateGetHeader() fix from userland

date 2022-08-09T21:10:02Z
author kn
files src/sys/netinet6/ip6_forward.c log diff annotate
message Backout "Call getuptime() just once per function"

This caused stuck ndp cache entries as found by naddy, sorry.

date 2022-08-09T21:10:03Z
author kn
files src/sys/netinet6/ip6_mroute.c log diff annotate
src/sys/netinet6/nd6.c log diff annotate
message Backout "Call getuptime() just once per function"

This caused stuck ndp cache entries as found by naddy, sorry.