freebsd-nq/sys
Alexander Motin 2f86d4b001 Introduce sleepable locks into if_lagg.
Before this change if_lagg was using nonsleepable rmlocks to protect its
internal state.  This patch introduces another sx lock to protect code
paths that require sleeping, while still uses old rmlock to protect hot
nonsleepable data paths.

This change allows to remove taskqueue decoupling used before to change
interface addresses without holding the lock.  Instead it uses sx lock to
protect direct if_ioctl() calls.

As another bonus, the new code synchronizes enabled capabilities of member
interfaces, and allows to control them with ifconfig laggX, that was
impossible before.  This part should fix interoperation with if_bridge,
that may need to disable some capabilities, such as TXCSUM or LRO, to allow
bridging with noncapable interfaces.

MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
Differential Revision:	https://reviews.freebsd.org/D10514
2017-05-02 19:09:11 +00:00
..
amd64 Add AMD IOMMU/AMD-Vi support in bhyve for passthrough/direct assignment to VMs. To enable AMD-Vi, set hw.vmm.amdvi.enable=1. 2017-04-30 02:08:46 +00:00
arm In arm_gicv2m_alloc_msi(), if we found a suitable irq range, leave the loop 2017-04-25 23:46:53 +00:00
arm64 Call the PSCI reset from cpu_reset on arm64. When rebooting from DDB the 2017-04-24 11:06:10 +00:00
boot loader.efi: ResetSystem does not use data with EFI_SUCCESS 2017-05-01 16:56:34 +00:00
bsm Merge OpenBSM 1.2-alpha5 from vendor branch to FreeBSD -CURRENT: 2017-03-26 21:14:49 +00:00
cam Add the SCSI SSC Manufacturer assigned serial number VPD page. 2017-05-02 14:52:28 +00:00
cddl Fix a harmless LOR in dtrace_load(). 2017-05-01 17:01:00 +00:00
compat Add on_each_cpu() and wbinvd_on_all_cpus(). 2017-05-01 16:32:28 +00:00
conf armv8 has support for optional CRC32C instructions. This patch checks if they are 2017-04-27 17:53:05 +00:00
contrib Import Amazon Elastic Network Adapter (ENA) HAL to sys/contrib/ 2017-04-27 19:57:18 +00:00
crypto Fix counter increment in Salsa and ChaCha. 2017-04-22 01:06:23 +00:00
ddb Fix printing of negative offsets (typically from frame pointers) again. 2017-03-26 18:46:35 +00:00
dev Make some UART consoles to not spin wait for data to be sent. 2017-05-01 19:47:10 +00:00
fs Modify the NFSv4.1/pNFS client to ask for a maximum length of layout. 2017-04-29 00:34:53 +00:00
gdb
geom Dump md_iterations as signed, which it really is. 2017-04-21 07:43:44 +00:00
gnu Update our device tree files to a Linux 4.10 2017-03-07 13:56:49 +00:00
i386 Use kmem_malloc() instead of malloc(9) for the native amd64 filter. 2017-04-17 22:02:09 +00:00
isa Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
kern Add asserts to verify stability of struct proc and struct thread layouts. 2017-04-27 21:24:50 +00:00
kgssapi
libkern armv8 has support for optional CRC32C instructions. This patch checks if they are 2017-04-27 17:53:05 +00:00
mips Add support for dumping bcma/siba EROM tables to the console via a new 2017-04-24 18:35:25 +00:00
modules Add AMD IOMMU/AMD-Vi support in bhyve for passthrough/direct assignment to VMs. To enable AMD-Vi, set hw.vmm.amdvi.enable=1. 2017-04-30 02:08:46 +00:00
net Introduce sleepable locks into if_lagg. 2017-05-02 19:09:11 +00:00
net80211 [net80211] add methods to fetch the global and per-VAP WME parameters. 2017-04-22 02:12:07 +00:00
netgraph Make cached Bluetooth LE host advertise information visible from userland. 2017-04-27 15:03:24 +00:00
netinet Allow SCTP to use the hostcache. 2017-04-29 19:20:50 +00:00
netinet6 Fix an issue with MTU calculation if an ICMP messaeg is received 2017-04-26 20:21:05 +00:00
netipsec Fix SP refcount leak. 2017-04-26 00:34:05 +00:00
netpfil Fix VNET leakages in PF by V_irtualizing pfr_ktables and friends. 2017-04-25 08:34:39 +00:00
netsmb
nfs Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nfsclient Add an NFSv4.1 mount option for "use one openowner". 2017-04-13 21:54:19 +00:00
nfsserver Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nlm
ofed All these files need sys/vmmeter.h, but now they got it implicitly 2017-04-17 17:07:00 +00:00
opencrypto Don't leak a session and lock if a GMAC key has an invalid length. 2017-04-05 01:46:41 +00:00
powerpc - Remove 'struct vmmeter' from 'struct pcpu', leaving only global vmmeter 2017-04-17 17:34:47 +00:00
riscv Follow r317061 "Remove struct vmmeter from struct pcpu" 2017-04-19 17:06:32 +00:00
rpc Fix a crash during unmount of an NFSv4.1 mount. 2017-04-10 22:47:18 +00:00
security Break audit_bsm_klib.c into two files: one (audit_bsm_klib.c) 2017-04-03 10:15:58 +00:00
sparc64 Fix a bug introduced as part of r287726; use the right device_t for 2017-04-29 00:53:17 +00:00
sys armv8 has support for optional CRC32C instructions. This patch checks if they are 2017-04-27 17:53:05 +00:00
teken Oops, my fix for bright colors broke bright black some more (in cases 2017-03-27 10:48:28 +00:00
tests
tools [fdt] Make DTBs generated by make_dtb.sh overlay-ready 2017-03-10 22:45:07 +00:00
ufs All these files need sys/vmmeter.h, but now they got it implicitly 2017-04-17 17:07:00 +00:00
vm Emulate pre-r317061 ABI. 2017-05-02 18:40:41 +00:00
x86 x86 MCA: Fix a deadlock in MCA exception processing 2017-04-28 18:25:10 +00:00
xdr
xen xenstore: fix suspension when using the xenstore device 2017-03-07 09:17:48 +00:00
Makefile Fix "make cscope-clean" when .OBJDIR already exists 2017-05-01 05:59:52 +00:00