cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Visitor
Visitor
4,473 Views
Registered: ‎12-25-2008

Two LLTemac from one HardTemac Instance work exteremely slow!!

 

Hello;

 

We have a board (very similar to ML410) with two ethernet connections which are connected to two Hard Temacs of one LL_Temac instance. We boot the board with Linux kernel 2.6.25 and every thing looks great except one strange problem. When we assign two IP addresses to just one interface we achieve more than 60 Mbps TCP bandwidth. BUT.. when we test the same traffic with two interfaces this bandwidth reduces to near few Kbps!! It seems when some IP forwarding and switching is required between two interfaces this problem emerges!!!

 

Another strange thing I found in lwip (Light weight IP) document, which says lwip does not work with two interfaces from one LL_Temac instance.

So I wonder if there are problems or limitations using two cores simultaneously from one LL_Temac instance? Or linux drivers have limitations??

 

thanks in advanced

0 Kudos
Reply
4 Replies
Visitor
Visitor
4,408 Views
Registered: ‎12-25-2008

hi all;

 

During these days we tested various configurations and possibilitie:

  1. We managed to seperate our TEMAC instaces to two hard TEMACs and the the result was the same :(
  2. We upgraded our linux kernel to 2.6.30 (the latest verion from xilinx GIT)
  3. we tested our board and configuaration with XilKernel  it was great! we achieved near 60Mbps (our test is simply sending a TCP stream from one node to another node which are connected to our board)
  4. But still in linux with 2 interfaces with the same code we didn't acheived more than 48 kbps

After some debugging (using printk) we understood that after receiving some packets something goes wrong and receiving interrupts get ignored (all send interrupts works but the other interface did not receive the receive interrupt)!! and amazingly after a period of about 3-20 seconds the packets appear in the log all at once!! it seems kernel is busy with sth or a flag is not set corretly or interrupts are disabled, ... In this condition interfaces only return to correct state if we issue ifconfig down/up commands.

 

Any help or comment may help us.

thanks

0 Kudos
Reply
Observer
Observer
4,405 Views
Registered: ‎06-15-2010

Dear Hamed,

 

First of all, with just one interface enable you have reached a bandwidth of 60Mbps, however it should be some thing simply over 200Mbps if you are using a PowerPC core ( as you said your board is similar to Ml410) may be you like to double check the LL TEMAC module parametrs and buffer sizes and to see if jumbo frames are enabled.

 

Did you ever try to use separate LL TEMAC modules for each of your TEMAC interfaces?

does your XBD file support this situation?

It seems that you have created the board yourself, and so, you have generated the XBD file yourself, and so your should be able to modify it easily.

 

In addition I am interested to see the output of 'ifconfig --all' command.

 

Regards

Mohammad Sadegh Sadri

 

0 Kudos
Reply
Visitor
Visitor
4,403 Views
Registered: ‎12-25-2008

 

Thanks for your reply,

 

At first, our interface is phy is MII (100 Mbps) and 70 seems great for our purpose

BUffer size is the max value 32K and JUMBO frame option is enabled by default (in xlltemac_main.c in xenet_open() function)

And also I mentioned that currently we use two interfaces from two temac instances.

Just for emphasize I should say that no packet get lost all of them are buffered and after some seconds (we have record of 100 seconds!!!) they appear. During this period of silence no receive interrupt is caught by driver !!! 

 

thanks

0 Kudos
Reply
Observer
Observer
4,381 Views
Registered: ‎06-15-2010

Hamed

 

I think you strongly believe that there is some thing wrong with the driver

 

- Did you try to ask your question in the "Linux PPC-dev" mailing list? There you can find the original developers of the driver.

 

- Did you try to use two EMAC lite modules instead of LL TEMAC and see how is the band width?

 

- How do you measure your band width? what application are you using for that?

 

- What is the output of "ifconfig --all" command ?

 

- What version of EDK ( LL TEMAC core ) are you using?

 

- your MHS file can be also helpful, if you put it here. especially to see how you have configured LL TEMAC module.

 

Good Luck

 

 

0 Kudos
Reply