DPDK usage discussions
 help / color / mirror / Atom feed
* [dpdk-users] Interesting considerate but annoying behavior of MLX5 driver
@ 2018-04-26 22:26 Wu, Xiaoban
  2018-04-26 22:40 ` Stephen Hemminger
  0 siblings, 1 reply; 4+ messages in thread
From: Wu, Xiaoban @ 2018-04-26 22:26 UTC (permalink / raw)
  To: users

Dear All,


I have two Dell PowerEdge R740 servers A and B running with ubuntu 16.04, each one has a Mellanox MCX556A-ECAT NIC installed on the PCIe x16 slot. And, the two NICs are directly connected back to back with a copper cable.


On server A, it runs a RX program which runs a function to process and analyze the received packets. On server B, it runs a packet-gen program which generates and sends packets out. They are both compiled with dpdk-17.11


Now the interesting thing is that on server B, it is kind of smart and considerate enough to automatically adjust its TX throughput according to how fast server A processes the packets. If server A processes the packets faster, then server B sends packets with a higher throughput. Similarly, if server A processes the packets slower, then server B sends packets with a lower throughput. Please note that once the program on server B starts, it is never interrupted by any way.


However, I think the server B should send out the packets with a constant throughput no matter how fast server A processes the packets.


Does anybody else notice this interesting behavior of MLX5 driver? Can anybody help me disable this feature permanently? Thanks very much for your help.


Best wishes,

Xiaoban

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-users] Interesting considerate but annoying behavior of MLX5 driver
  2018-04-26 22:26 [dpdk-users] Interesting considerate but annoying behavior of MLX5 driver Wu, Xiaoban
@ 2018-04-26 22:40 ` Stephen Hemminger
  2018-04-27  1:29   ` Wu, Xiaoban
  0 siblings, 1 reply; 4+ messages in thread
From: Stephen Hemminger @ 2018-04-26 22:40 UTC (permalink / raw)
  To: Wu, Xiaoban; +Cc: users

On Thu, 26 Apr 2018 22:26:36 +0000
"Wu, Xiaoban" <Xiaoban_Wu@student.uml.edu> wrote:

> Dear All,
> 
> 
> I have two Dell PowerEdge R740 servers A and B running with ubuntu 16.04, each one has a Mellanox MCX556A-ECAT NIC installed on the PCIe x16 slot. And, the two NICs are directly connected back to back with a copper cable.
> 
> 
> On server A, it runs a RX program which runs a function to process and analyze the received packets. On server B, it runs a packet-gen program which generates and sends packets out. They are both compiled with dpdk-17.11
> 
> 
> Now the interesting thing is that on server B, it is kind of smart and considerate enough to automatically adjust its TX throughput according to how fast server A processes the packets. If server A processes the packets faster, then server B sends packets with a higher throughput. Similarly, if server A processes the packets slower, then server B sends packets with a lower throughput. Please note that once the program on server B starts, it is never interrupted by any way.
> 
> 
> However, I think the server B should send out the packets with a constant throughput no matter how fast server A processes the packets.
> 
> 
> Does anybody else notice this interesting behavior of MLX5 driver? Can anybody help me disable this feature permanently? Thanks very much for your help.
> 
> 
> Best wishes,
> 
> Xiaoban

Turn off Ethernet flow control.  It was a design mistake that NIC vendors always seem to like because it gives 0 loss benchmarks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-users] Interesting considerate but annoying behavior of MLX5 driver
  2018-04-26 22:40 ` Stephen Hemminger
@ 2018-04-27  1:29   ` Wu, Xiaoban
  2018-05-02 10:13     ` Adrien Mazarguil
  0 siblings, 1 reply; 4+ messages in thread
From: Wu, Xiaoban @ 2018-04-27  1:29 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: users

Hi Stephen,


Thanks very much for your help. Though I don't know if it is a overkill, the following does the job.


/sbin/ethtool -s enp59s0f0 autoneg off
/sbin/ethtool -A enp59s0f0 rx off
/sbin/ethtool -A enp59s0f0 tx off


Best wishes,

Xiaoban

________________________________
From: Stephen Hemminger <stephen@networkplumber.org>
Sent: Thursday, April 26, 2018 6:40:55 PM
To: Wu, Xiaoban
Cc: users@dpdk.org
Subject: Re: [dpdk-users] Interesting considerate but annoying behavior of MLX5 driver

On Thu, 26 Apr 2018 22:26:36 +0000
"Wu, Xiaoban" <Xiaoban_Wu@student.uml.edu> wrote:

> Dear All,
>
>
> I have two Dell PowerEdge R740 servers A and B running with ubuntu 16.04, each one has a Mellanox MCX556A-ECAT NIC installed on the PCIe x16 slot. And, the two NICs are directly connected back to back with a copper cable.
>
>
> On server A, it runs a RX program which runs a function to process and analyze the received packets. On server B, it runs a packet-gen program which generates and sends packets out. They are both compiled with dpdk-17.11
>
>
> Now the interesting thing is that on server B, it is kind of smart and considerate enough to automatically adjust its TX throughput according to how fast server A processes the packets. If server A processes the packets faster, then server B sends packets with a higher throughput. Similarly, if server A processes the packets slower, then server B sends packets with a lower throughput. Please note that once the program on server B starts, it is never interrupted by any way.
>
>
> However, I think the server B should send out the packets with a constant throughput no matter how fast server A processes the packets.
>
>
> Does anybody else notice this interesting behavior of MLX5 driver? Can anybody help me disable this feature permanently? Thanks very much for your help.
>
>
> Best wishes,
>
> Xiaoban

Turn off Ethernet flow control.  It was a design mistake that NIC vendors always seem to like because it gives 0 loss benchmarks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-users] Interesting considerate but annoying behavior of MLX5 driver
  2018-04-27  1:29   ` Wu, Xiaoban
@ 2018-05-02 10:13     ` Adrien Mazarguil
  0 siblings, 0 replies; 4+ messages in thread
From: Adrien Mazarguil @ 2018-05-02 10:13 UTC (permalink / raw)
  To: Wu, Xiaoban; +Cc: Stephen Hemminger, users

On Fri, Apr 27, 2018 at 01:29:38AM +0000, Wu, Xiaoban wrote:
> Hi Stephen,
> 
> 
> Thanks very much for your help. Though I don't know if it is a overkill, the following does the job.
> 
> 
> /sbin/ethtool -s enp59s0f0 autoneg off
> /sbin/ethtool -A enp59s0f0 rx off
> /sbin/ethtool -A enp59s0f0 tx off

Note that DPDK applications should rely on rte_eth_dev_flow_ctrl_get/set()
with fc_conf->mode = RTE_FC_NONE to achieve the same behavior in a generic
fashion.

While doing so translates exactly to the above ethtool calls with mlx4 and
mlx5, other PMDs do not typically leave a kernel netdevice around for
external applications to play with.

-- 
Adrien Mazarguil
6WIND

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-05-02 10:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-26 22:26 [dpdk-users] Interesting considerate but annoying behavior of MLX5 driver Wu, Xiaoban
2018-04-26 22:40 ` Stephen Hemminger
2018-04-27  1:29   ` Wu, Xiaoban
2018-05-02 10:13     ` Adrien Mazarguil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).