手头正好有 ldd2 就翻了一下。其中有使用计数(usage count)似乎和这个有关。

书中讲:为了确定模块是否能够安全卸载,系统为每个模块保留一个使用计数。因为在模块忙时不能卸载,所以系统需要这个信息来确定模块是否忙。

这么来看,那个模块的 Used by 为 0,
就表示目前该模块没有被使用(unused),可以卸载掉。
我以前也是这样认为的,只要那个模块的 Used by 为 0,就表明没有东西在用这个
模块,可以卸除。

现在的问题是:在 sarge 2.6.8-2-686 的内核上,我有一个usb网卡在使用 usbnet 这个模块,但 lsmod 显示 Used by 为 0。奇怪?

还有一个问题,当我用 rmmod usbnet 命令卸载这个模块时,该命令无法正常执 行,持续使用CPU 99%。连kill -9 pid 也不能够将起杀掉。

这是不是内核的一个bug了?




--

肖盛文(Faris Xiao)
Email:[EMAIL PROTECTED]




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

回复