No description
Find a file
Vincent Mailhol f57bac3c33 netdev: add netdev_queue_set_dql_min_limit()
Add a function to set the dynamic queue limit minimum value.

Some specific drivers might have legitimate reasons to configure
dql.min_limit to a given value. Typically, this is the case when the
PDU of the protocol is smaller than the packet size to used to
carry those frames to the device.

Concrete example: a CAN (Control Area Network) device with an USB 2.0
interface.  The PDU of classical CAN protocol are roughly 16 bytes but
the USB packet size (which is used to carry the CAN frames to the
device) might be up to 512 bytes.  Wen small traffic burst occurs, BQL
algorithm is not able to immediately adjust and this would result in
having to send many small USB packets (i.e packet of 16 bytes for each
CAN frame). Filling up the USB packet with CAN frames is relatively
fast (small latency issue) but the gain of not having to send several
small USB packets is huge (big throughput increase). In this case,
forcing dql.min_limit to a given value that would allow to stuff the
USB packet is always a win.

This function is to be used by network drivers which are able to prove
through a rationale and through empirical tests on several environment
(with other applications, heavy context switching, virtualization...),
that they constantly reach better performances with a specific
predefined dql.min_limit value with no noticeable latency impact.

Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-03-22 12:40:19 -07:00
arch
block
certs
crypto
Documentation Documentation: networking: dsa: mention that the master is brought up automatically 2021-03-17 12:34:35 -07:00
drivers dsa: simplify Kconfig symbols and dependencies 2021-03-22 12:15:37 -07:00
fs
include netdev: add netdev_queue_set_dql_min_limit() 2021-03-22 12:40:19 -07:00
init
ipc
kernel
lib
LICENSES
mm
net dsa: simplify Kconfig symbols and dependencies 2021-03-22 12:15:37 -07:00
samples samples: pktgen: new append mode 2021-03-14 14:22:38 -07:00
scripts
security nexthop: Add netlink defines and enumerators for resilient NH groups 2021-03-11 16:12:59 -08:00
sound
tools selftests: net: forwarding: Fix a typo 2021-03-18 20:38:48 -07:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS staging: dpaa2-switch: move the driver out of staging 2021-03-10 13:30:36 -08:00
Makefile
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.