1
0
Fork 0
alistair23-linux/drivers/net/ethernet/intel/i40evf
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
..
Makefile i40e/i40evf: Add tracepoints 2017-04-19 16:47:31 -07:00
i40e_adminq.c i40e: Implementation of ERROR state for NVM update state machine 2016-10-31 14:26:40 -07:00
i40e_adminq.h i40e: Move NVM variable out of AQ struct 2016-04-06 18:45:11 -07:00
i40e_adminq_cmd.h i40e: fix up recent proxy and wol bits for X722_SUPPORT 2017-03-14 17:52:32 -07:00
i40e_alloc.h i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00
i40e_common.c i40e: use register for XL722 control register read/write 2017-03-29 02:15:06 -07:00
i40e_devids.h i40e: Remove FPK HyperV VF device ID 2017-02-02 22:41:40 -08:00
i40e_hmc.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_lan_hmc.h i40e/i40evf: Big endian fixes for handling HMC 2014-06-26 04:44:57 -07:00
i40e_osdep.h move io-64-nonatomic*.h out of asm-generic 2015-10-15 00:21:07 +02:00
i40e_prototype.h i40e: Add functions which apply correct PHY access method for read and write operation 2016-12-06 21:09:39 -08:00
i40e_register.h i40evf: Remove PF specific register definitions from the VF 2015-08-26 15:05:17 -07:00
i40e_status.h i40evf: Fix the headers and update copyright year. 2014-05-21 01:54:43 -07:00
i40e_trace.h i40e/i40evf: Add tracepoints 2017-04-19 16:47:31 -07:00
i40e_txrx.c i40e/i40evf: Add tracepoints 2017-04-19 16:47:31 -07:00
i40e_txrx.h i40e/i40evf: Add support for padding start of frames 2017-04-08 02:53:51 -07:00
i40e_type.h i40e: Save link FEC info from link up event 2017-02-11 20:39:01 -08:00
i40e_virtchnl.h i40e/i40evf: Add capability exchange for outer checksum 2017-04-06 20:14:51 -07:00
i40evf.h i40evf: Use net_device_stats from struct net_device 2017-04-19 16:31:34 -07:00
i40evf_client.c i40evf: dereference VSI after VSI has been null checked 2017-03-27 16:47:44 -07:00
i40evf_client.h i40evf: add client interface 2017-03-15 01:31:38 -07:00
i40evf_ethtool.c i40e/i40evf: Add legacy-rx private flag to allow fallback to old Rx flow 2017-03-29 02:15:06 -07:00
i40evf_main.c i40e/i40evf: Add tracepoints 2017-04-19 16:47:31 -07:00
i40evf_virtchnl.c i40evf: Use net_device_stats from struct net_device 2017-04-19 16:31:34 -07:00