Thread (3 messages) flat view 3 messages, 3 authors, 2014-09-04

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.pdf
You should probably split that patch in a minimum of two, or more
different parts.

Two parts:

- add TX multiqueue support
- add RX multiqueue support
I 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 Li
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help