RE: Kernel 4.6.7-rt13: Intel Ethernet driver igb causes huge latencies in cyclictest

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

 



Hi Sebastian,

> > The code that is causing the long latencies seems to be the function
> > "igb_watchdog_task" within igb_main.c (Line: 4386).
> > This function will be called periodically.
> > When I do a return at the beginning of this function the additional latency is not
> seen.
> > In particular that function calls "igb_has_link" which seems to be one
> > candidate that is causing additional latency.
> > Do you have any clue how this code can be executed properly without
> > causing the additional latencies?
> 
> Nope. The watchdog function is invoked via schedule_work() so it should not be
> blocking anything. There is no preempt disable or anything like that. Could you
> narrow it down further? The igb_has_link() seems also small and simple.
>
OK. I tried to dig deeper into that....
The critical stuff seems to be
igb_has_link() calling hw->mac_ops.check_for_link (which is igb_check_for_link_82575() )
calling igb_check_for_copper_link() calling igb_phy_has_link.

Within igb_phy_has_link() the line with the code
   ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status);
seems to be the candidate that causing the trouble.
And this function pointer points to igb_read_phy_reg_82580().

Does this give you any idea what goes wrong?

Thanks for any hints!

Regards

Mathias



��.n��������+%������w��{.n�����{�����ǫ���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux