linux - 如何检查 tasklet_init 调用是否失败?

标签 linux linux-kernel driver kernel kernel-module

有什么方法可以检查初始化tasklet的tasklet_init函数是否失败了?

最佳答案

如果您查看源代码(在 kernel/softirq.c 中),您会看到:

void tasklet_init(struct tasklet_struct *t,
                  void (*func)(unsigned long), unsigned long data)
{
        t->next = NULL;
        t->state = 0;
        atomic_set(&t->count, 0);
        t->func = func;
        t->data = data;
}

该函数所做的只是设置一些结构成员,因此 tasklet_init 不可能失败。

一般来说,如果内核函数返回void,那么您不需要检查它是否成功。当然,Linux 内核的好处在于您始终可以引用源代码并查看是否有任何可能导致故障的方法。

关于linux - 如何检查 tasklet_init 调用是否失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7681607/

相关文章:

ruby-on-rails - rails : running rake task in cron job

c++ - 默认退出函数实现

c - 两次向 Linux 内核双链表添加元素

Java 驱动程序类、Runnable 和 main 方法

android - Genymotion player.exe 已停止,但所有驱动程序都是最新的

linux - 无法从 Linux 内核获取 copy_to_user 工作

linux - 如何按点获取有向图

linux - 递归重命名所有子目录中的 .jpg 文件

linux - tc 过滤器丢弃匹配的数据包

linux - 如何从 Linux 内核模块的 init_module 代码创 build 备节点?