i.MX53 Has Anyone Tested CONFIG_FEC_NAPI?

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

i.MX53 Has Anyone Tested CONFIG_FEC_NAPI?

696 Views
TomE
Specialist II

We are running Freescales Linux Kernel 2.6.35 on an i.MX53.

The Ethernet driver has the compile-time option of supporting NAPI or not.

The configuration defaults to "CONFIG_FEC_NAPI" being off.

Does anyone have experience with turning this on? Is it reliable. Are there any downsides with it?

It should decrease interrupt latency for other devices, which is what we're interested in.

I've done a very rough test by flood-pinging the device with this option on and off, and with NAPI on the packet rate drops by 5%.

Tom

Labels (5)
2 Replies

436 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Tom Evans,

There is no much information regarding this feature on the documentation other than it can be turned on with the CONFIG_FEC_NAPI setting. However, there is some documentation on the NAPI implementation on the Linux Kernel on the Linux Foundation page:

napi

Perhaps you may find some answers there. It is intended to reduce the number of interrupts, which may help especially on high speed networks.

0 Kudos

436 Views
TomE
Specialist II

Thank you for your reply.

I know all about NAPI and how it works, having had to REMOVE it from the mainstream FlexCAN drivers to stop them from dropping messages all the time.

I have just been trying to get the Freescale FlexCAN driver working, and have had serious problems with it. It can't send or receive in order, can't handle the FIFO properly, and the transmit path had queuing bugs and basic beginner interrupt hazard problems. It doesn't seem to have ever had any testing done on it:

https://community.freescale.com/message/597480#597480

https://community.freescale.com/thread/381075

Since the NAPI addition was made by Freescale in patch "ENGR00160472-01", I was asking if anyone had tested these changes in a real product and found that it has worked OK. After my experience with the FlexCAN driver I don't want to enable any "new" features without some proof of testing.

Since the default is for this to be disabled, that's probably how it has been tested in the majority of customer products. I think I'll leave it like that in mine too.

Tom