在2.6内核中断处理的下半部中,假设h是指向softirq_action结构体的指针,对softirq处理程序的调用则是: h->action(h); 那么请问给为老大,这里的action应该是一个指向需要执行的softirp处理程序的指针吧?那么这条语句应该就只是一个指针而不是一个函数了啊? softirq_action的定义的: /* * structure representing a single softirq entry */ struct softirq_action { void (*action)(struct softirq_action *); /* f...
by 通用寄存器 - 内核/嵌入技术 - 2006-03-09 17:01:49 阅读(766) 回复(7)
Linux内核的softirq机制 摘要:本文主要从内核实现的角度分析了Linux 2.4.0内核的softirq机制。本文是为那些想要了解Linux I/O子系统的读者和Linux驱动程序开发人员而写的。 关键词:Linux、softirq、软中断、Bottom half、设备驱动程序 申明:这份文档是按照自由软件开放源代码的精神发布的,任何人可以免费获得、使用和重新发布,但是你没有限制别人重新发布你发布内容的权利。发布本文的目的是希望它能对读者有用,但没有任...
我正在看LKD2,里面有这么一句:works queues are the only bottom-half mechanisms that run in process context,但是如果softirq在ksoftirqd中运行的话,不是也是在进程上下文中吗? 请高手指点一下
大家好,标题可能不太恰当,有如下疑问诚问大家,看了一段时间,没有得到很好的答案,欢迎指点。 1. linux是支持SMP的,那多核是不是也能算作是SMP呢?我对SMP的理解是多个独立的CPU放在一块主板上;而多核是多个core(通常也是一个CPU)放在一块集成电路IC中。 2. 多核机器处理网络包时,网络中断下半部softirq会在每个核上执行吗? 既多核会并行地处理数据包吗? 3. 网络下半部softirq包含链路层到传输层的处理吗吗? 如netfilt...
在用Gcc编译我的驱动程序时, GCC提示:找不到softirq, hardirq.h, uaccess.h, 我用find找了一下 ,确实没有, 我用的是RH9.0 是不是我的系统差了什么软件包?
在用Gcc编译我的驱动程序时, GCC提示:找不到softirq, hardirq.h, uaccess.h, 我用find找了一下 ,确实没有, 是不是我的系统差了什么软件包? 我用的是RH9