No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Eric Dumazet 682a1e0ecb ipv4: avoid quadratic behavior in netns dismantle
commit d07418afea8f1d9896aaf9dc5ae47ac4f45b220c upstream.

net/ipv4/fib_semantics.c uses an hash table of 256 slots,
keyed by device ifindexes: fib_info_devhash[DEVINDEX_HASHSIZE]

Problem is that with network namespaces, devices tend
to use the same ifindex.

lo device for instance has a fixed ifindex of one,
for all network namespaces.

This means that hosts with thousands of netns spend
a lot of time looking at some hash buckets with thousands
of elements, notably at netns dismantle.

Simply add a per netns perturbation (net_hash_mix())
to spread elements more uniformely.

Also change fib_devindex_hashfn() to use more entropy.

Fixes: aa79e66eee ("net: Make ifindex generation per-net namespace")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-27 09:19:53 +01:00
arch powerpc/fsl/dts: Enable WA for erratum A-009885 on fman3l MDIO buses 2022-01-27 09:19:52 +01:00
block block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2) 2021-12-14 14:49:02 +01:00
certs
crypto
Documentation Documentation: fix firewire.rst ABI file path error 2022-01-27 09:19:52 +01:00
drivers Revert "net/mlx5: Add retry mechanism to the command entry index allocation" 2022-01-27 09:19:52 +01:00
fs ext4: don't use the orphan list when migrating an inode 2022-01-27 09:19:51 +01:00
include ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions 2022-01-27 09:19:45 +01:00
init
ipc
kernel tracing/kprobes: 'nmissed' not showed correctly for kretprobe 2022-01-27 09:19:49 +01:00
lib siphash: use _unaligned version by default 2021-12-08 09:01:12 +01:00
LICENSES
mm shmem: fix a race between shmem_unused_huge_shrink and shmem_evict_inode 2022-01-27 09:19:29 +01:00
net ipv4: avoid quadratic behavior in netns dismantle 2022-01-27 09:19:53 +01:00
samples
scripts recordmcount.pl: fix typo in s390 mcount regex 2022-01-05 12:37:44 +01:00
security selinux: fix potential memleak in selinux_add_opt() 2022-01-27 09:19:35 +01:00
sound ASoC: mediatek: mt8173: fix device_node leak 2022-01-27 09:19:48 +01:00
tools bpftool: Remove inclusion of utilities.mak from Makefiles 2022-01-27 09:19:53 +01:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile Linux 5.4.173 2022-01-20 09:19:19 +01:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.