linux-kernelorg-stable/net
Adrian Moreno 7b1b2b60c6 net: psample: allow using rate as probability
Although not explicitly documented in the psample module itself, the
definition of PSAMPLE_ATTR_SAMPLE_RATE seems inherited from act_sample.

Quoting tc-sample(8):
"RATE of 100 will lead to an average of one sampled packet out of every
100 observed."

With this semantics, the rates that we can express with an unsigned
32-bits number are very unevenly distributed and concentrated towards
"sampling few packets".
For example, we can express a probability of 2.32E-8% but we
cannot express anything between 100% and 50%.

For sampling applications that are capable of sampling a decent
amount of packets, this sampling rate semantics is not very useful.

Add a new flag to the uAPI that indicates that the sampling rate is
expressed in scaled probability, this is:
- 0 is 0% probability, no packets get sampled.
- U32_MAX is 100% probability, all packets get sampled.

Reviewed-by: Aaron Conole <aconole@redhat.com>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Adrian Moreno <amorenoz@redhat.com>
Link: https://patch.msgid.link/20240704085710.353845-5-amorenoz@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-07-05 17:45:47 -07:00
..
6lowpan
9p Two fixes headed to stable trees: 2024-05-29 09:25:15 -07:00
802
8021q
appletalk
atm atm: clean up a put_user() calls 2024-06-14 19:08:50 -07:00
ax25 ax25: Replace kfree() in ax25_dev_free() with ax25_dev_put() 2024-06-01 15:49:42 -07:00
batman-adv Revert "batman-adv: prefer kfree_rcu() over call_rcu() with free-only callbacks" 2024-06-12 20:18:00 +02:00
bluetooth Bluetooth: L2CAP: Fix deadlock 2024-06-28 14:32:02 -04:00
bpf page_pool: convert to use netmem 2024-07-02 18:59:33 -07:00
bridge netfilter: br_netfilter: Use nested-BH locking for brnf_frag_data_storage. 2024-06-24 16:41:23 -07:00
caif net: caif: remove unused structs 2024-06-05 10:18:06 +01:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-06-27 12:14:11 -07:00
ceph
core tun: Assign missing bpf_net_context. 2024-07-05 16:59:37 -07:00
dcb
dccp Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-06-27 12:14:11 -07:00
devlink devlink: Constify the 'table_ops' parameter of devl_dpipe_table_register() 2024-06-05 10:24:57 +01:00
dns_resolver
dsa net: dsa: Fix typo in NET_DSA_TAG_RTL4_A Kconfig 2024-06-11 19:24:11 -07:00
ethernet
ethtool ethtool: move firmware flashing flag to struct ethtool_netdev_state 2024-07-04 15:45:15 -07:00
handshake
hsr net: hsr: cosmetic: Remove extra white space 2024-06-19 17:32:57 -07:00
ieee802154 bpf-next-for-netdev 2024-05-28 07:27:29 -07:00
ife
ipv4 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-07-04 14:16:11 -07:00
ipv6 udp: Allow GSO transmit from devices with no checksum offload 2024-06-28 18:12:59 -07:00
iucv
kcm
key
l2tp l2tp: Remove duplicate included header file trace.h 2024-07-04 12:37:58 +02:00
l3mdev
lapb
llc
mac80211 Highlights this time are: 2024-06-27 13:53:43 -07:00
mac802154 net: mac802154: Fix racy device stats updates by DEV_STATS_INC() and DEV_STATS_ADD() 2024-06-03 11:20:56 +02:00
mctp
mpls
mptcp Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-06-13 13:13:46 -07:00
ncsi net/ncsi: Fix the multi thread manner of NCSI driver 2024-06-01 16:21:44 -07:00
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-07-04 14:16:11 -07:00
netlabel
netlink net: netlink: remove the cb_mutex "injection" from netlink core 2024-06-10 13:15:40 +01:00
netrom netrom: Fix a memory leak in nr_heartbeat_expiry() 2024-06-17 13:06:23 +01:00
nfc
nsh
openvswitch openvswitch: prepare for stolen verdict coming from conntrack and nat engine 2024-07-05 11:05:05 +01:00
packet af_packet: use sk_skb_reason_drop to free rx packets 2024-06-19 12:44:22 +01:00
phonet
psample net: psample: allow using rate as probability 2024-07-05 17:45:47 -07:00
qrtr net: qrtr: ns: Ignore ENODEV failures in ns 2024-06-14 13:17:21 +02:00
rds rds:Simplify the allocation of slab caches 2024-06-19 10:47:40 +01:00
rfkill net: rfkill: Correct return value in invalid parameter case 2024-06-26 10:49:01 +02:00
rose
rxrpc
sched net: sched: act_sample: add action cookie to sample 2024-07-05 17:45:47 -07:00
sctp sctp: cancel a blocking accept when shutdown a listen socket 2024-07-03 09:45:39 +01:00
smc net/smc: Introduce IPPROTO_SMC 2024-06-17 13:14:09 +01:00
strparser
sunrpc nfsd-6.10 fixes: 2024-06-28 09:32:33 -07:00
switchdev
tipc tipc: force a dst refcount before doing decryption 2024-06-18 15:08:57 +02:00
tls tcp: add a helper for setting EOR on tail skb 2024-06-04 13:23:30 +02:00
unix Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-07-04 14:16:11 -07:00
vmw_vsock
wireless Highlights this time are: 2024-06-27 13:53:43 -07:00
x25
xdp net: Move flush list retrieval to where it is used. 2024-07-02 15:26:57 +02:00
xfrm net: fix __dst_negative_advice() race 2024-05-29 17:34:49 -07:00
Kconfig ethtool: provide customized dim profile management 2024-06-25 17:15:06 -07:00
Kconfig.debug
Makefile
compat.c
devres.c
socket.c
sysctl_net.c