Go to file
Kai Shen 79a22238b4 net/smc: Use percpu ref for wr tx reference
The refcount wr_tx_refcnt may cause cache thrashing problems among
cores and we can use percpu ref to mitigate this issue here. We
gain some performance improvement with percpu ref here on our
customized smc-r verion. Applying cache alignment may also mitigate
this problem but it seem more reasonable to use percpu ref here.
We can also replace wr_reg_refcnt with one percpu reference like
wr_tx_refcnt.

redis-benchmark on smc-r with atomic wr_tx_refcnt:
SET: 525707.06 requests per second, p50=0.087 msec
GET: 554877.38 requests per second, p50=0.087 msec

redis-benchmark on the percpu_ref version:
SET: 540482.06 requests per second, p50=0.087 msec
GET: 570711.12 requests per second, p50=0.079 msec

Cases are like "redis-benchmark -h x.x.x.x -q -t set,get -P 1 -n
5000000 -c 50 -d 10 --threads 4".

Signed-off-by: Kai Shen <KaiShen@linux.alibaba.com>
Reviewed-by: Tony Lu <tonylu@linux.alibaba.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-03-17 08:59:01 +00:00
Documentation netlink: specs: allow uapi-header in genetlink 2023-03-17 08:54:17 +00:00
LICENSES
arch
block
certs
crypto
drivers gve: Add AF_XDP zero-copy support for GQI-QPL format 2023-03-17 08:29:21 +00:00
fs net: annotate lockless accesses to sk->sk_err_soft 2023-03-17 08:25:05 +00:00
include ipv4: raw: constify raw_v4_match() socket argument 2023-03-17 08:56:37 +00:00
init
io_uring
ipc
kernel
lib lib: packing: remove MODULE_LICENSE in non-modules 2023-03-09 23:08:04 -08:00
mm
net net/smc: Use percpu ref for wr tx reference 2023-03-17 08:59:01 +00:00
rust
samples
scripts
security inet: preserve const qualifier in inet_sk() 2023-03-17 08:56:37 +00:00
sound
tools selftests: net: Add VXLAN MDB test 2023-03-17 08:05:50 +00:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README

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.