lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] lwip140 Tx performance is lower than lwip130performance


From: Anirudha Sarangi
Subject: Re: [lwip-users] lwip140 Tx performance is lower than lwip130performance
Date: Tue, 1 Nov 2011 23:09:34 +0800 (SGT)

Hi Jordan,
I am aware of the xilinx bug and I have taken care of it. With lwip140 port and with xilinx app templates I am running txperf for days without any issues.
 
I know zero copy works with lwip and performance improvement is around 40 Mbps. But to use it, user should be extra careful with the buffers they create as they should know the exact point when to free them.
 
My concern is lwip txperf performance in raw api mode. I am getting around 10% drop in comparision to lwip130. But you are saying you got improvement of around 15%.
Did you change anything in the stack?
Could you share your configuration with which you got such improvement in lwip140?
 
I am assuming that with same hardware, same application and similar configuration your lwip140 port gives higher numbers than lwip130.
 
Could you please answer my queries?

From: Jordan Dean <address@hidden>
To: 'Mailing list for lwIP users' <address@hidden>
Sent: Monday, 31 October 2011 6:24 PM
Subject: Re: [lwip-users] lwip140 Tx performance is lower than lwip130performance

Please note, (I've mentioned this on the list before)  if you are using the Xilinx program templates for your code, they are INCORRECT, it "works" with 1.3.2 but will only run for ~10min (or a few hours depending on your application) with 1.4
 
First off, I get about 15% better TX (which is all our application cares about for speed) with 1.4, also zero copy actually works, which is a huge improvement.
 
Maybe I'll add this to the wiki someplace, but here's what you need to fix.
 
Anyway, the Xilinx examples call tcp_fast_tmr and slow_tmr from within the timer interrupt, this is NOT CORRECT, what you need to do is set a flag like do_fast_tcp=1 from the timer interrupt.  Then in your main program loop you need to check for those flags and call the appropriate timer from the main program (not the interrupt context).  TRUST ME this will save you more headaches than just speed, I spent 2 weeks tracking down weird issues with this.
 
If you don't call these correctly you'll eventually end up with some weird race conditions deep in the tcp stack.
 
-Jordan Dean
 
 

From: address@hidden [mailto:address@hidden On Behalf Of Anirudha Sarangi
Sent: Sunday, October 30, 2011 2:53 AM
To: Mailing list for lwIP users
Subject: [lwip-users] lwip140 Tx performance is lower than lwip130performance

Hi,
Continuing the earlier discussion, lwip140 performance has improved a lot on the Rx side in comparsion to lwip130/lwip132.
But, lwip140 Tx side performance has dropped.
 
This is for RAW API mode.
I use microblaze (from Xilinx) and run iperf to measure the performance. I have done any changes in lwip140 or lwip130 for my tests. Also the driver interface is exactly same for both.
Regarding the numbers, for lwip130, if I get around 100 Mbps, for lwip140 I get around 87-90 Mbps. So there is a big drop.
Actually, if I use the same lwipopts.h for both, then the drop is even more. If lwip130 gives 100Mbps, lwip140 gives around 65-70 Mbps. After playing around with the configuration, I could increase from 65-70 Mbps to 87-90 Mbps. But beyond that I am unable to go.
 
The lwipopts.h for both and opt.h for both are attached.
 
regards
Anirudha
 

From: "address@hidden" <address@hidden>
To: Mailing list for lwIP users <address@hidden>
Sent: Friday, 30 September 2011 12:37 AM
Subject: Re: [lwip-users] Fw: (no subject)

FreeRTOS Info wrote:
> Could you please provide details of what you changed.
Good idea, could you please provide your lwipopts.h for both versions?
Maybe we can see anything from that. I'd like to measure performance on
my hardware using these 2 versions + configs.

Also, which API are you using? Sockets, netconn or raw API?

Simon

>
>
> Regards,
> Richard.
>
> + http://www.FreeRTOS.org
> Designed for Microcontrollers.
> More than 7000 downloads per month.
>
>
>
>
> On 29/09/2011 07:29, Anirudha Sarangi wrote:
>> Hi Kieran,
>> I was playing with some of the new parameters that are added in lwip140.
>> I got good improvement in numbers.
>> The numbers improved from around 66 MB to 82 MB.
>>
>> With the same hardware and same application files (compiler options are
>> also same), lwip130 gives me a number of 92-93 MB for txperf and lwip140
>> gives me a number of 82 MB. There is still a difference of 10 MB.
>>
>> I want to send you the pcap files for both. Old as well as new lwip. But
>> not sure how. The pcap files are quite large.
>>
>> Is there anyway I could send them to you? Alternate mail id or something?
>>
>> regards
>> Anirudha
>>
>> *From:* Kieran Mansley<address@hidden>
>> *To:* Mailing list for lwIP users<address@hidden>
>> *Sent:* Wednesday, 28 September 2011 5:04 PM
>> *Subject:* Re: [lwip-users] Fw: (no subject)
>>
>>
>> On 28 Sep 2011, at 12:15, Anirudha Sarangi wrote:
>>
>>> Hi Kieren,
>>> Do you mean capturing the packets in wireshark and sending you the log?
>> Exactly.  Please send the pcap file, not just the textual log.
>>
>> Kieran
>>
>> _______________________________________________
>> lwip-users mailing list
>> address@hidden<mailto:address@hidden>
>> https://lists.nongnu.org/mailman/listinfo/lwip-users
>>
>>
>>
>>
>> _______________________________________________
>> lwip-users mailing list
>> address@hidden
>> https://lists.nongnu.org/mailman/listinfo/lwip-users
> _______________________________________________
> lwip-users mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/lwip-users
>


_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users



_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users


reply via email to

[Prev in Thread] Current Thread [Next in Thread]