在具有RPS(接收数据包导向)的android上运行iperf仍然导致仅使用1个CPU

时间:2019-05-14 01:42:49

标签: android linux adb iperf

我正在尝试在八核Android手机上运行iperf,并希望使用接收数据包导向(RPS)将生成的softirq分配给多个CPU。我在电话上以反向模式运行iperf客户端。

我设置了/ sys / class / net / wigig0 / queues / rx-0 / rps_cpus变量,以便生成的softirq分布在所有8个内核/ CPU(ff)上。但是仍然只使用1个内核/ CPU(在这种情况下为CPU0)。有趣的是,它始终是我回显到rps_cpus变量的CPU中的第一个。

例如,如果我将f0回显到rps_cpus(这意味着使用CPU 3-7,而不使用CPU 0-3),它​​将仅使用CPU3。

在启用GRO(通用接收分载)的情况下,这并不重要,因为即使是单个CPU也足以处理所有数据包。但是在关闭GRO(我要使用的模式)的情况下,单个CPU成为瓶颈,并影响了吞吐量。

我希望使用多个CPU,但这似乎不会发生,最终会限制吞吐量。

有什么我想念的吗?

0 个答案:

没有答案