We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
背景
调度子模块 的 负载均衡 特性,需要在 调度子模块 初始化时向 软中断向量表 注册一个软中断方法
但是由于 调度子模块 是在 软中断模块 之前初始化的,而现有的逻辑是 软中断向量表 在 软中断模块初始化 的时候才会被初始化,所以如果提前注册软中断方法的话,在获取向量表的时候会触发 unwrap 一个空值的 panic
期望行为 即使 软中断模块还没有初始化(softirq_init() 还没有被执行),也能提前注册软中断方法
建议修改 在 softirq_init() 和 softirq_vectors() 中,都添加对 __SORTIRQ_VECTORS 是否为空值的判断,如果当时为空,则直接进行初始化。
softirq_init(
softirq_vectors()
__SORTIRQ_VECTORS
The text was updated successfully, but these errors were encountered:
依我看,这个可以通过在软中断初始化结束之后再用unified init去注册
Sorry, something went wrong.
在软中断初始化结束之后再用unified init去注册
用 INITIALIZER_LIST 吗?
在软中断初始化结束之后再用unified init去注册 用 INITIALIZER_LIST 吗?
在pid=1的地方会挨个执行初始化器链表里面的函数。
https://code.dragonos.org.cn/xref/DragonOS/kernel/src/init/initcall.rs?r=c566df451ce6dbf2af684333e68b39fdfff86498#14
val213
No branches or pull requests
背景
调度子模块 的 负载均衡 特性,需要在 调度子模块 初始化时向 软中断向量表 注册一个软中断方法
但是由于 调度子模块 是在 软中断模块 之前初始化的,而现有的逻辑是 软中断向量表 在 软中断模块初始化 的时候才会被初始化,所以如果提前注册软中断方法的话,在获取向量表的时候会触发 unwrap 一个空值的 panic
期望行为
即使 软中断模块还没有初始化(softirq_init() 还没有被执行),也能提前注册软中断方法
建议修改
在
softirq_init(
) 和softirq_vectors()
中,都添加对__SORTIRQ_VECTORS
是否为空值的判断,如果当时为空,则直接进行初始化。The text was updated successfully, but these errors were encountered: