All of lore.kernel.org
 help / color / mirror / Atom feed
From: Giuseppe CAVALLARO <peppe.cavallaro@st.com>
To: Lars Persson <lars.persson@axis.com>, <netdev@vger.kernel.org>,
	<maxime.coquelin@st.com>, <rabinv@axis.com>, <larper@axis.com>,
	Rayagond K <rayagond@vayavyalabs.com>
Cc: Alexandre TORGUE <alexandre.torgue@st.com>,
	<fabrice.gasnier@st.com>, Joachim Eastwood <manabian@gmail.com>
Subject: Re: [PATCH v3 00/17] stmmac: enhance driver performances and update the version
Date: Tue, 1 Mar 2016 10:40:43 +0100	[thread overview]
Message-ID: <56D5639B.70701@st.com> (raw)
In-Reply-To: <56D55DAD.7060002@axis.com>

Hello Lars

On 3/1/2016 10:15 AM, Lars Persson wrote:
> Hi Peppe
>
> We look forward to seeing the patches for 4.10a support. I hope that we
> can work together to have one driver supporting all chips with the 4.x
> GMACs.

many thanks for your prompt feedback. So we will proceed to provide
the gmac4 patches on top of this subset for net-next branch.
For sure, we will work together to have the best solution for these
chips.

Regards
Peppe

