- 主题:内核中断有优先级吗?
标准的linux内核不支持中断嵌套,也就不支持中断优先级。内核进入中断,就会把处理器中断disable了。
内核不支持中断嵌套的原因是,理论上无限多的中断嵌套需要相应的中断栈空间无限增加,这样让内核代码变得不够简洁。
【 在 wjhtingerx 的大作中提到: 】
: 我问的是内核软件支不支持,不是问硬件的中断优先级 ...
--
FROM 123.125.90.*
rtlinux,linux的硬实时版本。
【 在 wjhtingerx 的大作中提到: 】
: 清楚了。那有啥补丁提供中断优先级的支持吗? ...
--
FROM 118.199.248.*
也叫Linux的rt patch,不过这个patch比较大,好像有一百多个。
【 在 wjhtingerx 的大作中提到: 】
: 这个不一样,这个相当于另外跑了个系统了 ...
--
FROM 118.199.248.*
你说的是GIC的范畴,所有外设中断以及处理器内部产生的中断都会交给GIC来路由。假设在GIC收到多个中断的情况下, 它可以按照配置的优先级来决定把哪个中断送给cpu来处理。但cpu或者通用处理器的中断线接口只有一个或两个,收到就触发中断异常处理,而linux在这里有个关中断的操作,所以当前这个不结束,后面的永远进不来,和优先级无关了。
上下半部是另外一个概念了,是为了对中断更好的响应,这是最基本的系统实现。
【 在 lambdago 的大作中提到: 】
: 我的记忆是:选择哪个中断处理时是有优先级的,硬件中断大于定时器,大于一般中断;中断top half  ...
--
FROM 118.199.248.*