lwip-users
[Top][All Lists]
Advanced

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

RE: [lwip-users] Optimizations for applications requiring limitedfunctio


From: Goldschmidt Simon
Subject: RE: [lwip-users] Optimizations for applications requiring limitedfunctionality.
Date: Tue, 17 Apr 2007 17:50:57 +0200


> I have not looked very far into what lwIP is doing 
> internally. I know that the function ip_output_if() is where 
> my CPU is spending over 80% of its time during my UDP 
> transfers. I am using a Gigabit MAC/PHY, so lwIP's 
> transmission speed is no where near what the hardware can 
> sustain. There should not be any waiting for the hardware.

OK, I seem to have overread the fact that you are using UDP, I was
thinking of TCP.
However, spending 80% of the time in ip_output_if() seems a little
strange to me,
since there is nothing in that function which could be consuming cycles
(no loop,
just a checksum calculation over 20 bytes).

How did you measure the 80% and are you sure that netif->output() and
nested
calls don't count into the time of ip_output_if()? I'd imagine the
cycles are
going into your network driver instead of ip_output_if()...

> In fact, the Xilinx driver I have, from the reference design 
> I started with, does not even check to see if the MAC's FIFO 
> is full. It just blindly sends data to the MAC presuming the 
> FIFO will be emptied faster than it can be filled. This 
> presumption is justified if the PHY has negotiated a Gigabit 
> connection. In my test setup, it has.
> 
> Is there something in particular you would like me to look into?

Hm, checking if the 80% are including netif->output() or not. Oh, did
you check
you aren't running out of memory? Aside from that, I'm afraid I don't
think I
can help much.


Simon




reply via email to

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