FreeBSD 浅谈\"watchdog timeout\"出现的原因

最近有比较多的人谈到网卡的”watchdog timeout“问题,究竟是什么原因造成的,大多数人都 把网卡的性能不佳做为问题的根源所在。我认为网卡的性能只是一方面的因素,他还涉及到缓冲的 大小、单位时间内的包的数量、及网卡驱动程序等一系列因素。以下将从源代码的角度来对他进行 分析。 首先,我们看看到底是哪个函数发出了“watchdog timeout”字符串,只要你查一下源代码 不难看出,在各网卡的驱动程序里的XX_watchdog(XX是各网卡的名称,如:8139是rl,AMD7990 是pcn,Inter是fxp等等)函数发出的。函数比较简单: static void rl_watchdog(ifp) struct ifnet *if

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus