Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有一个函数将从两个不同的平台驱动程序中调用。我想知道linux的平台驱动核心是否有机会同时调用两个不同设备的probe()?如果是,那么从这两个probe() 调用的公共函数应该被设计为可重入的。
官方规定,内核的每一个功能都必须是可重入的。也许您的功能现在不需要重入,但是,谁知道将来会发生什么?
probe函数调用,更具体地说,AFAIK,它们在启动时的总线枚举期间被序列化。但是,有些人可能会尝试将它们并行化以获得更快的启动。
probe
此外,我们还可以想象两个设备同时插入的情况。总线驱动程序可能会probe在第一次尚未完成时第二次调用函数。
我的意见是你的探测功能必须是可重入的。