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@ |