summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* MFV r289311: 5764 "zfs send -nv" directs output to stderrmav2015-10-142-9/+18
| | | | | | | | | | | | Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Paul Dagnelie <paul.dagnelie@delphix.com> Reviewed by: Basil Crow <basil.crow@delphix.com> Reviewed by: Steven Hartland <killing@multiplay.co.uk> Reviewed by: Bayard Bell <buffer.g.overflow@gmail.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Manoj Joseph <manoj.joseph@delphix.com> illumos/illumos-gate@dc5f28a3c341db7c241bba77ddc109c141072f27
* MFV r289308: 6267 dn_bonus evicted too earlymav2015-10-145-43/+38
| | | | | | | | | | Reviewed by: Richard Yao <ryao@gentoo.org> Reviewed by: Xin LI <delphij@freebsd.org> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Approved by: Richard Lowe <richlowe@richlowe.net> Author: Justin T. Gibbs <gibbs@FreeBSD.org> illumos/illumos-gate@d2058105c61ec61df3a2dd3f839fed8c3fe7bfd6
* MFV r289306: 6295 metaslab_condense's dbgmsg should include vdev idmav2015-10-141-5/+6
| | | | | | | | | | | | Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Andriy Gapon <avg@freebsd.org> Reviewed by: Xin Li <delphij@freebsd.org> Reviewed by: Justin Gibbs <gibbs@scsiguy.com> Approved by: Richard Lowe <richlowe@richlowe.net> Author: Joe Stein <joe.stein@delphix.com> illumos/illumos-gate@daec38ecb4fb5e73e4ca9e99be84f6b8c50c02fa
* MFV r289304: 6293 ztest failure: error == 28 (0xc == 0x1c) in ztest_tx_assign()mav2015-10-141-0/+10
| | | | | | | | | | Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Richard Elling <Richard.Elling@RichardElling.com> Approved by: Richard Lowe <richlowe@richlowe.net> Author: Matthew Ahrens <mahrens@delphix.com> illumos/illumos-gate@8fe00bfb8790ad51653f67b01d5ac14256cbb404
* Invalid pages should not appear on the inactive queue. Change thekib2015-10-141-5/+5
| | | | | | | | check into an assertion. Reviewed by: alc Tested by: pho Sponsored by: The FreeBSD Foundation
*-. Integrate tools/regression/vfs into the FreeBSD test suite as tests/sys/vfsngie2015-10-144-0/+10
|\ \ | | | | | | | | | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
| | * Add Makefile forgotten in r289224ngie2015-10-131-0/+7
| | |
| | * Replace /dev/acd0 with /dev/cd1 as atapicd(4) has been removed since r249083.ngie2015-10-132-6/+6
| | | | | | | | | | | | Update mount.conf(8) to reflect the change in behavior
| | * Bump .Ddngie2015-10-132-2/+2
| | |
| | * Replace references to /dev/acd0 with /dev/cd0ngie2015-10-132-3/+3
| |/ | | | | | | atapicd(4) was removed in r249083 (it was replaced by cd(4))
| * Integrate tools/regression/vfs into the FreeBSD test suite as tests/sys/vfsngie2015-10-133-0/+3
| |
| * Integrate tools/test/posixshm and tools/regression/posixshm into the FreeBSDngie2015-10-1310-19/+20
| | | | | | | | test suite as tests/sys/posixshm
* | MFV r289298: 6286 ZFS internal error when set large block on bootfsmav2015-10-141-3/+3
| | | | | | | | | | | | | | | | | | | | Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Andriy Gapon <avg@FreeBSD.org> Approved by: Robert Mustacchi <rm@joyent.com> Author: Matthew Ahrens <mahrens@delphix.com> illumos/illumos-gate@6de9bb5603e65b16816b7ab29e39bac820e2da2b
* | MFV r289296: 6288 dmu_buf_will_dirty could be fastermav2015-10-141-10/+51
| | | | | | | | | | | | | | | | | | | | | | Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Justin Gibbs <gibbs@scsiguy.com> Reviewed by: Richard Elling <Richard.Elling@RichardElling.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Matthew Ahrens <mahrens@delphix.com> illumos/illumos-gate@0f2e7d03b8f588387cb8dd8dd500cbe5ff4484e0
* | MFV r289294: 5219 l2arc_write_buffers() may write beyond target_szmav2015-10-141-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Saso Kiselkov <skiselkov@gmail.com> Reviewed by: George Wilson <george@delphix.com> Reviewed by: Steven Hartland <steven.hartland@multiplay.co.uk> Reviewed by: Justin Gibbs <gibbs@FreeBSD.org> Approved by: Matthew Ahrens <mahrens@delphix.com> Author: Andriy Gapon <avg@freebsd.org> illumos/illumos-gate@d7d9a6d919f92d74ea0510a53f8441396048e800
* | Fix an unnecessarily aggressive behavior where mtu clamping begins on firsthiren2015-10-141-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | retransmission timeout (rto) when blackhole detection is enabled. Make sure it only happens when the second attempt to send the same segment also fails with rto. Also make sure that each mtu probing stage (usually 1448 -> 1188 -> 524) follows the same pattern and gets 2 chances (rto) before further clamping down. Note: RFC4821 doesn't specify implementation details on how this situation should be handled. Differential Revision: https://reviews.freebsd.org/D3434 Reviewed by: sbruno, gnn (previous version) MFC after: 2 weeks Sponsored by: Limelight Networks
* | Fix support for building a PROG_CXX, and PROG, directly.bdrewery2015-10-141-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | For example in lib/atf/libatf-c++/tests/detail it is now possible to run 'make application_test'. This was intended to worked for PROGS, but lacked support for PROGS_CXX. Also fix redefining the main PROG target to recurse. This isn't needed since the main process is setting PROG/PROG_CXX to handle it directly via bsd.prog.mk. MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division
* | Fix date.adrian2015-10-141-1/+1
| | | | | | | | Noticed by: bdrewery
* | Follow-up r288218 by ensuring common objects are built before recursing.bdrewery2015-10-141-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some example where this is a problem: lib/atf/libatf-c++/tests/Makefile:SRCS.${_T}= ${_T}.cpp test_helpers.cpp lib/atf/libatf-c++/tests/detail/Makefile:SRCS.${_T}= ${_T}.cpp test_helpers.cpp lib/atf/libatf-c/tests/Makefile:SRCS.${_T}= ${_T}.c test_helpers.c lib/atf/libatf-c/tests/detail/Makefile:SRCS.${_T}= ${_T}.c test_helpers.c lib/libpam/libpam/tests/Makefile:SRCS.${test} = ${test}.c ${COMMONSRC} A similar change may be needed for FILES, SCRIPTS, or INCS, but for now stay with just SRCS. Reported by: rodrigc MFC after: 3 weeks X-MFC-With: r288218 Sponsored by: EMC / Isilon Storage Division
* | rsu(4) manpage updates: add me, add 802.11n support, update caveats.adrian2015-10-141-1/+4
| | | | | | | | | | | | * Add that I indeed added 802.11n support. * Update caveats - we support 1x1, 1x2 and 2x2 operation now, but there's no transmit aggregation support.
* | Replace the out-of-place includes/files/config handling in bsd.subdir.mk withbdrewery2015-10-144-20/+15
| | | | | | | | | | | | | | | | | | | | | | | | more typical ALL_SUBDIR_TARGETS entries and target hooks in bsd.incs.mk, bsd.files.mk and bsd.confs.mk. This allows the targets to be NOPs if unneeded and still work with the shortcut 'make includes' to build and then install in a parallel-safe manner. Sort and re-indent the ALL_SUBDIR_TARGETS with the new entries. Sponsored by: EMC / Isilon Storage Division
* | NTB: MFV e8aeb60c: Disable interrupts and poll under high loadcem2015-10-143-28/+65
| | | | | | | | | | | | Authored by: Jon Mason Obtained from: Linux (Dual BSD/GPL driver) Sponsored by: EMC / Isilon Storage Division
* | NTB: MFV 78958433: Enable Snoop on Primary Sidecem2015-10-142-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | Enable Snoop from Primary to Secondary side on BAR23 and BAR45 on all TLPs. Previously, Snoop was only enabled from Secondary to Primary side. This can have a performance improvement on some workloads. Also, make the code more obvious about how the link is being enabled. Authored by: Jon Mason Obtained from: Linux (Dual BSD/GPL driver) Sponsored by: EMC / Isilon Storage Division
* | Parallelize the buffer cache and rewrite getnewbuf(). This results in ajeff2015-10-142-576/+716
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8x performance improvement in a micro benchmark on a 4 socket machine. - Get buffer headers from a per-cpu uma cache that sits in from of the free queue. - Use a per-cpu quantum cache in vmem to eliminate contention for kva. - Use multiple clean queues according to buffer cache size to eliminate clean queue lock contention. - Introduce a bufspace daemon that attempts to prevent getnewbuf() callers from blocking or doing direct recycling. - Close some bufspace allocation races that could lead to endless recycling. - Further the transition to a more modern style of small functions grouped by prefix in order to improve growing complexity. Sponsored by: EMC / Isilon Reviewed by: kib Tested by: pho
* | Correct a comment in bsd.incs.mk forgotten in r274662 and copied into ↵bdrewery2015-10-142-2/+2
| | | | | | | | | | | | | | | | bsd.confs.mk. The bsd.confs.mk may be wrong but for now fix it. Sponsored by: EMC / Isilon Storage Division
* | Add a note about the mysterious files/includes/config block.bdrewery2015-10-141-0/+3
| | | | | | | | This originated from r96668.
* | There are times when it would be really nice to have a record of the last fewhiren2015-10-1413-2/+568
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | packets and/or state transitions from each TCP socket. That would help with narrowing down certain problems we see in the field that are hard to reproduce without understanding the history of how we got into a certain state. This change provides just that. It saves copies of the last N packets in a list in the tcpcb. When the tcpcb is destroyed, the list is freed. I thought this was likely to be more performance-friendly than saving copies of the tcpcb. Plus, with the packets, you should be able to reverse-engineer what happened to the tcpcb. To enable the feature, you will need to compile a kernel with the TCPPCAP option. Even then, the feature defaults to being deactivated. You can activate it by setting a positive value for the number of captured packets. You can do that on either a global basis or on a per-socket basis (via a setsockopt call). There is no way to get the packets out of the kernel other than using kmem or getting a coredump. I thought that would help some of the legal/privacy concerns regarding such a feature. However, it should be possible to add a future effort to export them in PCAP format. I tested this at low scale, and found that there were no mbuf leaks and the peak mbuf usage appeared to be unchanged with and without the feature. The main performance concern I can envision is the number of mbufs that would be used on systems with a large number of sockets. If you save five packets per direction per socket and have 3,000 sockets, that will consume at least 30,000 mbufs just to keep these packets. I tried to reduce the concerns associated with this by limiting the number of clusters (not mbufs) that could be used for this feature. Again, in my testing, that appears to work correctly. Differential Revision: D3100 Submitted by: Jonathan Looney <jlooney at juniper dot net> Reviewed by: gnn, hiren
* | Add WITHOUT_LLDB for src.conf(5)emaste2015-10-141-0/+2
| | | | | | | | It will be enabled by default on certain architectures.
* | NTB: MFV 58b88920: Document HW erratacem2015-10-131-0/+5
| | | | | | | | | | | | | | | | | | Add a comment describing the necessary ordering of modifications to the NTB Limit and Base registers. Authored by: Jon Mason Obtained from: Linux (Dual BSD/GPL driver) Sponsored by: EMC / Isilon Storage Division
* | NTB: MFV fca4d518: Fix ntb_transport link down racecem2015-10-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | A WARN_ON is being hit in ntb_qp_link_work due to the NTB transport link being down while the ntb qp link is still active. This is caused by the transport link being brought down prior to the qp link worker thread being terminated. To correct this, shutdown the qp's prior to bringing the transport link down. Also, only call the qp worker thread if it is in interrupt context, otherwise call the function directly. Authored by: Jon Mason Obtained from: Linux (Dual BSD/GPL driver) Sponsored by: EMC / Isilon Storage Division
* | NTB: MFV 9fec60c4: Fix NTB-RP Link Upcem2015-10-131-10/+40
| | | | | | | | | | | | | | | | | | | | | | | | The Xeon NTB-RP setup, the transparent side does not get a link up/down interrupt. Since the presence of a NTB device on the transparent side means that we have a NTB link up, we can work around the lack of an interrupt by simply calling the link up function to notify the upper layers. Authored by: Jon Mason Obtained from: Linux (Dual BSD/GPL driver) Sponsored by: EMC / Isilon Storage Division
* | NTB: MFV c529aa30: Xeon Doorbell errata workaroundcem2015-10-132-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modifications to the 14th bit of the B2BDOORBELL register will not be mirrored to the remote system due to a hardware issue. To get around the issue, shrink the number of available doorbell bits by 1. The max number of doorbells was being used as a way to referencing the Link Doorbell bit. Since this would no longer work, the driver must now explicitly reference that bit. This does not affect the xeon_errata_workaround case, as it is not using the b2bdoorbell register. Authored by: Jon Mason Obtained from: Linux (Dual BSD/GPL driver) Sponsored by: EMC / Isilon Storage Division
* | Use chroot(2) instead of using prefixes for files.delphij2015-10-131-15/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the code prefixes the chroot path to actual file paths to simulate the effect. This, however, will not work for tzset(3) which expects the current system have a working set of timezone data files, and that is not always the case. This changeset simplifies the handling of paths and use an actual chroot(2) call to implement the effect. PR: bin/197313 MFC after: 2 weeks
* | NTB: MFV f9a2cf89: Comment Fixcem2015-10-132-2/+3
| | | | | | | | | | | | | | | | | | Add "data" ntb_register_db_callback parameter description comment and correct poor speling. Authored by: Jon Mason Obtained from: Linux (Dual BSD/GPL driver) Sponsored by: EMC / Isilon Storage Division
* | NTB: MFV b1ef0043: Remove References of non-B2B BWD HWcem2015-10-132-14/+5
| | | | | | | | | | | | | | | | | | NTB-RP is not a supported configuration on BWD hardware. Remove the code attempting to set it up. Authored by: Jon Mason Obtained from: Linux (dual BSD/GPL driver) Sponsored by: EMC / Isilon Storage Division
* | Fix two memory leaks in config(8).rpaulo2015-10-131-0/+2
| | | | | | | | | | PR: 202145 Submitted by: Kurt Lidl <lidl pix.net>
* | if_ntb: Fix build on i386cem2015-10-131-1/+1
| | | | | | | | Sponsored by: EMC / Isilon Storage Division
* | ioat: Use correct macro, fix build on i386cem2015-10-131-1/+1
| | | | | | | | Sponsored by: EMC / Isilon Storage Division
* | NTB: (partial) MFV ed6c24ed: NTB-RP supportcem2015-10-132-30/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit does not actually add NTB-RP support. Mostly it serves to shuffle code around to match the Linux driver. Original Linux commit log follows: Add support for Non-Transparent Bridge connected to a PCI-E Root Port on the remote system (also known as NTB-RP mode). This allows for a NTB enabled system to be connected to a non-NTB enabled system/slot. Modifications to the registers and BARs/MWs on the Secondary side by the remote system are reflected into registers on the Primary side for the local system. Similarly, modifications of registers and BARs/MWs on Primary side by the local system are reflected into registers on the Secondary side for the Remote System. This allows communication between the 2 sides via these registers and BARs/MWs. Note: there is not a fix for the Xeon Errata (that was already worked around in NTB-B2B mode) for NTB-RP mode. Due to this limitation, NTB-RP will not work on the Secondary side with the Xeon Errata workaround enabled. To get around this, disable the workaround via the xeon_errata_workaround=0 modparm. However, this can cause the hang described in the errata. Authored by: Jon Mason Obtained from: Linux Sponsored by: EMC / Isilon Storage Division
* | NTB: MFV 49793889: Rename Variables for NTB-RPcem2015-10-133-48/+48
| | | | | | | | | | | | | | | | | | | | | | Many variable names in the NTB driver refer to the primary or secondary side. However, these variables will be used to access the reverse case when in NTB-RP mode. Make these names more generic in anticipation of NTB-RP support. Authored by: Jon Mason Obtained from: Linux Sponsored by: EMC / Isilon Storage Division
* | bsd.subdir.mk: Move all of the targets into ALL_SUBDIR_TARGETS.bdrewery2015-10-131-6/+7
| | | | | | | | | | | | | | | | | | | | Also improve documentation. The SUBDIR_TARGETS variable should really be named LOCAL_SUBDIR_TARGETS, but renaming it may be a surprise for downstream vendors who use this variable. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
* | bsd.subdir.mk: Handle cleanobj.bdrewery2015-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | Before this, the target was unknown. Now it will recurse on subdirs and run the target in the current directory. It is required to recurse as there may be subdirs that have objs in their directory or in the object directory, so it is not enough to just delete the objdir of the subdir parent. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
* | Partially revert r288266: Remove SUBDIR_PARALLEL from kerberos5/lib.bdrewery2015-10-131-1/+0
| | | | | | | | | | | | I intended to remove this before committing r288266. It works but is clearly wrong and working by accident due to the dependencies listed in the root Makefile.inc1 file.
* | Fix the timeout for INIT retransmissions in the case where RTO_MIN istuexen2015-10-131-1/+5
| | | | | | | | | | | | smaller than RTO_INITIAL. MFC after: 1 week
* | Simplify syscall generation and ABI source file handling for the build.bdrewery2015-10-1320-202/+233
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is to make the Makefile more easily extendable for new ABIs. This also makes several other subtle changes: - The build now is given a list of ABIs to use based on the MACHINE_ARCH or MACHINE_CPUARCH. These ABIs have a related path in sys/ that is used to generate their syscalls. For each ABI to build check for a ABI.c, MACHINE_ARCH-ABI.c, or a MACHINE_CPUARCH-ABI.c. This matches the old behavior needed for archs such as powerpc* and mips*. - The ABI source file selection allows for simpler assignment of common ABIs such as "fbsd32" from sys/compat/freebsd32, or cloudabi64. - Expand 'fbsd' to 'freebsd' everywhere for consistency. - Split out the powerpc-fbsd.c file into a powerpc64-freebsd32.c to be more like the amd64-freebsd32.c file and to more easily allow the auto-generation of ABI handling to work. - Rename 'syscalls.h' to 'fbsd_syscalls.h' to lessen the ambiguity and avoid confusion with syscall.h (such as in r288997). - For non-native syscall header files, they are now renamed to be ABI_syscalls.h, where ABI is what ABI the Makefile is building. - Remove all of the makesyscalls config files. The "native" one being name i386.conf was a long outstanding bug. They were all the same except for the data they generated, so now it is just auto-generated as a build artifact. - The syscalls array is now fixed to be static in the syscalls header to remove the compiler warning about non-extern. This was worked around in the aarch64-fbsd.c file but not the others. - All syscall table names are now just 'syscallnames' since they don't need to be different as they are all static in their own ABI files. The alternative is to name them ABI_syscallnames which does not seem necessary. Reviewed by: ed, jhb MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D3851
* | Add support for sysctl knobs to live tune the per interrupt rx/tx packetsbruno2015-10-134-17/+47
| | | | | | | | | | | | | | | | processing limits in ixgbe(4) Differential Revision: https://reviews.freebsd.org/D3719 Submitted by: jason wolfe (j-nitrology.com) MFC after: 2 weeks
* | NTB: Enable 32-bit supportcem2015-10-132-0/+22
| | | | | | | | Sponsored by: EMC / Isilon Storage Division
* | NTB: Update pci idscem2015-10-132-4/+19
| | | | | | | | | | | | | | | | Add JSF, HSX, BDX ids; add two additional Xeon errata flags while we're here. Obtained from: Linux Sponsored by: EMC / Isilon Storage Division
* | NTB: MFV 113bf1c9: BWD Link Recoverycem2015-10-131-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The BWD NTB device will drop the link if an error is encountered on the point-to-point PCI bridge. The link will stay down until all errors are cleared and the link is re-established. On link down, check to see if the error is detected, if so do the necessary housekeeping to try and recover from the error and reestablish the link. There is a potential race between the 2 NTB devices recovering at the same time. If the times are synchronized, the link will not recover and the driver will be stuck in this loop forever. Add a random interval to the recovery time to prevent this race. Authored by: Jon Mason Obtained from: Linux Sponsored by: EMC / Isilon Storage Division
* | ixl(4): Remove compile warning for unused function.sbruno2015-10-131-0/+4
| | | | | | | | | | | | | | | | sys/dev/ixl/if_ixl.c:4377:1: warning: unused function 'ixl_debug_info' [-Wunused-function] ixl_debug_info(SYSCTL_HANDLER_ARGS) Differential Revision: https://reviews.freebsd.org/D3718 Submitted by: bz
OpenPOWER on IntegriCloud