OpenBSD cvs log

created 2019-12-31T05:49:54Z
begin 2019-12-25T00:00:00Z
end 2019-12-26T00:00:00Z
path src/sys
commits 8

date 2019-12-25T00:15:36Z
author cheloha
files src/sys/kern/kern_timeout.c log diff annotate
src/sys/sys/timeout.h log diff annotate
message timeout(9): new flag: TIMEOUT_SCHEDULED, new statistic: tos_scheduled

This flag is set whenever a timeout is put on the wheel and cleared upon
(a) running, (b) deletion, and (c) readdition. It serves two purposes:

1. Facilitate distinguishing scheduled and rescheduled timeouts. When a
timeout is put on the wheel it is "scheduled" for a later softclock().
If this happens two or more times it is also said to be "rescheduled".
The tos_rescheduled value thus indicates how many distant timeouts
have been cascaded into a lower wheel level.

2. Eliminate false late timeouts. A timeout is not late if it is due
before softclock() has had a chance to schedule it. To track this we
need additional state, hence a new flag.

rprocter@ raises some interesting questions. Some answers:

- This interface is not stable and name changes are possible at a
later date.

- Although rescheduling timeouts is a side effect of the underlying
implementation, I don't forsee us using anything but a timeout wheel
in the future. Other data structures are too slow in practice, so
I doubt that the concept of a rescheduled timeout will be irrelevant
any time soon.

- I think the development utility of gathering these sorts of statistics
is high. Watching the distribution of timeouts under a given workflow
is informative.

ok visa@

date 2019-12-25T00:35:29Z
author cheloha
files src/sys/sys/timeout.h log diff annotate
message TIMEOUT_INITIALIZER(9): C99 initializers

date 2019-12-25T09:32:01Z
author anton
files src/sys/kern/sys_pipe.c log diff annotate
src/sys/sys/pipe.h log diff annotate
message Protect remaining fields of `struct pipe' using the pipe_lock. In order
to simplify the locking pattern, revert back to using a hand-rolled I/O
lock just like FreeBSD and NetBSD does. The state of pipes is quite
different compared to when I made use of a rwlock for the I/O lock in
revision 1.96. Most notably, the pipe_lock can now be used while
sleeping. This does imply that witness(4) tracking of the I/O lock is
lost but the implementation ends up being simpler.

ok visa@

date 2019-12-25T09:46:09Z
author anton
files src/sys/kern/sys_pipe.c log diff annotate
message Condense a few multi line comments into single line ones. While here
turn them into proper sentences. Gets rid of 27 lines in total.

date 2019-12-25T11:31:41Z
author kettenis
files src/sys/dev/pci/drm/drm_linux.c log diff annotate
src/sys/dev/pci/drm/i915/i915_drv.h log diff annotate
src/sys/dev/pci/drm/i915/i915_gem_shrinker.c log diff annotate
src/sys/dev/pci/drm/include/linux/mm.h log diff annotate
src/sys/dev/pci/drm/include/linux/mutex.h log diff annotate
src/sys/dev/pci/drm/include/linux/shrinker.h log diff annotate
src/sys/dev/pci/drm/include/linux/swap.h log diff annotate
src/sys/uvm/uvm_pdaemon.c log diff annotate
message Hook up the shrinker for inteldrm(4). This is a "light" version that only
drops graphics buffers that are cached and not in active use.
Help from beck@ for pointing out how to hook this up to our pagedaemon.

ok jsg@

date 2019-12-25T11:42:05Z
author jsg
files src/sys/arch/armv7/omap/amdisplay.c log diff annotate
src/sys/dev/fdt/simplefb.c log diff annotate
src/sys/dev/pci/drm/amd/amdgpu/amdgpu_kms.c log diff annotate
src/sys/dev/pci/drm/i915/i915_drv.c log diff annotate
src/sys/dev/pci/drm/radeon/radeon_kms.c log diff annotate
message WSDISPLAYIO_GTYPE is u_int not int

date 2019-12-25T12:31:12Z
author bluhm
files src/sys/nfs/nfs_subs.c log diff annotate
message Use FOREACH macro to iterate over mnt_vnodelist.
OK millert@ visa@ benno@

date 2019-12-25T15:04:44Z
author visa
files src/sys/kern/kern_event.c log diff annotate
message Replace macros knote_alloc() and knote_free() with direct use of
pool_get() and pool_put(). This makes it clearer that the knote
allocation cannot fail and that the error check is unnecessary.

OK anton@, kettenis@, mpi@