migcom: do not include <machine/_types.h> from the build system
r329165 moved __va_list from <machine/_types.h> to <sys/_types.h>
and its definition is not present in our "${.OBJDIR}../../sys/sys/_types.h" either.
Since we improperly include <machine/_types.h> from the build machine, we
get it from neither header and the build fails:
--- parser.o ---
cc -O2 -pipe -I/usr/home/saper/src/nextbsd/usr.bin/migcom -I/usr/home/saper/src/nextbsd/usr.bin/migcom/shims -I/usr/home/saper/src/nextbsd/usr.bin/migcom/../../include -I/usr/home/saper/src/nextbsd/usr.bin/migcom/../../sys -DYY_NO_UNPUT -g -MD -MF.depend.parser.o -MTparser.o -std=gnu99 -Qunused-arguments -I/build/obj/nextbsd/usr/home/saper/src/nextbsd/tmp/legacy/usr/include -c parser.c -o parser.o
--- parser.o ---
In file included from /usr/home/saper/src/nextbsd/usr.bin/migcom/parser.y:196:
/usr/home/saper/src/nextbsd/usr.bin/migcom/../../include/stdio.h:68:9: error: unknown type name '__va_list'
typedef __va_list va_list;
^
/usr/home/saper/src/nextbsd/usr.bin/migcom/../../include/stdio.h:281:6: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
__va_list);
Force MK_GDB to no if MK_BINUTILS == no
This is currently encoded in conditional blocks in gnu/lib/Makefile and
gnu/usr.bin/Makefile. Set it via src.opts.mk to make GDB's dependency
on binutils more clear.
cache: split negative entry LRU into multiple lists
This splits the ncneg_mtx lock while preserving the hit ratio at least
during buildworld.
Create N dedicated lists for new negative entries.
Entries with at least one hit get promoted to the hot list, where they
get requeued every M hits.
Shrinking demotes one hot entry and performs a round-robin shrinking of
regular lists.
Reviewed by: kib
Partial workaround for Intel PCI adapters reading past the end of the
host-programmed DMA regions. This change seemingly fixes the
descriptor fetches, but the packet memory accesses are left
problematic.
Reviewed by: emaste, erj, sbruno
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D8282
Chase a cornercase in printenv and sync its behaviour with builtin's
The cornercase is when printenv is passed a parameter in the form VAR=val,
where VAR=val exists in the environment. In this case, printenv would print a
spurious newline and returns 0.
Approved by: cognet
MFC after: 1 week
TEGRA: Raise minimum voltage for CPU, original 0.9 V was too optimistic.
While I'm in, remove duplicated line from CPU frequency table.
MFC after: 2 weeks
Document the unique requirements for upgrading more
prominently. Unlike in the past (dating back to the 4.x branch point),
you cannot upgrade from any point on the past couple of stable
branches to -current. Due to a bug in clang that existed before
r286035 in stable/9 or r286033 in stable/10, we cannot compile llvm
that's in 11.x or -current. Unfortunately, these revisions are after
9.3R and 10.3R on their respective branches. stable/11 and 11.0R are
not affected.
This also affects the upgrade path to 11 (including 11.0R) from
stable/9 and stable/10 (which would otherwise work, were it not for
this bug).
We also need to amend the 11.0R release notes.
MFC After: 3 days
Add FFS pager, which uses buffer cache read operation to validate pages.
See the comments for more detailed description of the algorithm.
The pager is used unconditionally when the block size of the
underlying device is larger than the machine page size, since local
vnode pager cannot handle the configuration [1]. Otherwise, the
vfs.ffs.use_buf_pager sysctl allows to switch to the local pager.
Measurements demonstrated no regression in the ever-important
buildworld benchmark, and small (~5%) throughput improvements in the
special microbenchmark configuration for dbench over swap-backed
md(4).
Code can be generalized and reused for other filesystems which use
buffer cache.
Reported by: Anton Yuzhaninov <citrin at citrin.ru> [1]
Tested by: pho
Benchmarked by: mjg, pho
[4 lines not shown]