gpt4 book ai didi

c - 并发用户访问

转载 作者:行者123 更新时间:2023-12-01 12:54:58 24 4
gpt4 key购买 nike

我试图找出在 SMP 系统上删除模块的问题
有什么好的解释吗?

最佳答案

通常遇到的问题是在系统某处存在对正在运行的模块的一些引用。这可以是任何东西,从被持有的锁,某种正在进行的回调 - 另一个使用符号的模块等等等等。

内核中有广泛的引用计数系统,应该用来帮助您确保这永远不会发生。将使用您的模块的事物 - 或模块的各个方面 - 将拥有相关的引用计数。当此计数不为零时,内核将阻止您的表单执行“rmmod”。您可以在“lsmod”输出中看到所有已加载模块的引用计数。

学习它们并明智地使用它们。

这些问题并不是真正特定于“SMP”——而是任何内核模块。例如,如果您的模块是字符驱动程序,并且有人打开了您的设备,那么您不希望您的驱动程序在有人打开文件描述符时卸载 - 或者更糟糕的是 - 在 read() 上有一个进程阻塞等待回复。在很多情况下——像这样——内核本身会为你保存引用。在这种情况下,打开驱动程序的进程将持有驱动程序模块上的 refcnt。

关于c - 并发用户访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4147979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com