freebsd-nq/sys/arm
Jonathan T. Looney bd79708dbf In the TCP stack, the hhook(9) framework provides hooks for kernel modules
to add actions that run when a TCP frame is sent or received on a TCP
session in the ESTABLISHED state. In the base tree, this functionality is
only used for the h_ertt module, which is used by the cc_cdg, cc_chd, cc_hd,
and cc_vegas congestion control modules.

Presently, we incur overhead to check for hooks each time a TCP frame is
sent or received on an ESTABLISHED TCP session.

This change adds a new compile-time option (TCP_HHOOK) to determine whether
to include the hhook(9) framework for TCP. To retain backwards
compatibility, I added the TCP_HHOOK option to every configuration file that
already defined "options INET". (Therefore, this patch introduces no
functional change. In order to see a functional difference, you need to
compile a custom kernel without the TCP_HHOOK option.) This change will
allow users to easily exclude this functionality from their kernel, should
they wish to do so.

Note that any users who use a custom kernel configuration and use one of the
congestion control modules listed above will need to add the TCP_HHOOK
option to their kernel configuration.

Reviewed by:	rrs, lstewart, hiren (previous version), sjg (makefiles only)
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D8185
2016-10-12 02:16:42 +00:00
..
allwinner ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
altera/socfpga ARM: SEV/WFE instructions are implemented starting from ARMv6K, 2016-10-06 13:18:18 +00:00
amlogic/aml8726 ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
annapurna/alpine Split CPU_CORTEXA into CPU_CORTEXA8, for the Cortex-A8, and CPU_CORTEXA_MP, 2016-10-04 12:25:44 +00:00
arm ARM: Split identify_arm_cpu() into ARMv4 and ARMv6 variant. 2016-10-09 10:24:10 +00:00
at91 ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
broadcom/bcm2835 Make Rapsberry Pi watchdog driver compatible with upstream DTS 2016-10-11 21:40:15 +00:00
cavium/cns11xx Spaces->tab in comment. 2016-05-23 20:13:17 +00:00
cloudabi32 Add very preliminary support for CloudABI for ARMv6. 2016-09-18 11:36:54 +00:00
conf In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
freescale ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
include ARM: Split identify_arm_cpu() into ARMv4 and ARMv6 variant. 2016-10-09 10:24:10 +00:00
lpc ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
mv ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
nvidia Fix release MSI method for NVidia Tegra PCI controller 2016-10-09 04:36:40 +00:00
qemu Split CPU_CORTEXA into CPU_CORTEXA8, for the Cortex-A8, and CPU_CORTEXA_MP, 2016-10-04 12:25:44 +00:00
rockchip ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
samsung/exynos ARM: SEV/WFE instructions are implemented starting from ARMv6K, 2016-10-06 13:18:18 +00:00
ti ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00
versatile Restrict where we need to define fdt_fixup_table to just PowerPC and 2016-09-23 14:11:23 +00:00
xilinx ARM: SEV/WFE instructions are implemented starting from ARMv6K, 2016-10-06 13:18:18 +00:00
xscale ARM: Remove unused includes. 2016-10-09 10:25:47 +00:00