Revision 9c29bcd189f4ab1644b7125713602532d0aefdb7 authored by Eric Dumazet on 21 September 2018, 22:27:48 UTC, committed by David S. Miller on 24 September 2018, 04:55:25 UTC
As diagnosed by Song Liu, ndo_poll_controller() can
be very dangerous on loaded hosts, since the cpu
calling ndo_poll_controller() might steal all NAPI
contexts (for all RX/TX queues of the NIC). This capture
can last for unlimited amount of time, since one
cpu is generally not able to drain all the queues under load.

mlx5 uses NAPI for TX completions, so we better let core
networking stack call the napi->poll() to avoid the capture.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent a24b66c
Raw File
itrace.txt
		i	synthesize instructions events
		b	synthesize branches events
		c	synthesize branches events (calls only)
		r	synthesize branches events (returns only)
		x	synthesize transactions events
		w	synthesize ptwrite events
		p	synthesize power events
		e	synthesize error events
		d	create a debug log
		g	synthesize a call chain (use with i or x)
		l	synthesize last branch entries (use with i or x)
		s       skip initial number of events

	The default is all events i.e. the same as --itrace=ibxwpe

	In addition, the period (default 100000) for instructions events
	can be specified in units of:

		i	instructions
		t	ticks
		ms	milliseconds
		us	microseconds
		ns	nanoseconds (default)

	Also the call chain size (default 16, max. 1024) for instructions or
	transactions events can be specified.

	Also the number of last branch entries (default 64, max. 1024) for
	instructions or transactions events can be specified.

	It is also possible to skip events generated (instructions, branches, transactions,
	ptwrite, power) at the beginning. This is useful to ignore initialization code.

	--itrace=i0nss1000000

	skips the first million instructions.
back to top