From: Eric Dumazet
> Sent: 12 November 2020 10:42
> 
> On 11/12/20 7:52 AM, Kegl Rohit wrote:
> > On Wed, Nov 11, 2020 at 11:18 PM Fabio Estevam <feste...@gmail.com> wrote:
> >>
> >> On Wed, Nov 11, 2020 at 11:27 AM Kegl Rohit <keglro...@gmail.com> wrote:
> >>>
> >>> Hello!
> >>>
> >>> We are using a imx6q platform.
> >>> The fec interface is used to receive a continuous stream of custom /
> >>> raw ethernet packets. The packet size is fixed ~132 bytes and they get
> >>> sent every 250µs.
> >>>
> >>> While testing I observed spontaneous packet delays from time to time.
> >>> After digging down deeper I think that the fec peripheral does not
> >>> update the rx descriptor status correctly.
> >>
> >> What is the kernel version that you are using?
> >
> > Sadly stuck at 3.10.108.

If you build a newer kernel it should work with your
existing userspace.

> > https://github.com/gregkh/linux/blob/v3.10.108/drivers/net/ethernet/freescale/fec_main.c
> > The rx queue status handling did not change much compared to 5.x. Only
> > the NAPI handling / clearing IRQs was changed more than once.
> > I also backported the newer NAPI handling style / clearing irqs not in
> > the irq handler but in napi_poll() => same issue.
> > The issue is pretty rare => To reproduce i have to reboot the system
> > every 3 min. Sometimes after 1~2min on the first, sometimes on the
> > ~10th reboot it will happen.
> >
> 
> Is seems some rmb() & wmb() are missing.

They are unlikely to make any difference since the 'bad'
rx status persists between calls to the receive function.

        David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, 
UK
Registration No: 1397386 (Wales)

Reply via email to