内核线程ksoftirqd
来源:互联网 发布:进入阿里云服务器 编辑:程序博客网 时间:2024/05/16 08:36
软中断和微线程的处理都依赖于一组每-处理器内核线程,这些内核线程在当系统中软中断或微线程处理过于频繁时协助软中断和微线程的处理。
一个软中断或微线程可以重新激活自己,从来导致其又重新运行,这样会导致用户程序无法获得处理器,同时,忽略二次激活也是不可接受的。为了满足这两个需求,解决办法是,内核不会立即处理二次激活的软中断或微线程,而是,如果软中断或微线程的数目增长过快,内核将唤醒一些内核线程来协助处理,这些内核线程执行的优先级为最低(nice值为19),以确保它们不会在更重要的任务之前执行。每个处理器都有一个这样的线程,命名为ksoftirqd/n,其中n是处理器的编号。比如,对于双核处理器,有两个这样的内核线程:ksoftirqd/0,ksoftirqd/1。线程初始化,执行逻辑如下所示:
for (;;) { if (!softirq_pending(cpu)) schedule(); set_current_state(TASK_RUNNING); while (softirq_pending(cpu)) { do_softirq(); if (need_resched()) schedule(); } set_current_state(TASK_INTERRUPTIBLE); }
- ksoftirqd内核线程
- ksoftirqd内核线程
- 内核线程ksoftirqd
- ksoftirqd内核线程
- ksoftirqd内核线程是如何补充实现软中断功能的
- ksoftirqd
- linux kernel2.6中软中断运行线程ksoftirqd的创建
- 内核线程
- 内核线程
- 内核线程
- 内核线程
- 内核线程
- 内核线程
- 内核线程
- 内核线程
- 内核线程
- 内核线程
- 内核线程
- Linux开机自动启动程序
- 设计模式学习笔记——里氏替换原则
- 北大2080、杭电1076关于日期的问题
- 可以解决问题insmod: error inserting 'hello.ko': -1 Invalid module format
- GCC使用
- 内核线程ksoftirqd
- 青帮
- 正则表达式快速入门
- 程序员要掌握的技术
- 2012腾讯春季实习生面试经历(二)
- StringTokenizer的用法及示例
- wpf click on datagrid to open tab
- Python模块学习 ---- struct 数据格式转换
- Debug模式下正常而Release模式下出现异常的一例