History log of /freebsd/sys/netinet/tcp_ratelimit.c (Results 26 – 50 of 51)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# c012cfe6 28-Mar-2020 Ed Maste <emaste@FreeBSD.org>

sys/netinet: remove spurious doubled ;s


# 16b90565 10-Mar-2020 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r358731 through r358831.


# 98085bae 09-Mar-2020 Andrew Gallatin <gallatin@FreeBSD.org>

make lacp's use_numa hashing aware of send tags

When I did the use_numa support, I missed the fact that there is
a separate hash function for send tag nic selection. So when
use_numa is enabled, ktl

make lacp's use_numa hashing aware of send tags

When I did the use_numa support, I missed the fact that there is
a separate hash function for send tag nic selection. So when
use_numa is enabled, ktls offload does not work properly, as it
does not reliably allocate a send tag on the proper egress nic
since different egress nics are selected for send-tag allocation
and packet transmit. To fix this, this change:

- refectors lacp_select_tx_port_by_hash() and
lacp_select_tx_port() to make lacp_select_tx_port_by_hash()
always called by lacp_select_tx_port()

- pre-shifts flowids to convert them to hashes when calling lacp_select_tx_port_by_hash()

- adds a numa_domain field to if_snd_tag_alloc_params

- plumbs the numa domain into places where we allocate send tags

In testing with NIC TLS setup on a NUMA machine, I see thousands
of output errors before the change when enabling
kern.ipc.tls.ifnet.permitted=1. After the change, I see no
errors, and I see the NIC sysctl counters showing active TLS
offload sessions.

Reviewed by: rrs, hselasky, jhb
Sponsored by: Netflix

show more ...


# 75dfc66c 27-Feb-2020 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r358269 through r358399.


# 7029da5c 26-Feb-2020 Pawel Biernacki <kaktus@FreeBSD.org>

Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)

r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
still not MPSAFE (or already are but aren’t properly mark

Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)

r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
still not MPSAFE (or already are but aren’t properly marked).
Use it in preparation for a general review of all nodes.

This is non-functional change that adds annotations to SYSCTL_NODE and
SYSCTL_PROC nodes using one of the soon-to-be-required flags.

Mark all obvious cases as MPSAFE. All entries that haven't been marked
as MPSAFE before are by default marked as NEEDGIANT

Approved by: kib (mentor, blanket)
Commented by: kib, gallatin, melifaro
Differential Revision: https://reviews.freebsd.org/D23718

show more ...


# d7313dc6 26-Feb-2020 Randall Stewart <rrs@FreeBSD.org>

This commit expands tcp_ratelimit to be able to handle cards
like the mlx-c5 and c6 that require a "setup" routine before
the tcp_ratelimit code can declare and use a rate. I add the
setup routine to

This commit expands tcp_ratelimit to be able to handle cards
like the mlx-c5 and c6 that require a "setup" routine before
the tcp_ratelimit code can declare and use a rate. I add the
setup routine to if_var as well as fix tcp_ratelimit to call it.
I also revisit the rates so that in the case of a mlx card
of type c5/6 we will use about 100 rates concentrated in the range
where the most gain can be had (1-200Mbps). Note that I have
tested these on a c5 and they work and perform well. In fact
in an unloaded system they pace right to the correct rate (great
job mlx!). There will be a further commit here from Hans that
will add the respective changes to the mlx driver to support this
work (which I was testing with).

Sponsored by: Netflix Inc.
Differential Revision: ttps://reviews.freebsd.org/D23647

show more ...


# 44e86fbd 13-Feb-2020 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r357662 through r357854.


# 348404bc 12-Feb-2020 Randall Stewart <rrs@FreeBSD.org>

Lets get the real correct version.. gessh. I need
more coffee evidently.

Sponsored by: Netflix


# b8f8a6b7 12-Feb-2020 Randall Stewart <rrs@FreeBSD.org>

Opps committed the wrong ratelimit version in the
whitespace cleanup.. Restore it to the proper version.

Sponsored by: Netfilx Inc.


# 481be5de 12-Feb-2020 Randall Stewart <rrs@FreeBSD.org>

White space cleanup -- remove trailing tab's or spaces
from any line.

Sponsored by: Netflix Inc.


# df341f59 12-Feb-2020 Randall Stewart <rrs@FreeBSD.org>

