3

有一个函数将从两个不同的平台驱动程序中调用。我想知道linux的平台驱动核心是否有机会同时调用两个不同设备的probe()?如果是,那么从这两个probe() 调用的公共函数应该被设计为可重入的。

4

1 回答 1

0

官方规定,内核的每一个功能都必须是可重入的。也许您的功能现在不需要重入,但是,谁知道将来会发生什么?

probe函数调用,更具体地说,AFAIK,它们在启动时的总线枚举期间被序列化。但是,有些人可能会尝试将它们并行化以获得更快的启动。

此外,我们还可以想象两个设备同时插入的情况。总线驱动程序可能会probe在第一次尚未完成时第二次调用函数。

我的意见是你的探测功能必须是可重入的。

于 2014-09-09T15:35:31.820 回答