summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* MFC 302900,302902,302921,303461,304009:jhb2016-08-1513-82/+471
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a mask of optional ptrace() events. 302900: Add a test for user signal delivery. This test verifies we get the correct ptrace event details when a signal is posted to a traced process from userland. 302902: Add a mask of optional ptrace() events. ptrace() now stores a mask of optional events in p_ptevents. Currently this mask is a single integer, but it can be expanded into an array of integers in the future. Two new ptrace requests can be used to manipulate the event mask: PT_GET_EVENT_MASK fetches the current event mask and PT_SET_EVENT_MASK sets the current event mask. The current set of events include: - PTRACE_EXEC: trace calls to execve(). - PTRACE_SCE: trace system call entries. - PTRACE_SCX: trace syscam call exits. - PTRACE_FORK: trace forks and auto-attach to new child processes. - PTRACE_LWP: trace LWP events. The S_PT_SCX and S_PT_SCE events in the procfs p_stops flags have been replaced by PTRACE_SCE and PTRACE_SCX. PTRACE_FORK replaces P_FOLLOW_FORK and PTRACE_LWP replaces P2_LWP_EVENTS. The PT_FOLLOW_FORK and PT_LWP_EVENTS ptrace requests remain for compatibility but now simply toggle corresponding flags in the event mask. While here, document that PT_SYSCALL, PT_TO_SCE, and PT_TO_SCX both modify the event mask and continue the traced process. 302921: Rename PTRACE_SYSCALL to LINUX_PTRACE_SYSCALL. 303461: Note that not all optional ptrace events use SIGTRAP. New child processes attached due to PTRACE_FORK use SIGSTOP instead of SIGTRAP. All other ptrace events use SIGTRAP. 304009: Remove description of P_FOLLOWFORK as this flag was removed.
* MFC r303836rstone2016-08-151-1/+2
| | | | | | | | | | | | | | Don't enqueue NULL on a drbr In one corner case in the bxe TX path, a NULL mbuf could be enqueued onto a drbr queue. This could case a KASSERT to fire with INVARIANTS enabled, or the processing of packets from the queue to be prematurely ended later on. Submitted by: Matt Joras (matt.joras AT isilon.com) Reviewed by: davidcs Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D7041
* MFC r303923:ed2016-08-151-0/+2
| | | | | | | | | | | | Make cpu_set_user_tls() work when called on the running thread. On all the other architectures, this function can also be called on the currently running thread. In this case, we shouldn't fix up the address in the PCB, but also patch up the register itself. Otherwise it will not become active and will simply become overwritten by the next switch. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D7437
* MFC r303964:bdrewery2016-08-152-2/+3
| | | | PROGS: Support INTERNALPROG.prog=yes to not install it.
* MFC r303934,r303937,r303942:bdrewery2016-08-151-0/+2
| | | | | | | | | r303934: Support rmdir(2). r303937: Use proper argument length for rmdir(2) for r303934. r303942: Fix sorting in r303934.
* MFC r302838: 6513 partially filled holes lose birth timeavg2016-08-158-53/+188
|
* MFC r302837: 6844 dnode_next_offset can detect fictional holesavg2016-08-152-5/+23
|
* MFC r303870:hselasky2016-08-151-0/+7
| | | | | | | | | | | | Fix for use after free. Clear the device description to avoid use after free because the bsddev is not destroyed when the mlx5en module is unloaded. Only when the parent mlx5 module is unloaded the bsddev is destroyed. This fixes a panic on listing sysctls which refer strings in the bsddev after the mlx5en module has been unloaded. Sponsored by: Mellanox Technologies
* MFC r302835: fix-up for configuration of AMD Family 10h processorsavg2016-08-151-0/+14
| | | | borrowed from Linux
* MFC r302840: 6878 Add scrub completion info to "zpool history"avg2016-08-151-5/+19
|
* MFC r303765:hselasky2016-08-151-1/+11
| | | | | | | | Keep a reference count on USB keyboard polling to allow recursive cngrab() during a panic for example, similar to what the AT-keyboard driver is doing. Found by: Bruce Evans <brde@optusnet.com.au>
* MFC r303837:hselasky2016-08-156-823/+17
| | | | | | | | | | | | | Switch to the new block based LRO input function for the mlx5en driver. This change significantly increases the overall RX aggregation ratio for heavily loaded networks handling 10-80 thousand simultaneous connections. Remove the turbo LRO code and all references to it which has now been superceeded by the tcp_lro_queue_mbuf() function. Tested by: Netflix Sponsored by: Mellanox Technologies
* MFC r302839: 6940 Cannot unlink directories when over quotaavg2016-08-151-0/+1
|
* MFC r303086: 7164 zdb should be able to open the root datasetavg2016-08-152-1/+28
|
* MFC r303084: 6391 Override default SPA config location via environmentavg2016-08-151-0/+10
|
* MFC: r303685bapt2016-08-141-1/+3
| | | | | | | | | | | | truss: fix uninitialized trussinfo->curthread in add_threads()/enter_syscall trussinfo->curthread must be initialized before calling enter_syscall(), it is used by t->proc->abi->fetch_args(). Without that truss is segfaulting and the attached program also crash. Submitted by: Nikita Kozlov (nikita@gandi.net) Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D7399
* MFC r302906:ae2016-08-142-1/+41
| | | | | Add net.inet6.ip6.intr_queue_maxlen sysctl. It can be used to change netisr queue limit for IPv6 at runtime.
* MFC r303374:ae2016-08-141-1/+27
| | | | | | | Due to dropped mbuf in netisr queue route(8) can fall into infinity loop of reading the rtsock's feed. When it used by some scripts, this leads to growing number of not finished route(8) instances and thus growing number of rtsock consumers. Add SIGALRM handler to prevent this.
* MFC r303786markj2016-08-142-0/+18
| | | | mthca: Add a wrapper for the firmware's DIAG_RPRT command.
* MFC r303243markj2016-08-141-3/+5
| | | | Update a comment in vm_page_advise() to match behaviour after r290529.
* MFC r303059markj2016-08-141-3/+2
| | | | Release the second critical section in uma_zfree_arg() slightly earlier.
* MFC r303516markj2016-08-141-1/+1
| | | | Use vm_page_undirty() instead of manually setting a page field.
* MFC r303244, r303399markj2016-08-141-10/+10
| | | | De-pluralize "queues" in the pagedaemon code.
* MFC r303978; Fix kernel build with TCP_RFC7413 optionkarels2016-08-141-0/+1
| | | | | | | | | | | The current in_pcb.h includes route.h, which includes sockaddr structures. Including <sys/socketvar.h> should require <sys/socket.h>; add it in the appropriate place. PR: 211385 Submitted by: Sergey Kandaurov and iron at mail.ua Reviewed by: gnn Approved by: gnn (mentor)
* MFC r303927:tuexen2016-08-141-14/+31
| | | | | | | | Improve a consistency check to not detect valid cases for unordered user messages using DATA chunks as invalid ones. While there, ensure that error causes are provided when sending ABORT chunks in case of reassembly problems detected. Thanks to Taylor Brandstetter for making me aware of this problem.
* MFC r303955:ae2016-08-144-12/+19
| | | | | | | | | | | Restore "nat global" support. Now zero value of arg1 used to specify "tablearg", use the old "tablearg" value for "nat global". Introduce new macro IP_FW_NAT44_GLOBAL to replace hardcoded magic number to specify "nat global". Also replace 65535 magic number with corresponding macro. Fix typo in comments. PR: 211256
* MFC r303958:kib2016-08-141-3/+3
| | | | | The pmap_delayed_invl_wait() function blocks on turnstile, it does not spin, in the committed version. Remove stray '*' in the text.
* MFC r303971:smh2016-08-142-24/+38
| | | | | | Fix vtnet hang with max_virtqueue_pairs > VTNET_MAX_QUEUE_PAIRS Sponsored by: Multiplay
* MFC r303806:cy2016-08-131-0/+1
| | | | Add Logitech Unifying receiver.
* MFC r303518:lidl2016-08-121-9/+12
| | | | | | | | | | | | | libblacklist: Do not use %m for logging, use strerror(errno) The blacklist library can accept a function to use for logging, defaulting to vsyslog(), if no function is specified. Make the blacklist library use strerror(errno) explicitly, instead of %m, so that the passed in function does not need to support the syslog specific placeholder. This matches a change already submitted and accepted upstream. Sponsored by: The FreeBSD Foundation
* MFC r303515:lidl2016-08-121-3/+5
| | | | | | Make resizewin.1 manpage use .Fx macro Fix capitalization of "PuTTY" also.
* MFC r303897:gjb2016-08-121-1/+7
| | | | | | | | Pass overrides to make(1) when building ports for arm/armv6 targets, similar to what is done for the run-autotools-fixup override for non-arm targets. Sponsored by: The FreeBSD Foundation
* Fix still incorrect __FreeBSD_version values for stable/11 and releng/11.0gjb2016-08-121-1/+1
| | | | | Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
* Fix __FreeBSD_version for stable/11.gjb2016-08-111-1/+1
| | | | | Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
* Update stable/11 to 11.0-PRERELEASE.gjb2016-08-112-2/+2
| | | | | | | Reset __FreeBSD_version for 11.0-STABLE. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
* MFC r303763,303791,303869: zfs: honour and make use of vfs vnode locking ↵avg2016-08-1110-2341/+863
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | protocol ZFS POSIX Layer is originally written for Solaris VFS which is very different from FreeBSD VFS. Most importantly many things that FreeBSD VFS manages on behalf of all filesystems are implemented in ZPL in a different way. Thus, ZPL contains code that is redundant on FreeBSD or duplicates VFS functionality or, in the worst cases, badly interacts / interferes with VFS. The most prominent problem is a deadlock caused by the lock order reversal of vnode locks that may happen with concurrent zfs_rename() and lookup(). The deadlock is a result of zfs_rename() not observing the vnode locking contract expected by VFS. This commit removes all ZPL internal locking that protects parent-child relationships of filesystem nodes. These relationships are protected by vnode locks and the code is changed to take advantage of that fact and to properly interact with VFS. Removal of the internal locking allowed all ZPL dmu_tx_assign calls to use TXG_WAIT mode. Another victim, disputable perhaps, is ZFS support for filesystems with mixed case sensitivity. That support is not provided by the OS anyway, so in ZFS it was a buch of dead code. To do: - replace ZFS_ENTER mechanism with VFS managed / visible mechanism - replace zfs_zget with zfs_vget[f] as much as possible - get rid of not really useful now zfs_freebsd_* adapters - more cleanups of unneeded / unused code - fix / replace .zfs support PR: 209158 Approved by: re (gjb)
* MFC r302836: 6874 rollback and receive need to reset ZPL state to what's on diskavg2016-08-111-108/+103
| | | | Approved by: re (gjb)
* MFC r303816 r303847sbruno2016-08-1127-7470/+11705
| | | | | | | - Update ixl(4) to Intel driver version ixl-1.6.6-k - Fixup RSS builds of ixl(4) missed during testing. Approved by: re (gjb)
* MFC r303457:gallatin2016-08-111-6/+7
| | | | | | Call tcp_notify() directly to shoot down routes Approved by: re (gjb)
* MFC r303842:ae2016-08-111-10/+17
| | | | | | | | | | | | | | | | Fix constructing of setdscp opcode with tablearg keyword. setdscp's argument can have zero value that conflicts with IP_FW_TARG value. Always set high-order bit if parser doesn't find tablearg keyword. MFC r303845: Fix formatting of setfib opcode. Zero fib is correct value and it conflicts with IP_FW_TARG. Use bprint_uint_arg() only when opcode contains IP_FW_TARG, otherwise just print numeric value with cleared high-order bit. Approved by: re (kib)
* MFC r303792:tuexen2016-08-118-494/+552
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix various bugs in relation to the I-DATA chunk support This is joint work with rrs. MFC r303793: Mark an unused parameter as such. MFC r303798: Don't modify a structure without holding a reference count on it. MFC r303813: Remove stream queue entry consistently from wheel. While there, improve the handling of drain. MFC r303819: Consistently check for unsent data on the stream queues. MFC r303831: Fix a locking issue found by stress testing with tsctp. The inp read lock neeeds to be held when considering control->do_not_ref_stcb. MFC r303834: Fix the sending of FORWARD-TSN and I-FORWARD-TSN chunks. The last SID/SSN pair wasn't filled in. Thanks to Julian Cordes for providing a packetdrill script triggering the issue and making me aware of the bug. Approved by: re (kib)
* MFC r303583:mjg2016-08-111-10/+3
| | | | | | | | | | | | amd64: implement pagezero using rep stos The current implementation uses non-temporal writes. This turns out to be detrimental to performance if the page is used shortly after, which is the typical case with page faults. Switch to rep stos. Approved by: re (gjb)
* MFC r303562,303563,r303584,r303643,r303652,r303655,r303707:mjg2016-08-115-63/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rwlock: s/READER/WRITER/ in wlock lockstat annotation == sx: increment spin_cnt before cpu_spinwait in xlock The change is a no-op only done for consistency with the rest of the file. == locks: change sleep_cnt and spin_cnt types to u_int Both variables are uint64_t, but they only count spins or sleeps. All reasonable values which we can get here comfortably hit in 32-bit range. == Implement trivial backoff for locking primitives. All current spinning loops retry an atomic op the first chance they get, which leads to performance degradation under load. One classic solution to the problem consists of delaying the test to an extent. This implementation has a trivial linear increment and a random factor for each attempt. For simplicity, this first thouch implementation only modifies spinning loops where the lock owner is running. spin mutexes and thread lock were not modified. Current parameters are autotuned on boot based on mp_cpus. Autotune factors are very conservative and are subject to change later. == locks: fix up ifdef guards introduced in r303643 Both sx and rwlocks had copy-pasted ADAPTIVE_MUTEXES instead of the correct define. == locks: fix compilation for KDTRACE_HOOKS && !ADAPTIVE_* case == locks: fix sx compilation on mips after r303643 The kernel.h header is required for the SYSINIT macro, which apparently was present on amd64 by accident. Approved by: re (gjb)
* MFH (r303832): check whether each key file exists before adding itdes2016-08-111-10/+15
| | | | | PR: 208254 Approved by: re (kib)
* MFC r303773alc2016-08-101-1/+1
| | | | | | Correct a spelling error. Approved by: re (kib)
* MFC r303712:kib2016-08-105-215/+5
| | | | | | Merge i386 and amd64 variants of mp_watchdog.c into x86/. Approved by: re (gjb)
* MFC r303710:kib2016-08-104-40/+18
| | | | | | | | | Remove unneeded (recursing) Giant acquisition around vprintf(9). MFC r303715: Remove ncl_printf(), use printf(9) directly. Approved by: re (gjb)
* MFC r303704:kib2016-08-104-16/+8
| | | | | | | | | Some style changes. Fix a typo in comment. MFC r303705: Remove Giant asserts. Update comment. Approved by: re (gjb)
* MFC r303448:kib2016-08-101-40/+30
| | | | | | | | | Do not delegate a work to geom event thread which can be done inline. MFC r303703: Explain why swapgeom_close_ev() is delegated. Approved by: re (gjb)
* MFC r303488 and r303771:royger2016-08-101-27/+33
| | | | | | | xen-netfront: fix trying to send packets with disconnected netfront xen-netfront: improve the logic when handling nic features from ioctl Approved by: re (kib)
OpenPOWER on IntegriCloud