Skip to content
This repository was archived by the owner on Jan 24, 2019. It is now read-only.

Commit f6a3515

Browse files
author
hack4code
committed
space
1 parent cad0229 commit f6a3515

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

_posts/2013-09-22-bottomhalf.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ categories: ip driver
66
---
77

88

9-
###Bottom Half
9+
### Bottom Half
1010
bottom half是指将系统中断中一些次要的任务延迟处理,主要是因为中断处理大多会关闭当前cpu的中断响应,如果任务耗时的话,会严重影响系统的实时性能。之所以叫bottom half,因为这部分程序多与中断有关,并且多半在中断处理后运行,相当于中断的后续处理部分,区别是这时cpu的中断响应是打开的
1111

1212
早期linux的这种机制称为BH,已经被淘汰。现在内核提供三种与BH相似的机制,分别是:
@@ -19,5 +19,5 @@ bottom half是指将系统中断中一些次要的任务延迟处理,主要是
1919
work queue是与softirq完全不同的机制,通过kernel thread实现,最大的优点是可以阻塞或者睡眠,因为kernel thread可以与普通进程一样调度
2020

2121

22-
###ksoftirqd
22+
### ksoftirqd
2323
softirq的处理任务多的话,可以重复执行。但是这样持续运行的话,其他的进程将无法得到cpu,形成饥饿状态。所以内核提供了专门处理这种情况的kernel thread,即ksoftirqd。ksoftirqd是per cpu的,每个cpu都运行一个ksoftirqd的实例,但是ksoftirqd中运行的任务都是softirq执行一遍后新增加的那部分

0 commit comments

Comments
 (0)