Discussion:
[e1000e] Mismatch between coalesce settings from ethtool and effective settings?
(too old to reply)
Christoph Mathys
2015-10-27 14:59:35 UTC
Permalink
Hi there

Is there some way to read the actual values for the coalesce options
back from the NIC? To be specific, I'm interested in the value of ITR
on a 82574L chip. I suspect it does not match with the value that I
get from "ethtool -c". Reading back from userspace, without compiling
a lot of stuff if possible...

Some background: I use ifupdown from Debian to configure an Ethernet
interface. I want to disable all coalesce settings. What I've done is
to call ethtool with the required parameter from a script in if-up.d,
which is run right after the interface gets set to up (using something
like ifconfig up). However, judging from my applications behaviour I
think that the default "rx-usecs 3" is still active, even though
ethtool -c tells me it is set to '0'. After changing it to "1" and
then back to "0", my application works properly (change to one is
required because ethtool will not write the same value again).

I suspect some kind of race between the kernel thread bringing up the
interface and my script calling ethtool, and I hope to verify this by
seeing the actual values of coalesce that are used.

I use a dated 3.12 with PREEMPT_RT patch.

Christoph

PS Please CC

------------------------------------------------------------------------------
Avargil, Raanan
2015-10-28 10:31:14 UTC
Permalink
Hi Christoph,

The only way to query coalesce options is via the "ethtool -c" command.
I don't know if it helps you, but are you familiar with the driver param: InterruptThrottleRate.
Run: "modinfo e1000e" command, and you can also look at the param.c file.

Thanks,
Raanan

-----Original Message-----
From: Christoph Mathys [mailto:***@gmail.com]
Sent: Tuesday, October 27, 2015 17:00
To: e1000-***@lists.sourceforge.net
Subject: [E1000-devel] [e1000e] Mismatch between coalesce settings from ethtool and effective settings?

Hi there

Is there some way to read the actual values for the coalesce options back from the NIC? To be specific, I'm interested in the value of ITR on a 82574L chip. I suspect it does not match with the value that I get from "ethtool -c". Reading back from userspace, without compiling a lot of stuff if possible...

Some background: I use ifupdown from Debian to configure an Ethernet interface. I want to disable all coalesce settings. What I've done is to call ethtool with the required parameter from a script in if-up.d, which is run right after the interface gets set to up (using something like ifconfig up). However, judging from my applications behaviour I think that the default "rx-usecs 3" is still active, even though ethtool -c tells me it is set to '0'. After changing it to "1" and then back to "0", my application works properly (change to one is required because ethtool will not write the same value again).

I suspect some kind of race between the kernel thread bringing up the interface and my script calling ethtool, and I hope to verify this by seeing the actual values of coalesce that are used.

I use a dated 3.12 with PREEMPT_RT patch.

Christoph

PS Please CC

------------------------------------------------------------------------------
_______________________________________________
E1000-devel mailing list
E1000-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


------------------------------------------------------------------------------
Christoph Mathys
2015-10-28 12:48:23 UTC
Permalink
Hi Raanan
Post by Avargil, Raanan
The only way to query coalesce options is via the "ethtool -c" command.
I don't know if it helps you, but are you familiar with the driver param: InterruptThrottleRate.
Run: "modinfo e1000e" command, and you can also look at the param.c file.
Thanks for the hint. I have used this for some time, but then we
started to equip some computers with NICs using the igb driver. This
driver no longer supports said parameters and so I switched over to
ethtool completely.

My "fix" is to set the coalesce options before I enable the interface.
But this does of course nothing for the real problem, so others can
still run into this trap.

Christoph

------------------------------------------------------------------------------
Loading...