>
> - Lars
>
>
> On 02/29/2016 05:50 PM, Giuseppe CAVALLARO wrote:
>> Gents
>>
>> on top of these patches, there is a new train to enhance the stmmac to
>> support the DWMAC_4.x chips. They will be proposed very soon and on
>> top of this update (as soon as reviewed and merged).
>>
>> In our context, it has been very useful working with the same driver
>> that runs fine on several (x86, arm, sh4) boxes with different SYNP
>> MAC/GMAC IPs (starting from MAC10/100 Database Release 1.5 to databook
>> 3.70a and .... 4.00a and 4.10a). We got the benefit to have all the
>> features already supported by stmmac plus the good performances
>> available with TSO on gmac4.
>>
>> I can image no big issues to enhance the stmmac on supporting the
>> new 4.00a and 4.10a although there is some other work made by
>> Rabin and Larper.
>>
>> I guess, stmmac users will continue to be happy to continue to have the
>> same d.d. working on their platforms with new gmac.
>> But! it also makes sense to avoid to have two drivers that aim
>> to do the same job. Or to get more synergy on the same code as
>> done in the past with Rayagond for PTP and EEE.
>>
>> If you have some concern or advice, please do not hesitate to ask.
>> We will try to send the patches soon to show the code in case of
>> people are interested in.
>>
>> Kind Regards
>> Peppe
>>
>> On 2/29/2016 2:27 PM, Alexandre TORGUE wrote:
>>> According to Giuseppe, I send the v3 series.
>>>
>>> This is a subset of patches to rework the driver in order to improve its
>>> performances and make it more robust under stress conditions.
>>>
>>> All patches have been ported on STi mainstream kernel branch and
>>> tested on ARM STiH4xx platforms and newer ones.
>>>
>>> This series also updates the driver version and prepares it
>>> to include further development to support new chips.
>>>
>>> In detail, these patches are:
>>>
>>> o to rework and improve the internal DMA bus settings
>>>
>>>    Fine tuning is mandatory on some platforms for both
>>>    performance and stability issues.
>>>
>>> o to rework and optimize the descriptor management.
>>>
>>>    This will help a lot on performance side and preparing
>>>    the inclusion on the GMAC4.x.
>>>
>>> o to add a set of optimizations for both xmit and rx functions.
>>>
>>>    These will help a lot on performance side and making the driver
>>>    more robust in case of low memory conditions and under some
>>>    stress test, performed for example on IP-STB.
>>>
>>> Below some throughput figures obtained on some boxes before and after
>>> the patches.
>>>
>>>                         nuttcp (mbps)       iperf (Mbps)
>>> ------------------------------------------------------------------
>>>                        tcp     udp          tcp      udp
>>>                     tx   rx   tx  rx      tx   rx   tx  rx
>>>                      ------------------------------------------
>>>     old             680   800 480  506    760  800   600  700
>>>     new             830   880 540  630    840  880   700   800
>>>
>>> ==============================================================================
>>>
>>>
>>>
>>> V2: - rx_copybreak is now managed by using ethtool.
>>> V3: - improve comments on PCIe detailing that there are no regressions
>>>      - rework some APIs to properly define some params as bool as
>>> expected
>>>      - rework the formula to get the element inside the ring.
>>> Comparing V2,
>>>     patches 4 and 13 have been merged because the same formula have been
>>>     used. After this rework, no evident benefit has been noticed in
>>> terms
>>>     of performances so the table above is still valid. Disassembling the
>>>     code for SH4 and ARM, with the new formula just an instr is saved
>>>     (depending on compiler flags) and this gives us not so relevanti
>>> gain,
>>>     for example, on SH4 where some instr are executed in the same
>>> pipeline
>>>     stage.
>>>     Ring sizes are now fixed and maybe they can be reworked to be tuned
>>>     w/o using stmmaceth= cmdline option. Indeed, nobody change these
>>> sizes
>>>     and indeed the numbers selected by default respect the budget and
>>>     avoid to pass invalid setup. These are the best driver default sizes
>>>     for ring and chain.
>>>
>>> ==============================================================================
>>>
>>>
>>> Fabrice Gasnier (3):
>>>    stmmac: merge get_rx_owner into rx_status routine.
>>>    stmmac: optimize tx clean function
>>>    stmmac: fix phy init when attached to a phy
>>>
>>> Giuseppe Cavallaro (14):
>>>    stmmac: share reset function between dwmac100 and dwmac1000
>>>    stmmac: rework DMA bus setting and introduce new platform AXI
>>>      structure
>>>    stmmac: change descriptor layout
>>>    stmmac: review RX/TX ring management
>>>    stmmac: add length field to dma data
>>>    stmmac: add last_segment field to dma data
>>>    stmmac: add is_jumbo field to dma data
>>>    stmmac: optimize tx desc management
>>>    stmmac: set dirty index out of the loop
>>>    stmmac: first frame prep at the end of xmit routine
>>>    stmmac: do not poll phy handler when attach a switch
>>>    stmmac: do not perform zero-copy for rx frames
>>>    stmmac: tune rx copy via threshold.
>>>    stmmac: update version to Oct_2015
>>>
>>>   Documentation/devicetree/bindings/net/stmmac.txt   |  54 ++-
>>>   drivers/net/ethernet/stmicro/stmmac/chain_mode.c   |  37 +-
>>>   drivers/net/ethernet/stmicro/stmmac/common.h       |  39 +-
>>>   drivers/net/ethernet/stmicro/stmmac/descs.h        | 330
>>> +++++++-------
>>>   drivers/net/ethernet/stmicro/stmmac/descs_com.h    |  77 ++--
>>>   drivers/net/ethernet/stmicro/stmmac/dwmac100.h     |   1 -
>>>   drivers/net/ethernet/stmicro/stmmac/dwmac1000.h    |   3 +-
>>>   .../net/ethernet/stmicro/stmmac/dwmac1000_dma.c    | 111 +++--
>>>   drivers/net/ethernet/stmicro/stmmac/dwmac100_dma.c |  22 +-
>>>   drivers/net/ethernet/stmicro/stmmac/dwmac_dma.h    |  39 +-
>>>   drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c    |  21 +
>>>   drivers/net/ethernet/stmicro/stmmac/enh_desc.c     | 226 +++++-----
>>>   drivers/net/ethernet/stmicro/stmmac/norm_desc.c    | 150 ++++---
>>>   drivers/net/ethernet/stmicro/stmmac/ring_mode.c    |  32 +-
>>>   drivers/net/ethernet/stmicro/stmmac/stmmac.h       |   9 +-
>>>   .../net/ethernet/stmicro/stmmac/stmmac_ethtool.c   |  41 +-
>>>   drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  | 473
>>> ++++++++++++---------
>>>   drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c   |   4 +-
>>>   .../net/ethernet/stmicro/stmmac/stmmac_platform.c  |  42 +-
>>>   include/linux/stmmac.h                             |  17 +-
>>>   20 files changed, 1016 insertions(+), 712 deletions(-)
>>>
>>
>
>

  reply	other threads:[~2016-03-01  9:40 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-29 13:27 [PATCH v3 00/17] stmmac: enhance driver performances and update the version Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 01/17] stmmac: share reset function between dwmac100 and dwmac1000 Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 02/17] stmmac: rework DMA bus setting and introduce new platform AXI structure Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 03/17] stmmac: change descriptor layout Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 04/17] stmmac: review RX/TX ring management Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 05/17] stmmac: add length field to dma data Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 06/17] stmmac: add last_segment " Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 07/17] stmmac: add is_jumbo " Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 08/17] stmmac: merge get_rx_owner into rx_status routine Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 09/17] stmmac: optimize tx desc management Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 10/17] stmmac: optimize tx clean function Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 11/17] stmmac: set dirty index out of the loop Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 12/17] stmmac: first frame prep at the end of xmit routine Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 13/17] stmmac: do not poll phy handler when attach a switch Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 14/17] stmmac: fix phy init when attached to a phy Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 15/17] stmmac: do not perform zero-copy for rx frames Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 16/17] stmmac: tune rx copy via threshold Alexandre TORGUE
2016-02-29 13:27 ` [PATCH v3 17/17] stmmac: update version to Oct_2015 Alexandre TORGUE
2016-02-29 14:19 ` [PATCH v3 00/17] stmmac: enhance driver performances and update the version Giuseppe CAVALLARO
2016-02-29 16:50 ` Giuseppe CAVALLARO
2016-03-01  9:15   ` Lars Persson
2016-03-01  9:40     ` Giuseppe CAVALLARO [this message]
2016-03-02 19:27 ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56D5639B.70701@st.com \
    --to=peppe.cavallaro@st.com \
    --cc=alexandre.torgue@st.com \
    --cc=fabrice.gasnier@st.com \
    --cc=larper@axis.com \
    --cc=lars.persson@axis.com \
    --cc=manabian@gmail.com \
    --cc=maxime.coquelin@st.com \
    --cc=netdev@vger.kernel.org \
    --cc=rabinv@axis.com \
    --cc=rayagond@vayavyalabs.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.