freebsd-nq/sys/conf
Andrey V. Elsukov b99a682320 Rework ipfw dynamic states implementation to be lockless on fast path.
o added struct ipfw_dyn_info that keeps all needed for ipfw_chk and
  for dynamic states implementation information;
o added DYN_LOOKUP_NEEDED() macro that can be used to determine the
  need of new lookup of dynamic states;
o ipfw_dyn_rule now becomes obsolete. Currently it used to pass
  information from kernel to userland only.
o IPv4 and IPv6 states now described by different structures
  dyn_ipv4_state and dyn_ipv6_state;
o IPv6 scope zones support is added;
o ipfw(4) now depends from Concurrency Kit;
o states are linked with "entry" field using CK_SLIST. This allows
  lockless lookup and protected by mutex modifications.
o the "expired" SLIST field is used for states expiring.
o struct dyn_data is used to keep generic information for both IPv4
  and IPv6;
o struct dyn_parent is used to keep O_LIMIT_PARENT information;
o IPv4 and IPv6 states are stored in different hash tables;
o O_LIMIT_PARENT states now are kept separately from O_LIMIT and
  O_KEEP_STATE states;
o per-cpu dyn_hp pointers are used to implement hazard pointers and they
  prevent freeing states that are locklessly used by lookup threads;
o mutexes to protect modification of lists in hash tables now kept in
  separate arrays. 65535 limit to maximum number of hash buckets now
  removed.
o Separate lookup and install functions added for IPv4 and IPv6 states
  and for parent states.
o By default now is used Jenkinks hash function.

Obtained from:	Yandex LLC
MFC after:	42 days
Sponsored by:	Yandex LLC
Differential Revision:	https://reviews.freebsd.org/D12685
2018-02-07 18:59:54 +00:00
..
config.mk Revert r319053 due to lack of sence. As pointed out by kib@ opt_global.h 2017-06-04 18:24:41 +00:00
dtb.mk Move sys/boot/fdt/dts to sys/dts and adjust scripts. 2017-11-14 21:03:57 +00:00
files Rework ipfw dynamic states implementation to be lockless on fast path. 2018-02-07 18:59:54 +00:00
files.amd64 Remove some duplicated sys/conf/files* entries. 2018-01-29 17:32:30 +00:00
files.arm Revert r327250 as it broke the build for some armv6 kernel and all armv4/5 2017-12-28 07:31:14 +00:00
files.arm64 iAdd ACPI attachments the the GIC and GICv3 interrupt controller drivers. 2018-01-11 17:23:24 +00:00
files.i386 Move signal trampolines out of locore.s into separate source file. 2018-02-06 00:02:30 +00:00
files.mips Finally, fix Zstd kernel build on MIPS and RISC-V 2018-01-10 06:30:59 +00:00
files.powerpc Remove fdt fixups for powerpc, they are no longer needed. 2018-01-13 02:56:09 +00:00
files.riscv Include ffsll() on riscv kernels. 2018-01-10 17:36:43 +00:00
files.sparc64 Merge projects/ipsec into head/. 2017-02-06 08:49:57 +00:00
kern.mk Automatically use the ELFv2 ABI on powerpc64 if supported by the compiler. 2017-11-25 21:44:23 +00:00
kern.opts.mk Support armv7 builds for userland 2017-10-05 23:01:33 +00:00
kern.post.mk Remove system makefile path directives from env passed to PORTS_MODULES step 2018-01-27 20:13:36 +00:00
kern.pre.mk Fix Zstd x86 kernel build with -march=<specific> 2018-01-09 20:53:30 +00:00
kmod_syms_prefix.awk Add the infrastructure to support loading multiple versions of TCP 2017-06-08 20:41:28 +00:00
kmod_syms.awk
kmod.mk Use ln -n instead of -h to allow building the kernel on Linux 2018-01-16 21:43:57 +00:00
ldscript.amd64 Introduce __read_frequently 2017-09-06 20:32:49 +00:00
ldscript.arm
ldscript.arm64
ldscript.i386 use INT3 instead of NOP for x86 binary padding 2017-03-19 00:22:13 +00:00
ldscript.mips
ldscript.mips.cfe
ldscript.mips.mips64
ldscript.mips.octeon1
ldscript.powerpc
ldscript.powerpc64 Add support for 64-bit PowerPC kernels to be directly loaded by kexec, which 2017-12-29 20:30:10 +00:00
ldscript.powerpcspe Create a new MACHINE_ARCH for Freescale PowerPC e500v2 2016-10-22 01:57:15 +00:00
ldscript.riscv
ldscript.sparc64
Makefile.amd64
Makefile.arm Make kernel option KERNVIRTADDR optional, remove it from std.<platform> 2017-12-30 00:20:49 +00:00
Makefile.arm64
Makefile.i386
Makefile.mips Compile trampoline with soft-float on MIPS, to match the rest of the kernel 2016-11-16 03:24:20 +00:00
Makefile.powerpc Don't pass -Wa,-many through clang, the integrated as doesn't support it. 2017-01-22 06:00:05 +00:00
Makefile.riscv Support for v1.10 (latest) of RISC-V privilege specification. 2017-08-10 14:18:09 +00:00
Makefile.sparc64
makeLINT.mk Rework r325568 so all 'make LINT' targets work. 2017-11-13 20:49:08 +00:00
makeLINT.sed
newvers.sh Indent protection and some other oops from the prvious commits. 2017-11-20 19:56:11 +00:00
NOTES Move VM_NUMA_ALLOC and DEVICE_NUMA under the single global config option NUMA. 2018-01-14 03:36:03 +00:00
options Create deprecation management functions. 2018-01-29 00:14:39 +00:00
options.amd64 Remove SVR4 (System V Release 4) binary compatibility support. 2017-02-28 05:14:42 +00:00
options.arm Add a new ARM kernel option, LOCORE_MAP_MB, to control the size of the 2017-12-26 19:02:56 +00:00
options.arm64 Add rudimentary support for building FreeBSD/arm64 with COMPAT_FREEBSD32. 2017-11-24 13:50:53 +00:00
options.i386 Remove SVR4 (System V Release 4) binary compatibility support. 2017-02-28 05:14:42 +00:00
options.mips Remove CPU_HAVEFPU. 2017-10-18 17:23:16 +00:00
options.powerpc PowerNV: XICS support for PowerNV/OPAL 2018-01-16 06:24:19 +00:00
options.riscv Add full softfloat and hardfloat support for RISC-V. 2016-11-16 15:21:32 +00:00
options.sparc64
systags.sh sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
WITHOUT_SOURCELESS
WITHOUT_SOURCELESS_HOST
WITHOUT_SOURCELESS_UCODE rtwn(4), urtwn(4): merge common code, add support for 11ac devices. 2016-10-17 20:38:24 +00:00