Skip to content

Interrupt moderation/coalesce settings don't seem to work on c6gn or m6i instances #159

@talawahtech

Description

@talawahtech

Hi,

I have been running some tests on a c6gn.xlarge and noticed that the interrupt moderation settings don't seem to have any effect.

ENA version 2.4.0
AMI: amzn2-ami-hvm-2.0.20201218.1-arm64-gp2
Instance: c6gn.xlarge

Here is a comparison between a c5n.xlarge and a c6gn.xlarge.

Moderation settings:

sudo ethtool -C eth0 adaptive-rx off
sudo ethtool -C eth0 rx-usecs 256
sudo ethtool -C eth0 tx-usecs 256

c5n.xlarge (w/ c5n.4xlarge client)

Server Command: iperf3 -s -p 5200 --logfile /dev/null

Client Command: iperf3 -c XXX.XXX.XXX.XXX -P 16 -t 10 -M 88 -p 5200

Monitoring Command: dstat --cpu -y -i -I 27,28,29,30 --net-packets

Result:

----total-cpu-usage---- ---system-- -------interrupts------ -pkt/total-
usr sys idl wai hiq siq| int   csw |  27    28    29    30 |#recv #send
  1  15  58   0   0  26|  15k 4633 |3665  3274  3777  3309 |1801k  931k
  0  17  61   0   0  22|  15k 4840 |3408  3513  3828  3569 |1800k  928k
  1  18  61   0   0  20|  16k 5140 |3386  3401  3849  3697 |1798k  930k
  1  19  59   0   0  21|  16k 5075 |3616  3213  3888  3555 |1802k  922k
  0  22  57   0   0  22|  16k 5787 |3600  3029  3894  3556 |1799k  937k

As expected, the number of interrupts per second per queue is under 3900 (1M/256)

c6gn.xlarge (w/ c6gn.4xlarge client)

Server Command: iperf3 -s -p 5200 --logfile /dev/null

Client Command: iperf3 -c XXX.XXX.XXX.XXX -P 16 -t 10 -M 88 -p 5200

Monitoring Command: dstat --cpu -y -i -I 47,48,49,50 --net-packets

Result:

----total-cpu-usage---- ---system-- -------interrupts------ -pkt/total-
usr sys idl wai hiq siq| int   csw |  47    48    49    50 |#recv #send
  0  22  31   0   0  47| 145k 5893 |  37k   55k   32k   20k|2441k 1236k
  0  24  29   0   0  47| 145k 5727 |  31k   65k   26k   21k|2504k 1281k
  0  22  20   0   0  57| 109k 4647 |  12k   59k   23k   13k|2761k 1425k
  1  22  31   0   0  46| 172k 6704 |  40k   74k   36k   21k|2396k 1242k
  0  23  25   0   0  52| 141k 5509 |  20k   67k   40k   13k|2594k 1338k

Much to my surprise I am seeing tens of thousands of interrupts per second per queue for the c6gn.xlarge. Is there something else that I need to do to get this to work?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions