FEC on imx6q stops receiving packets

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FEC on imx6q stops receiving packets

1,395 Views
sedat_altun
Contributor III

I have a problem with FEC on a custom board with cpu imx6q.

The problem is occured after upgrading the kernel from imx git  kernel 3.10.17 to 3.10.31 or 3.10.53 .

FEC throughput  at small packets(64Bytes)  increased nearly %50 after kernel upgrade, so I want to use the new kernel for the performance reasons.

My problem is :

Under heavy traffic at 64 bytes packets,  after a while the fec stops receiveing packets. The transmit seems ok. The only interrupts are MII. There is no RXF interupts.

There is no any error on by examinig error registers.

When I looked at the RDAR register it is 0, means FEC stops putting frames to rings beacuse all the rings seems to be full, indeed they are not full.

If I manually set RDAR bit to 1 the receive operations starts to operate.

I looked the patches from 3.10.17 to 3.10.31 but couldnt find any reason why I dont see the problem at kernel version 3.10.17.

Any help is appreciated.

Best regards.

Tags (4)
0 Kudos
4 Replies

1,035 Views
igorpadykov
NXP Employee
NXP Employee

Hi Sedat

seems similar problem was repoerted on

Freescale FEC packet loss

also one can look at ethernet tuning on

About Gigabit Ethernet performance gap between Android&Linux

Best regards

igor

1,035 Views
sedat_altun
Contributor III

Hi Igor,

Thank you very much for the links.

I will look at them.

Best regards.

0 Kudos

1,035 Views
TomE
Specialist II

I'd suggest looking at newer versions of the relevant files in both Freescale and Mainline trees.

There may be a patch that explicitly mentions and fixes this problem.

There must be some change that explains the "50% higher data rate" that is linked to (or the direct cause of) your problem.

I looked through the tree for one of the 3.14 branches and came across this. I don't know if this patch went in before or after the version you're using, but this is the sort of thing I'd look for:

linux-2.6-imx.git - Freescale i.MX Linux Tree

This patch fixes "a NAPI race condition that results in lost interrupts" and doesn't seem to be in 3.10.53 at least.

That may not be it but is the sort of thing I'd look for, preferably in a complete download of Freescale's tree so you can check the patches to "fec.c" (or whatever file is causing problems) at every release.

Other drivers have had problems with the multiple cores running the driver code. Can you run as a single core or bind the FEC to a single core and see if the problem goes away?

Tom

1,035 Views
sedat_altun
Contributor III

Hi Tom,

Thank you very much for your reply. Instead of applying patches one by one  I will backport the complete fec driver from latest imx kernel to my kernel 3.10.17.

After I complete the test i will write the results here.

And also i was confused about which git tree to use boundry devices or freescale imx git. They seems different at least for fec driver.

Best regards.

0 Kudos