Whitespace, remove from three files trailing white
space (leftover presents from emacs).

Sponsored by: Netflix Inc.


# ed0282f4 15-Jan-2020 Gleb Smirnoff <glebius@FreeBSD.org>

A miss from r356754.


# 2a4bd982 15-Jan-2020 Gleb Smirnoff <glebius@FreeBSD.org>

Introduce NET_EPOCH_CALL() macro and use it everywhere where we free
data based on the network epoch. The macro reverses the argument
order of epoch_call(9) - first function, then its argument. NFC


# b1328235 15-Jan-2020 Gleb Smirnoff <glebius@FreeBSD.org>

Use official macro to enter/exit the network epoch. NFC


# 8fd73e91 15-Jan-2020 Gleb Smirnoff <glebius@FreeBSD.org>

Since this code dereferences struct ifnet, it must include if_var.h
explicitly, not via header pollution. While here move TCPSTATES
declaration right above the include that is going to make use of i

Since this code dereferences struct ifnet, it must include if_var.h
explicitly, not via header pollution. While here move TCPSTATES
declaration right above the include that is going to make use of it.

show more ...


# 9cdc43b1 15-Jan-2020 Gleb Smirnoff <glebius@FreeBSD.org>

The non-preemptible network epoch identified by net_epoch isn't used.
This code definitely meant net_epoch_preempt.


Revision tags: release/12.1.0
# eabddb25 09-Oct-2019 Hans Petter Selasky <hselasky@FreeBSD.org>

Factor out TCP rateset destruction code.

Ensure the epoch_call() function is not called more than one time
before the callback has been executed, by always checking the
RS_FUNERAL_SCHD flag before i

Factor out TCP rateset destruction code.

Ensure the epoch_call() function is not called more than one time
before the callback has been executed, by always checking the
RS_FUNERAL_SCHD flag before invoking epoch_call().

The "rs_number_dead" is balanced again after r353353.

Discussed with: rrs@
Sponsored by: Mellanox Technologies

show more ...


# 24be1353 09-Oct-2019 Hans Petter Selasky <hselasky@FreeBSD.org>

Fix locking order reversal in the TCP ratelimit code by moving
destructors outside the rsmtx mutex.

Witness message:
lock order reversal: (sleepable after non-sleepable)
1st tcp_rs_mtx (rsmtx) @

Fix locking order reversal in the TCP ratelimit code by moving
destructors outside the rsmtx mutex.

Witness message:
lock order reversal: (sleepable after non-sleepable)
1st tcp_rs_mtx (rsmtx) @ sys/netinet/tcp_ratelimit.c:242
2nd sysctl lock (sysctl lock) @ sys/kern/kern_sysctl.c:607

Backtrace:
witness_debugger
witness_checkorder
_rm_wlock_debug
sysctl_ctx_free
rs_destroy
epoch_call_task
gtaskqueue_run_locked
gtaskqueue_thread_loop

Discussed with: rrs@
Sponsored by: Mellanox Technologies

show more ...


# 61c1328e 13-Sep-2019 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r352105 through r352307.


# 6f32ca19 11-Sep-2019 Randall Stewart <rrs@FreeBSD.org>

With the recent commit of ktls, we no longer have a
sb_tls_flags, its just the sb_flags. Also the ratelimit
code, now that the defintion is in sockbuf.h, does not
need the ktls.h file (or its predece

With the recent commit of ktls, we no longer have a
sb_tls_flags, its just the sb_flags. Also the ratelimit
code, now that the defintion is in sockbuf.h, does not
need the ktls.h file (or its predecessor).

Sponsored by: Netflix Inc

show more ...


# c5c3ba6b 03-Sep-2019 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r351317 through r351731.


# 15ddc5e4 26-Aug-2019 Michael Tuexen <tuexen@FreeBSD.org>

Don't hold the rs_mtx lock while calling malloc().

Reviewed by: rrs@
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D21416


# 903c4ee6 03-Aug-2019 Xin LI <delphij@FreeBSD.org>

Fix !INET build.


# 99c311c4 02-Aug-2019 Randall Stewart <rrs@FreeBSD.org>

Fix one more atomic for i86
Obtained from: mtuexen@freebsd.org


# a1589eb8 01-Aug-2019 Randall Stewart <rrs@FreeBSD.org>

Opps use fetchadd_u64 not long to keep old 32 bit platforms
happy.


123