1
0
Fork 0
alistair23-linux/drivers/net
Scott Peterson ed0980c440 i40e/i40evf: Add tracepoints
This patch adds tracepoints to the i40e and i40evf drivers to which
BPF programs can be attached for feature testing and verification.
It's expected that an attached BPF program will identify and count or
log some interesting subset of traffic. The bcc-tools package is
helpful there for containing all the BPF arcana in a handy Python
wrapper. Though you can make these tracepoints log trace messages, the
messages themselves probably won't be very useful (other to verify the
tracepoint is being called while you're debugging your BPF program).

The idea here is that tracepoints have such low performance cost when
disabled that we can leave these in the upstream drivers. This may
eventually enable the instrumentation of unmodified customer systems
should the need arise to verify a NIC feature is working as expected.
In general this enables one set of feature verification tools to be
used on these drivers whether they're built with the kernel or
separately.

Users are advised against using these tracepoints for anything other
than a diagnostic tool. They have a performance impact when enabled,
and their exact placement and form may change as we see how well they
work in practice for the purposes above.

Change-ID: Id6014a7322c0e6d08068114dd20bd156f2f6435e
Signed-off-by: Scott Peterson <scott.d.peterson@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-04-19 16:47:31 -07:00
..
appletalk
arcnet lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
bonding bonding: deliver link-local packets with skb->dev set to link that packets arrived on 2017-04-17 15:45:47 -04:00
caif virtio: allow drivers to request IRQ affinity when creating VQs 2017-02-27 20:54:04 +02:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-15 21:16:30 -04:00
cris net: cris: eth_v10: use new api ethtool_{get|set}_link_ksettings 2017-03-27 15:53:19 -07:00
dsa net: dsa: mt7530: Include gpio/consumer.h for GPIO functions 2017-04-09 18:28:54 -07:00
ethernet i40e/i40evf: Add tracepoints 2017-04-19 16:47:31 -07:00
fddi
fjes Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-23 16:41:27 -07:00
hamradio driver core patches for 4.11-rc1 2017-02-22 11:44:32 -08:00
hippi
hyperv hv_netvsc: change netvsc device default duplex to FULL 2017-04-17 15:12:33 -04:00
ieee802154 ieee802154: ca8210: Add checks for kmalloc allocation failures 2017-04-12 22:02:39 +02:00
ipvlan ipvtap: IP-VLAN based tap driver 2017-02-11 20:59:41 -05:00
irda irda: vlsi_ir: fix check for DMA mapping errors 2017-03-25 20:14:40 -07:00
phy net: phy: test the right variable in phy_write_mmd() 2017-04-17 15:10:42 -04:00
plip
ppp sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
slip sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
team Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-15 21:16:30 -04:00
usb smsc95xx: Add comments to the registers definition 2017-04-17 13:04:52 -04:00
vmxnet3 net: vmxnet3: use new api ethtool_{get|set}_link_ksettings 2017-03-22 19:26:52 -07:00
wan ucc/hdlc: fix two little issue 2017-03-13 21:53:48 -07:00
wimax net: wimax/i2400m: fix NULL-deref at probe 2017-03-13 12:28:40 -07:00
wireless netlink: pass extended ACK struct to parsing functions 2017-04-13 13:58:22 -04:00
xen-netback xen-netback: fix race condition on XenBus disconnect 2017-03-12 23:44:43 -07:00
Kconfig vmxnet3: prevent building with 64K pages 2017-02-17 15:25:49 -05:00
LICENSE.SRC
Makefile net: phy: Allow building mdio-boardinfo into the kernel 2017-03-29 10:32:32 -07:00
Space.c
dummy.c Enable tx timestamping on loopback and dummy 2017-03-21 14:40:01 -07:00
eql.c
geneve.c geneve: lock RCU on TX path 2017-03-01 09:58:31 -08:00
gtp.c gtp: support SGSN-side tunnels 2017-03-25 20:11:19 -07:00
ifb.c
loopback.c Cleanup some warning from timestamping code. 2017-03-21 14:40:02 -07:00
macsec.c netlink: pass extended ACK struct to parsing functions 2017-04-13 13:58:22 -04:00
macvlan.c tap: Abstract type of virtual interface from tap implementation 2017-02-11 20:59:41 -05:00
macvtap.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c net: net_netdev: use new api ethtool_{get|set}_link_ksettings 2017-03-13 15:25:53 -07:00
rionet.c
sb1000.c
sungem_phy.c
tap.c sched/headers: Move task_struct::signal and task_struct::sighand types and accessors into <linux/sched/signal.h> 2017-03-03 01:43:37 +01:00
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-23 16:41:27 -07:00
veth.c netlink: pass extended ACK struct to parsing functions 2017-04-13 13:58:22 -04:00
virtio_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-15 21:16:30 -04:00
vrf.c net: rtnetlink: plumb extended ack to doit function 2017-04-17 15:35:38 -04:00
vxlan.c vxlan: fix ND proxy when skb doesn't have transport header offset 2017-04-03 18:50:42 -07:00
xen-netfront.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-02-22 10:15:09 -08:00