Re: [Patch net-next 04/11] net:fec: add multiqueue support
From: Zhi Li <hidden>
Date: 2014-09-04 14:02:59
Also in:
linux-arm-kernel, netdev
On Wed, Sep 3, 2014 at 11:09 PM, Florian Fainelli [off-list ref] wrote:
2014-09-03 20:41 GMT-07:00 Zhi Li [off-list ref]:quoted
On Wed, Sep 3, 2014 at 4:27 PM, Florian Fainelli [off-list ref] wrote:quoted
On 09/03/2014 01:38 PM, Frank Li wrote:quoted
From: Fugang Duan <redacted> Add multiqueue support, which is compatible with previous single queue driver for FEC/ENET IPs. By default, the tx/rx queue number is 1, user can config the queue number at DTS file like this: fsl,num_tx_queues=<3>; fsl,num_rx_queues=<3>; Ethernet multiqueue mechanism can improve performance in SMP system. For single hw queue, multiqueue can balance cpu loading. For multi hw queues, multiple cores can process network packets in parallel, and refer the article for the detail advantage for multiqueue: http://vger.kernel.org/~davem/davem_nyc09.pdfYou should probably split that patch in a minimum of two, or more different parts. Two parts: - add TX multiqueue support - add RX multiqueue supportI understood your concern. We also need consider logical integration.Sure, hence the reason why I suggest you make it happen in different parts, what you can do is make sure that you parse "fsl,num_tx_queues" and "fsl,num_rx_queues" as one of the last patches in this patch series. That way, we achieve a logical breakdown of the changes and only support and enable multiqueue when the driver is ready.
I can remove this part to "net:fec: add enet-avb IP support", last patch just change DT file, which come into difference maintainer. But RX and TX is difficult to separate because RX and TX share some function, such as fec_enet_get_nextdesc If I change TX part, fec_enet_get_nextdesc will add a parameter. If that, all RX part need be changed.
quoted
Separate this patch just reduce changed lines in a patch.That is exactly my point, right now there is too much churn to make a reviewer able to spot potential problems.quoted
Most of this patch change is from fep-> to txq-> or rxq-> best regards Frank Liquoted
More parts: - prepare for TX multiqueue (introduce queue structure, definitions) - transition TX path to use queue 0 - add support for the two other TX queues - prepare for RX multiqueue (introduce queue structure, definitions) - prepare for multiqueue, hardcode RX path to use queue 0 - add support for the two other RX queues The number of changes are extremely hard to review... -- Florian-- Florian