aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MFV r353608: 10165 libzpool: passing argument 1 to restrict-qualified parameterAndriy Gapon2019-10-161-4/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@f91fcf59ac2fd04f1816f3dcbc69a46d44276a65 https://github.com/illumos/illumos-gate/commit/f91fcf59ac2fd04f1816f3dcbc69a46d44276a65 https://www.illumos.org/issues/10165 Author: Toomas Soome <tsoome@me.com> MFC after: 10 days Notes: svn path=/head/; revision=353609
| * 10165 libzpool: passing argument 1 to restrict-qualified parameter aliases ↵Andriy Gapon2019-10-161-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | with argument 4 illumos/illumos-gate@f91fcf59ac2fd04f1816f3dcbc69a46d44276a65 https://github.com/illumos/illumos-gate/commit/f91fcf59ac2fd04f1816f3dcbc69a46d44276a65 https://www.illumos.org/issues/10165 Author: Toomas Soome <tsoome@me.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353608
* | MFV r353606: 10067 Miscellaneous man page typosAndriy Gapon2019-10-161-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | https://www.illumos.org/issues/10067 fileystem - man1m/zfs.1m man1m/boot.1m Author: Peter Tribble <peter.tribble@gmail.com> Obtained from: illumos MFC after: 1 week Notes: svn path=/head/; revision=353607
| * 10067 Miscellaneous man page typosAndriy Gapon2019-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@e61d7e85ebb4a7361eeb10639b742a92e0bf5e55 https://github.com/illumos/illumos-gate/commit/e61d7e85ebb4a7361eeb10639b742a92e0bf5e55 https://www.illumos.org/issues/10067 fileystem - man1m/zfs.1m man1m/boot.1m Author: Peter Tribble <peter.tribble@gmail.com> Notes: svn path=/vendor/illumos/dist/; revision=353606
| * 10154 zfs: cast between incompatible function typesAndriy Gapon2019-10-162-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@c62757b2b8b6c26589d7704d0ff20beb107fcd9a https://github.com/illumos/illumos-gate/commit/c62757b2b8b6c26589d7704d0ff20beb107fcd9a https://www.illumos.org/issues/10154 Author: Toomas Soome <tsoome@me.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353605
* | powerpc/mpc85xx: Fix function type for fsl_pcib_error_intr()Justin Hibbits2019-10-161-4/+2
| | | | | | | | | | | | | | | | | | | | Since it's only called as an interrupt handler, fsl_pcib_eror_intr() should just match the driver_intr_t type. Reported by: bdragon Notes: svn path=/head/; revision=353604
* | powerpc: Add AmigaOne platform, a subclass of MPC85xxJustin Hibbits2019-10-163-1/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The AmigaOne platform, encompassing the X5000 and A1222 at this time, is based on the mpc85xx platform, but includes some things not listed in the device tree. Some custom devices, like CPLD, could be added to the device tree with an overlay, or other means. However, some cannot easily be done, such as the power button interrupt. The directory will also become a location to add AmigaOne platform drivers, such as the aforementioned CPLD, and its children. Reviewed by: bdragon Differential Revision: https://reviews.freebsd.org/D21829 Notes: svn path=/head/; revision=353603
* | Fix including bsd.compat.mk outside Makefile.libcompat on mips64.Brooks Davis2019-10-151-1/+1
| | | | | | | | | | | | | | Reported by: jhb, jenkins Notes: svn path=/head/; revision=353601
* | Generalize ARM specific comments in devmapKristof Provost2019-10-152-14/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | The comments in devmap are very ARM specific, this generalizes them for other architectures. Submitted by: Nicholas O'Brien <nickisobrien_gmail.com> Reviewed by: manu, philip Sponsored by: Axiado Differential Revision: https://reviews.freebsd.org/D22035 Notes: svn path=/head/; revision=353600
* | ixgbe: Disable EEE for backplane X550EM_XEric Joyner2019-10-151-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From Zach: Intel documentation indicates that backplane X550EM_X KR devices do not support Energy Efficient Ethernet. Prior to this patch, X552 devices (device ID 0x15AB) will crash the system when transitioning EEE state via sysctl. Signed-off-by: Zach Vargas <zvargas@xes-inc.com> PR: 240320 Submitted by: Zach Vargas <zvargas@xes-inc.com> Reviewed by: erj@ MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D21673 Notes: svn path=/head/; revision=353599
* | Missing from r353596.Gleb Smirnoff2019-10-152-0/+6
| | | | | | | | Notes: svn path=/head/; revision=353598
* | Add the ability to link programs against a compat ABI.Brooks Davis2019-10-153-4/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linkage is controlled by two make knobs: WANT_COMPAT - Prefer to link against the compat ABI. NEED_COMPAT - Link against the compat ABI or fail to build. Supported values are "32", "soft", and "any". The latter meaning pick the first[0] supported compat ABI. This can be used to provide test binaries for compat ABIs or to link ABI-specific programs. [0] We currently support only one compat ABI at a time, but this may change in the future and some code in this commit is structured to ease that change. Reviewed by: bdrewery, jhb Obtained from: CheriBSD (in concept) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D22023 Notes: svn path=/head/; revision=353597
* | When assertion for a thread not being in an epoch fails also print allGleb Smirnoff2019-10-155-0/+24
| | | | | | | | | | | | | | | | | | | | entered epochs. Works with EPOCH_TRACE only. Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D22017 Notes: svn path=/head/; revision=353596
* | Build compat libraries before "everything".Brooks Davis2019-10-152-3/+3
| | | | | | | | | | | | | | | | | | | | | | This is required for us to link programs against compat versions of libraries. Reviewed by: bdrewery, jhb Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=353595
* | Allow OBJDIR to be overridden for LIB*DIR variables.Brooks Davis2019-10-151-23/+24
| | | | | | | | | | | | | | | | | | | | | | | | This will allow us to link against internal libraries when building programs for the system's LIBCOMPAT ABI. Reviewed by: bdrewery Obtained from: CheriBSD Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=353594
* | Rename top-level LIBCOMPAT to _LIBCOMPAT.Brooks Davis2019-10-152-17/+17
| | | | | | | | | | | | | | | | | | | | This avoids a conflict with LIBCOMPAT defined in bsd.libnames.mk. Reviewed by: bdrewery Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=353593
* | Move the per-ARCH definitions to bsd.compat.mk.Brooks Davis2019-10-152-95/+107
| | | | | | | | | | | | | | | | | | | | | | This is the first step if refactoring the definitions to allow programs to be selectively linked against libcompat libraries. Reviewed by: bdrewery Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=353592
* | Add copyrights that I forgot to add when splitting arb.h off from tree.h.Edward Tomasz Napierala2019-10-152-4/+4
| | | | | | | | | | | | | | | | | | | | | | While here clean up the RCS tags. Suggested by: lstewart MFC after: 2 weeks Sponsored by: Klara Inc, Netflix Notes: svn path=/head/; revision=353588
* | Install an ACPI PCI bus notify handler.John Baldwin2019-10-151-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | Rescan a PCI bus when the ACPI_NOTIFY_BUS_CHECK event is posted to a PCI bus. Reviewed by: scottl MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D21948 Notes: svn path=/head/; revision=353587
* | Support hot insertion and removal of PCI devices on EC2.John Baldwin2019-10-151-0/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Install ACPI notify handlers on PCI devices with an _EJ0 method. This handler is invoked when devices are added or removed. - When an ACPI_NOTIFY_DEVICE_CHECK event posts, rescan the parent bus device. Note that strictly speaking we only need to rescan the specified device, but BUS_RESCAN is what is available, so we rescan the entire bus. - When an ACPI_NOTIFY_EJECT_REQUEST event posts, detach the device associated with the ACPI handle, invoke the _EJ0 method, and then delete the device. Eventually this might be changed to vector notify events to devd in userspace where devctl can be used instead to permit more complex actions such as graceful unmounting of filesystems. Tested by: cperciva Reviewed by: cperciva, imp, scottl MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D21948 Notes: svn path=/head/; revision=353586
* | Export pci_attach() and pci_detach().John Baldwin2019-10-152-4/+4
| | | | | | | | | | | | | | | | | | Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D21948 Notes: svn path=/head/; revision=353585
* | Use __FreeBSD_version to determine if gets() has been removed.John Baldwin2019-10-151-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC compilers set __FreeBSD__ statically to a build-time determined targeted version (which in ports always matches the build host's version). This means that when building any version (12 or 13, etc.) of riscv or some other architecture via GCC on a 12.x host, __FreeBSD__ will always be set to 12. As a result, __FreeBSD__ cannot be used to reliably detect the target FreeBSD version being built. Instead, __FreeBSD_version from either <sys/param.h> (in the kernel) or <osreldate.h> (in userland) should be used. This changes the gets() test in libc++ to use __FreeBSD_version from <osreldate.h>. Reported by: jenkins (riscv64 and amd64-gcc) Reviewed by: dim, imp Differential Revision: https://reviews.freebsd.org/D22034 Notes: svn path=/head/; revision=353579
* | cxgbe(4): An EQ update can be requested in a TX_PKTS2 work request.Navdeep Parhar2019-10-151-0/+1
| | | | | | | | | | | | | | | | MFC after: 1 week Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=353578
* | Use -march=octeon+ for OCTEON1.John Baldwin2019-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | External binutils requires octeon+ for saa. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D22033 Notes: svn path=/head/; revision=353576
* | Fix dwmmc(4) driver attachment when ext_resources are not present.Ruslan Bukin2019-10-151-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | Ignore only ENOENT (no DTS properties found) and ENODEV (driver not present) non-zero return values from ext_resources. Reviewed by: manu Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D22043 Notes: svn path=/head/; revision=353575
* | Fix a write-only variable warning from external GCC.John Baldwin2019-10-151-2/+1
| | | | | | | | | | | | | | | | Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D22032 Notes: svn path=/head/; revision=353574
* | Don't set the OUTPUT_FORMAT explicitly but let ld derive it.John Baldwin2019-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | This fixes an error with modern ld.bfd and is inline with the changes in r215251 and r217612. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D22031 Notes: svn path=/head/; revision=353573
* | Update MIPS kernel builds to work with mips-gcc.John Baldwin2019-10-1510-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use a default -march of mips64 on N64 and N32 kernels. - Set the endianness (via MIPS_ENDIAN) and ABI (via MIPS_ABI) in CFLAGS from MACHINE_ARCH. ARCH_FLAGS now only sets a different -march value if needed. - TRAMP_ARCH_FLAGS inherits MIPS_ENDIAN from MACHINE_ARCH but does not set the ABI since XLPN32 needs an N64 ABI for the trampoline loader. When TRAMP_ARCH_FLAGS is used it must set both -march and -mabi. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D22030 Notes: svn path=/head/; revision=353572
* | rpcgen: make compiler arglist allocation dynamicBrooks Davis2019-10-151-31/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Limit argmax to an absurdly large value prevent overflow (no overflow possible on FreeBSD due to ARG_MAX). In CheriBSD we exceed the 19 non-NULL arguments in the static array. Add a simple size doubling allocator and increase the default to 32. GC remnants of support for fixed arguments. Reviewed by: archardson (prior version), James Clarke (prior version) MFC after: 1 week Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D21971 Notes: svn path=/head/; revision=353569
* | fix up r353565, somehow a few files did not get committedAndriy Gapon2019-10-153-9/+9
| | | | | | | | | | | | | | | | MFC after: 3 weeks X-MFC with: r353565 Notes: svn path=/head/; revision=353568
* | Remove pfctlinput2(). It came from KAME and had never ever been in use.Gleb Smirnoff2019-10-152-24/+0
| | | | | | | | Notes: svn path=/head/; revision=353566
* | MFV r353561: 10343 ZoL: Prefix all refcount functions with zfs_Andriy Gapon2019-10-1527-413/+436
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@e914ace2e9d9bf2dbf9a1f1ce81cb776022096f5 https://github.com/illumos/illumos-gate/commit/e914ace2e9d9bf2dbf9a1f1ce81cb776022096f5 https://www.illumos.org/issues/10343 On the openzfs feature/porting matrix, this is listed as: prefix to refcount funcs/types Having these changes will make it easier to share other work across the different ZFS operating systems. PR 7963 424fd7c3e Prefix all refcount functions with zfs_ PR 7885 & 7932 c13060e47 Linux 4.19-rc3+ compat: Remove refcount_t compat PR 5823 & 5842 4859fe796 Linux 4.11 compat: avoid refcount_t name conflict Author: Tim Schumacher <timschumi@gmx.de> Obtained from: illumos, ZoL MFC after: 3 weeks Notes: svn path=/head/; revision=353565
| * 10343 ZoL: Prefix all refcount functions with zfs_Andriy Gapon2019-10-1527-389/+408
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@e914ace2e9d9bf2dbf9a1f1ce81cb776022096f5 https://github.com/illumos/illumos-gate/commit/e914ace2e9d9bf2dbf9a1f1ce81cb776022096f5 https://www.illumos.org/issues/10343 On the openzfs feature/porting matrix, this is listed as: prefix to refcount funcs/types Having these changes will make it easier to share other work across the different ZFS operating systems. PR 7963 424fd7c3e Prefix all refcount functions with zfs_ PR 7885 & 7932 c13060e47 Linux 4.19-rc3+ compat: Remove refcount_t compat PR 5823 & 5842 4859fe796 Linux 4.11 compat: avoid refcount_t name conflict Author: Tim Schumacher <timschumi@gmx.de> Notes: svn path=/vendor-sys/illumos/dist/; revision=353561
* | MFV r353558: 10572 10579 Fix race in dnode_check_slots_free()Andriy Gapon2019-10-155-11/+43
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@aa02ea01948372a32cbf08bfc31c72c32e3fc81e https://github.com/illumos/illumos-gate/commit/aa02ea01948372a32cbf08bfc31c72c32e3fc81e 10572 Fix race in dnode_check_slots_free() https://www.illumos.org/issues/10572 The Fix from ZoL: Currently, dnode_check_slots_free() works by checking dn->dn_type in the dnode to determine if the dnode is reclaimable. However, there is a small window of time between dnode_free_sync() in the first call to dsl_dataset_sync() and when the useraccounting code is run when the type is set DMU_OT_NONE, but the dnode is not yet evictable, leading to crashes. This patch adds the ability for dnodes to track which txg they were last dirtied in and adds a check for this before performing the reclaim. This patch also corrects several instances when dn_dirty_link was treated as a list_node_t when it is technically a multilist_node_t. 10579 Don't allow dnode allocation if dn_holds != 0 https://www.illumos.org/issues/10579 The fix from ZoL: This patch simply fixes a small bug where dnode_hold_impl() could attempt to allocate a dnode that was in the process of being freed, but which still had active references. This patch simply adds the required check. Author: Tom Caputi <tcaputi@datto.com> Reported by: delphij MFC after: 2 weeks X-MFC with: r353176 Notes: svn path=/head/; revision=353559
| * 10572 10579 Fix race in dnode_check_slots_free()Andriy Gapon2019-10-155-11/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@aa02ea01948372a32cbf08bfc31c72c32e3fc81e https://github.com/illumos/illumos-gate/commit/aa02ea01948372a32cbf08bfc31c72c32e3fc81e 10572 Fix race in dnode_check_slots_free() https://www.illumos.org/issues/10572 The Fix from ZoL: Currently, dnode_check_slots_free() works by checking dn->dn_type in the dnode to determine if the dnode is reclaimable. However, there is a small window of time between dnode_free_sync() in the first call to dsl_dataset_sync() and when the useraccounting code is run when the type is set DMU_OT_NONE, but the dnode is not yet evictable, leading to crashes. This patch adds the ability for dnodes to track which txg they were last dirtied in and adds a check for this before performing the reclaim. This patch also corrects several instances when dn_dirty_link was treated as a list_node_t when it is technically a multilist_node_t. 10579 Don't allow dnode allocation if dn_holds != 0 https://www.illumos.org/issues/10579 The fix from ZoL: This patch simply fixes a small bug where dnode_hold_impl() could attempt to allocate a dnode that was in the process of being freed, but which still had active references. This patch simply adds the required check. Author: Tom Caputi <tcaputi@datto.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353558
* | MFV r353551: 10452 ZoL: merge in large dnode feature fixesAndriy Gapon2019-10-153-10/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@946342a260bbae359b48bf142ec1fe40792ee862 https://github.com/illumos/illumos-gate/commit/946342a260bbae359b48bf142ec1fe40792ee862 https://www.illumos.org/issues/10452 illumos is missing a few small follow up ZoL bug fixes for the large dnode feature. We should pull those in. Those commits are in the ZoL tree as (newest to oldest): PR 8435 - 75d6b7ddca269542279975f716a343bb40a79baf - Add missing copyright notice to large_dnode tests PR 7433 - e14a32b1c844d924b9f093375c0badcf10f61741 - Fix object reclaim when using large dnodes PR 6616 - 48fbb9ddbf2281911560dfbc2821aa8b74127315 - Free objects when receiving full stream as clone PR 6695 - 39f56627ae988d09b4e3803c01c22b2026b2310e - receive_freeobjects() skips freeing some object Portions contributed by: Ned Bass <bass6@llnl.gov> Portions contributed by: Tom Caputi <tcaputi@datto.com> Author: Fabian Grünbichler <f.gruenbichler@proxmox.com> Obtained from: illumos, ZoL MFC after: 2 weeks X-MFC with: r353176 Notes: svn path=/head/; revision=353556
| * 10452 ZoL: merge in large dnode feature fixesAndriy Gapon2019-10-153-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | illumos/illumos-gate@946342a260bbae359b48bf142ec1fe40792ee862 https://github.com/illumos/illumos-gate/commit/946342a260bbae359b48bf142ec1fe40792ee862 https://www.illumos.org/issues/10452 illumos is missing a few small follow up ZoL bug fixes for the large dnode feature. We should pull those in. Those commits are in the ZoL tree as (newest to oldest): PR 8435 - 75d6b7ddca269542279975f716a343bb40a79baf - Add missing copyright notice to large_dnode tests PR 7433 - e14a32b1c844d924b9f093375c0badcf10f61741 - Fix object reclaim when using large dnodes PR 6616 - 48fbb9ddbf2281911560dfbc2821aa8b74127315 - Free objects when receiving full stream as clone PR 6695 - 39f56627ae988d09b4e3803c01c22b2026b2310e - receive_freeobjects() skips freeing some object Portions contributed by: Ned Bass <bass6@llnl.gov> Portions contributed by: Tom Caputi <tcaputi@datto.com> Author: Fabian Grünbichler <f.gruenbichler@proxmox.com> Notes: svn path=/vendor-sys/illumos/dist/; revision=353551
* | The two functions ifnet_byindex() and ifnet_byindex_locked() are exactly theHans Petter Selasky2019-10-153-18/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | same after the network stack was epochified. Merge the two into one function and cleanup all uses of ifnet_byindex_locked(). While at it: - Add branch prediction macros. - Make sure the ifnet pointer is only deferred once, also when code optimisation is disabled. Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=353550
* | Exclude the network link eventhandler from epochification after r353292.Hans Petter Selasky2019-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following assert when "options RATELIMIT" is used: panic() malloc() sysctl_add_oid() tcp_rl_ifnet_link() do_link_state_change() taskqueue_run_locked() Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=353549
* | Fix missing epochification of the LinuxKPI after r353292.Hans Petter Selasky2019-10-151-1/+4
| | | | | | | | | | | | | | Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=353548
* | Fix missing epochification of the ibcore code after r353292.Hans Petter Selasky2019-10-151-1/+4
| | | | | | | | | | | | | | Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=353547
* | Fix missing epochification of the ipoib code after r353292.Hans Petter Selasky2019-10-153-0/+12
| | | | | | | | | | | | | | Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=353546
* | Explicitly initialize the memory buffer to store O_ICMP6TYPE opcode.Andrey V. Elsukov2019-10-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default next_cmd() initializes only first u32 of opcode. O_ICMP6TYPE opcode has array of bit masks to store corresponding ICMPv6 types. An opcode that precedes O_ICMP6TYPE, e.g. O_IP6_DST, can have variable length and during opcode filling it can modify memory that will be used by O_ICMP6TYPE opcode. Without explicit initialization this leads to creation of wrong opcode. Reported by: Boris N. Lytochkin Obtained from: Yandex LLC MFC after: 3 days Notes: svn path=/head/; revision=353545
* | boot1.efi: provide generic exit() and stub getchar()Toomas Soome2019-10-151-1/+18
| | | | | | | | | | | | | | panic() is expecting us to have exit and getchar, lets provide those. Notes: svn path=/head/; revision=353544
* | tests: basic VLAN testKristof Provost2019-10-152-0/+43
| | | | | | | | | | | | | | | | | | | | | | Set up two jails connected by an epair. Create VLAN interfaces in both jails and check connectivity. This is a very basic test, but exposed panics during the network stack epoch work, so this is worth testing. Notes: svn path=/head/; revision=353542
* | (6/6) Convert pmap to expect busy in write related operations now that allJeff Roberson2019-10-1511-225/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | callers hold it. This simplifies pmap code and removes a dependency on the object lock. Reviewed by: kib, markj Tested by: pho Sponsored by: Netflix, Intel Differential Revision: https://reviews.freebsd.org/D21596 Notes: svn path=/head/; revision=353541
* | (5/6) Move the VPO_NOSYNC to PGA_NOSYNC to eliminate the dependency on theJeff Roberson2019-10-155-19/+18
| | | | | | | | | | | | | | | | | | | | | | | | object lock in vm_page_set_validclean(). Reviewed by: kib, markj Tested by: pho Sponsored by: Netflix, Intel Differential Revision: https://reviews.freebsd.org/D21595 Notes: svn path=/head/; revision=353540
* | (4/6) Protect page valid with the busy lock.Jeff Roberson2019-10-1530-198/+369
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Atomics are used for page busy and valid state when the shared busy is held. The details of the locking protocol and valid and dirty synchronization are in the updated vm_page.h comments. Reviewed by: kib, markj Tested by: pho Sponsored by: Netflix, Intel Differential Revision: https://reviews.freebsd.org/D21594 Notes: svn path=/head/; revision=353539
* | (3/6) Add a shared object busy synchronization mechanism that blocks new pageJeff Roberson2019-10-1516-85/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | busy acquires while held. This allows code that would need to acquire and release a very large number of page busy locks to use the old mechanism where busy is only checked and not held. This comes at the cost of false positives but never false negatives which the single consumer, vm_fault_soft_fast(), handles. Reviewed by: kib Tested by: pho Sponsored by: Netflix, Intel Differential Revision: https://reviews.freebsd.org/D21592 Notes: svn path=/head/; revision=353538
* | (2/6) Don't release xbusy in vm_page_remove(), defer to vm_page_free_prep().Jeff Roberson2019-10-154-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | This persists busy state across operations like rename and replace. Reviewed by: kib, markj Tested by: pho Sponsored by: Netflix, Intel Differential Revision: https://reviews.freebsd.org/D21549 Notes: svn path=/head/; revision=353537