- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 local_irq_enable,local_irq_disable(),local_irq_save和local_irq_restore函数
local_irq_enable()和local_irq_disable()函数
2024-04-19 16:39:02
1177
原创 preempt_enable和preempt_disable
在执行系统调用陷入内核之后,这些内核代码所使用的栈并不是原先进程用户空间中的栈,而是一个单独内核空间的栈,这个称作进程内核栈。这个宏的定义通常会使用一些特殊的内存屏障或者优化指令,以确保在多线程或者多核环境下读取变量的值是正确的,避免出现意外的优化问题。当进程在内核态运行的时候,栈顶指针总是指向这块申请的内核栈中的某一个区域,内核栈的大小最大也就8K,所以将当前栈顶指针的低12位置零就可以得到内核栈的基址。这是因为,内核栈在申请的时候,总是 8K 对齐的,也就是说地址的低12位肯定为0。
2024-04-19 14:46:43
600
原创 linux内核debug信息打印
1.以通过在启动内核时传递commandline给内核的方法来修改系统默认的打印等级,例如传递“loglevel=8”给内核启动参数
2021-06-30 16:08:38
710
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人