OpenSolaris

Printable Version Enter a New Search
Bug ID 6722278
Synopsis nxge.conf interrupt blanking parameter does not take effect
State 10-Fix Delivered (Fix available in build)
Category:Subcategory driver:nxge
Keywords spbc_s10uX
Responsible Engineer Santwona Behera
Reported Against s10u5_10 , s10u5_fcs , solaris_10u5
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_108
Fixed In snv_108
Release Fixed solaris_nevada(snv_108) , solaris_10u8(s10u8_03) (Bug ID:2171587)
Related Bugs 6502748 , 6749435 , 6762666 , 2173510 , 2173511 , 2173700 , 2173960 , 2174112 , 2177566 , 2177567 , 6866508
Submit Date 3-July-2008
Last Update Date 30-April-2009
Description
Ok this one is weird. With fast CPUs we don't get CPU saturated by interrupts.
So it's generally better to not use soft rings. Under that conditions, there are
less gains to be expected from having a high interrupt blanking time and there 
are great gains for ping/pong workloads (e.g. single thread random read) to having a smaller value.

However when we set "rxdma-intr-time = 1;" in /kernel/drv/nxge.conf we observe
that a NIC comes up with the expected value as reported by ndd :

	ar02# ndd -get /dev/nxge4 rxdma-intr-time
	1

However the ping/pong rate is much lower than expected. If we then 
do
	ar02# ndd -set /dev/nxge4 rxdma-intr-time 8
	ar02# ndd -set /dev/nxge4 rxdma-intr-time 1

This speeds up the rate considerably. unloading the nxge module returns to the situation
in which ndd reports rxdma-intr-time = 1 but ping pong rate behaves as if the blanking was 8.

So between 2 system each with nxge nics. I count ping/pong per second.

With Peer's rxdma-intr-time = 1

After boot (with rxdma-intr-time = 1 in /kernel/drv/nxge.conf) :

	 ndd -get /dev/nxge4 rxdma-intr-time
	 1
	Rate : 4580 pp/sec.

	 ndd -set /dev/nxge4 rxdma-intr-time 1
	Rate : 4580 pp/sec

	 ndd -set /dev/nxge4 rxdma-intr-time 8
	Rate : 4580 pp/sec

	 ndd -set /dev/nxge4 rxdma-intr-time 1
	Rate :12000 pp/sec

What this looks like is that the nxge.conf value was read by the driver at modload but did not
setup the NIC with it. Then when we tune it to be 1, the driver thinks there is nothing to do
and does not change the NIC settings. Then when we set it to 8, the driver setups the NIC with 
the value 8 which is already what's in there, so the ping pong rate still does not change. Lastly 
we set it to 1 and the driver finally set the NIC to have the proper interrupt blanking time
giving a 2X+ boost.
Work Around
N/A
Comments
N/A