[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <54AA83FD.9070008@huawei.com>
Date: Mon, 5 Jan 2015 20:30:53 +0800
From: Ding Tianhong <dingtianhong@...wei.com>
To: Arnd Bergmann <arnd@...db.de>
CC: <robh+dt@...nel.org>, <davem@...emloft.net>,
<grant.likely@...aro.org>, <sergei.shtylyov@...entembedded.com>,
<linux-arm-kernel@...ts.infradead.org>, <eric.dumazet@...il.com>,
<xuwei5@...ilicon.com>, <zhangfei.gao@...aro.org>,
<netdev@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux@....linux.org.uk>
Subject: Re: [PATCH net-next v10 3/3] net: hisilicon: new hip04 ethernet driver
On 2015/1/5 16:56, Arnd Bergmann wrote:
> On Monday 05 January 2015 14:51:31 Ding Tianhong wrote:
>> Support Hisilicon hip04 ethernet driver, including 100M / 1000M controller.
>> The controller has no tx done interrupt, reclaim xmitted buffer in the poll.
>>
>> According David Miller and Arnd Bergmann's suggestion, add some modification
>> for v9 version:
>> - drop the workqueue
>> - batch cleanup based on tx_coalesce_frames/usecs for better throughput
>> - use a reasonable default tx timeout (200us, could be shorted
>> based on measurements) with a range timer
>> - fix napi poll function return value
>> - use a lockless queue for cleanup
>
> The driver looks ok to me now, but it would be good if you could list
> any test results you got. Did the performance improve over the previous
> versions? What is the maximum latency you get now?
>
Really I miss it, I could get it and add them in next version.
>> Signed-off-by: Zhangfei Gao <zhangfei.gao@...aro.org>
>> Signed-off-by: Ding Tianhong <dingtianhong@...wei.com>
>> Signed-off-by: Arnd Bergmann <arnd@...db.de>
>
> Adding my "Signed-off-by:" below yours is not the correct attribution here,
> I only contributed a small part, and the last line should always list
> the name of the person sending the patch. It would be ok if you change the
> order of the lines to have yours last, or you could leave me out here entirely
> and just mention me in the description.
>
Ok.
>> +
>> + /* FIXME: make these adjustable through ethtool */
>> + int tx_coalesce_frames;
>> + int tx_coalesce_usecs;
>> + struct hrtimer tx_coalesce_timer;
>
> The FIXME comment that I added was meant as a suggestion for you to look
> into implementing that after you got the driver working. Did you try it
> out, or do you have plans to do that as a follow-up patch?
>
> I would assume that doing so would help in the performance evaluation and
> to find good default values. The numbers I used were really just guessing
> as I have no insight into how the hardware behaves in real-world systems.
>
Yes, I was preparing another series patches when these patches is applied, or
I could fix them in the next version for this patch.
>> +
>> + /* FIXME: eliminate this mmio access if xmit_more is set */
>> + hip04_set_xmit_desc(priv, phys);
>> + priv->tx_head = TX_NEXT(tx_head);
>> + count++;
>> + netdev_sent_queue(ndev, skb->len);
>
> Same thing here. I would assume that implementing xmit_more support can
> boost tx performance significantly, but I don't have access to the hardware
> data sheet, so I don't know what kind of interaction with the hardware
> is required when you want to submit multiple tx frames at once.
>
Ok, thanks.
Ding
> Arnd
>
> .
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists