一个不同驱动程序使用的tasklet

时间:2015-03-20 19:02:57

标签: linux-kernel linux-device-driver tasklet

是否可以在一个模块中定义单个tasklet,并且" export"它供别人使用?我想知道这在理论上是否可行,同步和有序访问tasklet怎么样?或者这样的想法是愚蠢的?

感谢。

1 个答案:

答案 0 :(得分:1)

不确定。没理由你不能这样做。我不明白为什么这样做是个好主意,但没有什么能阻止你。 tasklet框架提供了一些保证,其中之一是tasklet不能一次在多个CPU上运行。所以没有真正的同步问题。

但是,对于tasklet也没有“有序访问”,因为你可以为它排队工作。如果在tasklet已经运行时调用tasklet_schedule,则将再次执行tasklet,但其执行可能会延迟到ksoftirqd线程。

您应该阅读http://www.makelinux.net/ldd3/chp-7-sect-5.shtml

上有关tasklet的LDD3部分