#
607790d1 |
| 17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove pcn(4).
Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
08ac01a9 |
| 17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove de(4).
Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
542970fa |
| 09-May-2019 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Remove IPSEC from GENERIC due to performance issues
Having IPSEC compiled into the kernel imposes a non-trivial performance penalty on multi-threaded workloads due to IPSEC refcounting. In my benchm
Remove IPSEC from GENERIC due to performance issues
Having IPSEC compiled into the kernel imposes a non-trivial performance penalty on multi-threaded workloads due to IPSEC refcounting. In my benchmarks of multi-threaded UDP transmit (connected sockets), I've seen a roughly 20% performance penalty when the IPSEC option is included in the kernel (16.8Mpps vs 13.8Mpps with 32 senders on a 14 core / 28 HTT Xeon 2697v3)). This is largely due to key_addref() incrementing and decrementing an atomic reference count on the default policy. This cause all CPUs to stall on the same cacheline, as it bounces between different CPUs.
Given that relatively few users use ipsec, and that it can be loaded as a module, it seems reasonable to ask those users to load the ipsec module so as to avoid imposing this penalty on the GENERIC kernel. Its my hope that this will make FreeBSD look better in "out of the box" benchmark comparisons with other operating systems.
Many thanks to ae for fixing auto-loading of ipsec.ko when ifconfig tries to configure ipsec, and to cy for volunteering to ensure the the racoon ports will load the ipsec.ko module
Reviewed by: cem, cy, delphij, gnn, jhb, jpaetzel Differential Revision: https://reviews.freebsd.org/D20163
show more ...
|
#
251a32b5 |
| 08-May-2019 |
Kyle Evans <kevans@FreeBSD.org> |
tun/tap: merge and rename to `tuntap`
tun(4) and tap(4) share the same general management interface and have a lot in common. Bugs exist in tap(4) that have been fixed in tun(4), and vice-versa. Let
tun/tap: merge and rename to `tuntap`
tun(4) and tap(4) share the same general management interface and have a lot in common. Bugs exist in tap(4) that have been fixed in tun(4), and vice-versa. Let's reduce the maintenance requirements by merging them together and using flags to differentiate between the three interface types (tun, tap, vmnet).
This fixes a couple of tap(4)/vmnet(4) issues right out of the gate: - tap devices may no longer be destroyed while they're open [0] - VIMAGE issues already addressed in tun by kp
[0] emaste had removed an easy-panic-button in r240938 due to devdrn blocking. A naive glance over this leads me to believe that this isn't quite complete -- destroy_devl will only block while executing d_* functions, but doesn't block the device from being destroyed while a process has it open. The latter is the intent of the condvar in tun, so this is "fixed" (for certain definitions of the word -- it wasn't really broken in tap, it just wasn't quite ideal).
ifconfig(8) also grew the ability to map an interface name to a kld, so that `ifconfig {tun,tap}0` can continue to autoload the correct module, and `ifconfig vmnet0 create` will now autoload the correct module. This is a low overhead addition.
(MFC commentary)
This may get MFC'd if many bugs in tun(4)/tap(4) are discovered after this, and how critical they are. Changes after this are likely easily MFC'd without taking this merge, but the merge will be easier.
I have no plans to do this MFC as of now.
Reviewed by: bcr (manpages), tuexen (testing, syzkaller/packetdrill) Input also from: melifaro Relnotes: yes Differential Revision: https://reviews.freebsd.org/D20044
show more ...
|
#
d6745408 |
| 02-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Add a COMPAT_FREEBSD12 kernel option.
Use it wherever COMPAT_FREEBSD11 is currently specified, like r309749.
Reviewed by: imp, jhb, markj Sponsored by: Dell EMC Isilon Differential Revision: https:
Add a COMPAT_FREEBSD12 kernel option.
Use it wherever COMPAT_FREEBSD11 is currently specified, like r309749.
Reviewed by: imp, jhb, markj Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D20120
show more ...
|
#
7e804fd5 |
| 10-Feb-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Revert r343713 temporarily
The COVERAGE option breaks xtoolchain-gcc GENERIC kernel early boot extremely badly and hasn't been fixed for the ~week since it was committed. Please enable for GENERIC o
Revert r343713 temporarily
The COVERAGE option breaks xtoolchain-gcc GENERIC kernel early boot extremely badly and hasn't been fixed for the ~week since it was committed. Please enable for GENERIC only when it doesn't do that.
Related fallout reported by: lwhsu, tuexen (pr 235611)
show more ...
|
#
634a8a88 |
| 03-Feb-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Enable COVERAGE and KCOV by default on arm64 and amd64.
This allows userspace to trace the kernel using the coverage sanitizer found in clang. It will also allow other coverage tools to be built as
Enable COVERAGE and KCOV by default on arm64 and amd64.
This allows userspace to trace the kernel using the coverage sanitizer found in clang. It will also allow other coverage tools to be built as modules and attach into the same framework.
Sponsored by: DARPA, AFRL
show more ...
|
#
c75f49f7 |
| 31-Jan-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
Make iflib a loadable module.
iflib is already a module, but it is unconditionally compiled into the kernel. There are drivers which do not need iflib(4), and there are situations where somebody mi
Make iflib a loadable module.
iflib is already a module, but it is unconditionally compiled into the kernel. There are drivers which do not need iflib(4), and there are situations where somebody might not want iflib in kernel because of using the corresponding driver as module.
Reviewed by: marius Discussed with: erj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D19041
show more ...
|
#
524553f5 |
| 29-Jan-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Extract the coverage sanitizer KPI to a new file.
This will allow multiple consumers of the coverage data to be compiled into the kernel together. The only requirement is only one can be registered
Extract the coverage sanitizer KPI to a new file.
This will allow multiple consumers of the coverage data to be compiled into the kernel together. The only requirement is only one can be registered at a given point in time, however it is expected they will only register when the coverage data is needed.
A new kernel conflig option COVERAGE is added. This will allow kcov to become a module that can be loaded as needed, or compiled into the kernel.
While here clean up the #include style a little.
Reviewed by: kib Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D18955
show more ...
|
#
86d535ab |
| 25-Jan-2019 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
Garbage collect AH_SUPPORT_AR5416 config option.
It does nothing since r318857.
|
#
4945f79a |
| 20-Jan-2019 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
Remove IEEE80211_AMPDU_AGE config option.
It is noop since r297774.
|
#
b3c0d957 |
| 12-Jan-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Add support for the Clang Coverage Sanitizer in the kernel (KCOV).
When building with KCOV enabled the compiler will insert function calls to probes allowing us to trace the execution of the kernel
Add support for the Clang Coverage Sanitizer in the kernel (KCOV).
When building with KCOV enabled the compiler will insert function calls to probes allowing us to trace the execution of the kernel from userspace. These probes are on function entry (trace-pc) and on comparison operations (trace-cmp).
Userspace can enable the use of these probes on a single kernel thread with an ioctl interface. It can allocate space for the probe with KIOSETBUFSIZE, then mmap the allocated buffer and enable tracing with KIOENABLE, with the trace mode being passed in as the int argument. When complete KIODISABLE is used to disable tracing.
The first item in the buffer is the number of trace event that have happened. Userspace can write 0 to this to reset the tracing, and is expected to do so on first use.
The format of the buffer depends on the trace mode. When in PC tracing just the return address of the probe is stored. Under comparison tracing the comparison type, the two arguments, and the return address are traced. The former method uses on entry per trace event, while the later uses 4. As such they are incompatible so only a single mode may be enabled.
KCOV is expected to help fuzzing the kernel, and while in development has already found a number of issues. It is required for the syzkaller system call fuzzer [1]. Other kernel fuzzers could also make use of it, either with the current interface, or by extending it with new modes.
A man page is currently being worked on and is expected to be committed soon, however having the code in the kernel now is useful for other developers to use.
[1] https://github.com/google/syzkaller
Submitted by: Mitchell Horne <mhorne063@gmail.com> (Earlier version) Reviewed by: kib Testing by: tuexen Sponsored by: DARPA, AFRL Sponsored by: The FreeBSD Foundation (Mitchell Horne) Differential Revision: https://reviews.freebsd.org/D14599
show more ...
|
#
af14df77 |
| 12-Nov-2018 |
Niclas Zeising <zeising@FreeBSD.org> |
Add evdev support to amd64 and i386 kernels
Include evdev support and drivers in the amd64 and i386 GENERIC and MINIMAL kernels. Evdev is used by X and wayland to handle input devices, and this cha
Add evdev support to amd64 and i386 kernels
Include evdev support and drivers in the amd64 and i386 GENERIC and MINIMAL kernels. Evdev is used by X and wayland to handle input devices, and this change, together with upcomming changes in ports will make us handle input devices better in graphical UIs.
Reviewed by: wulf, bapt, imp Approved by: imp Differential Revision: https://reviews.freebsd.org/D17912
show more ...
|
#
3869df5d |
| 06-Nov-2018 |
Andrew Turner <andrew@FreeBSD.org> |
Add the KUBSAN options to the arm64 and amd64 GENERIC kernel config files. As the kernel file size may be too large to run with a stock loader comment them out for now.
Sponsored by: DARPA, AFRL
|
#
be352d20 |
| 31-Oct-2018 |
Kyle Evans <kevans@FreeBSD.org> |
Compile in VERBOSE_SYSINIT support by default, remain silent by default
The loader tunable 'debug.verbose_sysinit' may be used to toggle verbosity. This is added to the debugging section of these ke
Compile in VERBOSE_SYSINIT support by default, remain silent by default
The loader tunable 'debug.verbose_sysinit' may be used to toggle verbosity. This is added to the debugging section of these kernconfs to be turned off in stable branches for clarity of intent.
MFC after: never
show more ...
|
#
6a186782 |
| 22-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove the ncr(4) drive.
This driver has been obsolete since the FreeBSD 4.x. It should have been removed then since the sym(4) driver had subsumed it. The driver was commented out of GENERIC in 200
Remove the ncr(4) drive.
This driver has been obsolete since the FreeBSD 4.x. It should have been removed then since the sym(4) driver had subsumed it. The driver was commented out of GENERIC in 2000.
RelNotes: Yes
show more ...
|
#
e9b5375b |
| 22-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Retire dpt(4)
Marked as gone in 12 and not relevant since the early 90s. No sightings in nycbug's dmesg database.
Relnotes: yes
|
#
48ac1a95 |
| 22-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove the gone_in(12) devices.
We're planning on removing adv, adw, aha, aic, bt, ncv, nsp, and stg soon. They have been tagged for removal in 12. At least get them out of GENERIC.
MFC after: 3 da
Remove the gone_in(12) devices.
We're planning on removing adv, adw, aha, aic, bt, ncv, nsp, and stg soon. They have been tagged for removal in 12. At least get them out of GENERIC.
MFC after: 3 days Relnotes: yes
show more ...
|
#
77c1fcec |
| 12-Oct-2018 |
Eric Joyner <erj@FreeBSD.org> |
ixl/iavf(4): Change ixlv to iavf and update it to use iflib(9)
Finishes the conversion of the 40Gb Intel Ethernet drivers to iflib(9) for FreeBSD 12.0, and fixes numerous bugs in both ixl(4) and iav
ixl/iavf(4): Change ixlv to iavf and update it to use iflib(9)
Finishes the conversion of the 40Gb Intel Ethernet drivers to iflib(9) for FreeBSD 12.0, and fixes numerous bugs in both ixl(4) and iavf(4).
This commit also re-adds the VF driver to GENERIC since it now compiles and functions.
The VF driver name was changed from ixlv(4) to iavf(4) because the VF driver is now intended to be used with future products, not just with Fortville/Fort Park VFs.
A man page update that documents these drivers is forthcoming in a separate commit.
Reviewed by: sbruno@, kbowling@ Tested by: jeffrey.e.pieper@intel.com Approved by: re (gjb@) Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D16429
show more ...
|
#
6b45121a |
| 07-Oct-2018 |
Michael Tuexen <tuexen@FreeBSD.org> |
Address the warning regarding duplicate option 'GEOM_PART_GPT' when configuring kernels for i386, amd64, and arm64. The 'GEOM_PART_GPT' option was added to the DEFAULTS configuration in r337967.
App
Address the warning regarding duplicate option 'GEOM_PART_GPT' when configuring kernels for i386, amd64, and arm64. The 'GEOM_PART_GPT' option was added to the DEFAULTS configuration in r337967.
Approved by: re (kib@) Reviewed by: ler@ Differential Revision: https://reviews.freebsd.org/D17458 Sponsored by: Netflix, Inc.
show more ...
|
#
e382dd47 |
| 11-Sep-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: enable options NUMA in GENERIC and MINIMAL
Reviewed by: gallatin, cem, scottl Approved by: re (kib) Relnotes: yes Sponsored by: Dell EMC Isilon, Netflix Differential Revision: https://reviews
amd64: enable options NUMA in GENERIC and MINIMAL
Reviewed by: gallatin, cem, scottl Approved by: re (kib) Relnotes: yes Sponsored by: Dell EMC Isilon, Netflix Differential Revision: https://reviews.freebsd.org/D17059
show more ...
|
#
8cd385fd |
| 18-Aug-2018 |
John Baldwin <jhb@FreeBSD.org> |
Make 'device crypto' lines more consistent.
- In configurations with a pseudo devices section, move 'device crypto' into that section. - Use a consistent comment. Note that other things common in
Make 'device crypto' lines more consistent.
- In configurations with a pseudo devices section, move 'device crypto' into that section. - Use a consistent comment. Note that other things common in kernel configs such as GELI also require 'device crypto', not just IPSEC.
Reviewed by: rgrimes, cem, imp Differential Revision: https://reviews.freebsd.org/D16775
show more ...
|
#
164138e7 |
| 30-Jul-2018 |
Kyle Evans <kevans@FreeBSD.org> |
amd64/GENERIC: Enable EFIRT by default
As noted in UDPATING, the new loader tunable efi.rt_disabled may be used to disable EFIRT at runtime. It should have no effect if you are not booted via UEFI b
amd64/GENERIC: Enable EFIRT by default
As noted in UDPATING, the new loader tunable efi.rt_disabled may be used to disable EFIRT at runtime. It should have no effect if you are not booted via UEFI boot.
MFC after: 6 weeks
show more ...
|
#
1031d839 |
| 18-Jun-2018 |
Eric Joyner <erj@FreeBSD.org> |
ixl(4): Update to use iflib
Update the driver to use iflib in order to bring performance, maintainability, and (hopefully) stability benefits to the driver.
The driver currently isn't completely po
ixl(4): Update to use iflib
Update the driver to use iflib in order to bring performance, maintainability, and (hopefully) stability benefits to the driver.
The driver currently isn't completely ported; features that are missing:
- VF driver (ixlv) - SR-IOV host support - RDMA support
The plan is to have these re-added to the driver before the next FreeBSD release.
Reviewed by: gallatin@ Contributions by: gallatin@, mmacy@, krzysztof.galazka@intel.com Tested by: jeffrey.e.pieper@intel.com MFC after: 1 month Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D15577
show more ...
|
#
892bdccc |
| 19-May-2018 |
Mark Johnston <markj@FreeBSD.org> |
Enable kernel dump features in GENERIC for most platforms.
This turns on support for kernel dump encryption and compression, and netdump. arm and mips platforms are omitted for now, since they are m
Enable kernel dump features in GENERIC for most platforms.
This turns on support for kernel dump encryption and compression, and netdump. arm and mips platforms are omitted for now, since they are more constrained and don't benefit as much from these features.
Reviewed by: cem, manu, rgrimes Tested by: manu (arm64) Relnotes: yes Differential Revision: https://reviews.freebsd.org/D15465
show more ...
|