linux rcu stall 分析
linux4.9 aarch32
被rcu 折腾过几次后决心查明rcu原理和发生cpu stall warning怎么分析问题,这篇文章的由来是遇到了一个类似如下的kernel cpu stall warning
先查这段warning的信息出自,信息的意义,一般情况下rcu的stall warning 一旦出现就不会是一次,个人经验会不停的打印,stall warning 后系统force
INFO: rcu_preempt self-detected stall on CPUINFO: rcu_preempt self-detected stall on CPU { 2} (t=2100 jiffies g=18446744073709551438 c=18446744073709551437 q=154)
CPU: 2 PID: 188 Comm: udevd Not tainted 3.10.19 #1
Stack : c0000000f1d5f2d0 ffffffffc1bfdf30 c0000000f1d5f2e0 ffffffffc10a961c
ffffffffc1c00000 0000000000000004 c0000000f1d5f300 ffffffffc107537c
ffffffffc1f80000 0000000000000000 c0000000f1d5f320 ffffffffc1c00000
c0000000f1d5f330 ffffffffc1076234 0000000000000000 0000000000000000
0000000000000000 ffffffffc1f60000 ffffffffc1f61248 ffffffffc1f60000
ffffffffc1a753f8 ffffffffc1bed2b7 ffffffffc1f61248 c0000000fb62ae30
00000000000000bc 0000000000000002 ffffffffc1be0000 c0000000f0400c20
c0000000f1d5f3b0 c0000000f1d5f2c0 c0000000f1d5f3d8 ffffffffc1118550
c0000000f1d5f410 ffffffffc1077cd8 c0000000fb62aaa0 ffffffffc1a753f8
0000000000000002 ffffffffc1048eb8 0000000000000000 0000000000000000
...
Call Trace:
[<ffffffffc1048eb8>] show_stack+0xd8/0xf8
[<ffffffffc1118550>] rcu_check_callbacks+0x3a8/0x9d8
[<ffffffffc1088a00>] update_process_times+0x60/0xa8
[<ffffffffc10d638c>] tick_sched_handle.isra.14+0x54/0x70
[<ffffffffc10d63fc>] tick_sched_timer+0x54/0x90
[<ffffffffc10a6a94>] __run_hrtimer+0xa4/0x298
[<ffffffffc10a7858>] hrtimer_interrupt+0x148/0x2e0
[<ffffffffc104d2b8>] c0_compare_interrupt+0x98/0xe8
[<ffffffffc110d61c>] handle_irq_event_percpu+0x84/0x368
[<ffffffffc11123f0>] handle_percpu_irq+0xa0/0xe8
[<ffffffffc110c9ec>] generic_handle_irq+0x4c/0x80
[<ffffffffc1947a6c>] do_IRQ+0x2c/0x40
[<ffffffffc10346b8>] plat_irq_dispatch+0x390/0x418
[<ffffffffc1042580>] ret_from_irq+0x0/0x4
[<ffffffffc14d95c4>] ebitmap_get_bit+0xc4/0xe0
[<ffffffffc14e9e34>] mls_level_isvalid+0x15c/0x1d8
[<ffffffffc14e9ee0>] mls_range_isvalid+0x30/0x98
[<ffffffffc14e9fa8>] mls_context_isvalid+0x60/0x120
[<ffffffffc14e0608>] policydb_context_isvalid+0xf8/0x120
[<ffffffffc14e4df0>] security_compute_sid.part.11+0x3f8/0x538
[<ffffffffc14cefa8>] selinux_inode_init_security+0xd8/0x340
[<ffffffffc14c6b5c>] security_inode_init_security+0x124/0x158
[<ffffffffc1172e7c>] shmem_mknod+0x64/0x168
[<ffffffffc11cb0b0>] vfs_create+0x140/0x170
[<ffffffffc11cd678>] do_last.isra.40+0x938/0xdd0
[<ffffffffc11cdbcc>] path_openat.isra.41+0xbc/0x4f0
[<ffffffffc11cf09c>] do_filp_open+0x4c/0xc0
[<ffffffffc11ba620>] do_sys_open+0x130/0x220
[<ffffffffc104fd64>] handle_sys64+0x44/0x68
Tree rcu原理:rcu的引入是为了尽力优化读写锁,不仅读者与读者之前没有开销,读者与写者也没有开销,写着与写着的开销不可避免
quiescent state:
gracer period:
rcu-sched
rcu-bh
rcu-preempt
rcu 的使用方法
linux rcu stall 分析相关推荐
- Linux: rcu stall
文章目录 RCU stall 实例 RCU简介 类型 CONFIG_TREE_RCU 引入 tiny rcu rcu_read_lock 函数 相关的配置:sysctl_panic_on_rcu_st ...
- openVswitch(OVS)源代码之linux RCU锁机制分析
前言 本来想继续顺着数据包的处理流程分析upcall调用的,但是发现在分析upcall调用时必须先了解linux中内核和用户空间通信接口Netlink机制,所以就一直耽搁了对upcall的分析.如果对 ...
- Linux RCU机制详解[转]
一:前言 RCU机制出现的比较早,只是在linux kernel中一直到2.5版本的时候才被采用.关于RCU机制,这里就不做过多的介绍了,网上有很多有关RCU介绍和使用的文档.请自行查阅.本文主要是从 ...
- Linux cgroup机制分析之cpuset subsystem
------------------------------------------ 本文系本站原创,欢迎转载! 转载请注明出处:http://ericxiao.cublog.cn/ -------- ...
- linux内核链表分析
一.常用的链表和内核链表的区别 1.1 常规链表结构 通常链表数据结构至少应包含两个域:数据域和指针域,数据域用于存储数据,指针域用于建立与下一个节点的联系.按照指针域的组织以及各个节 ...
- linux rcu机制,Linux RCU机制详解 (透彻)
一:前言 RCU机制出现的比较早,只是在linux kernel中一直到2.5版本的时候才被采用.关于RCU机制,这里就不做过多的介绍了,网上有很多有关RCU介绍和使用的文档.请自行查阅.本文主要是从 ...
- Linux虚拟化KVM-Qemu分析(五)之内存虚拟化
<Linux虚拟化KVM-Qemu分析(一)> <Linux虚拟化KVM-Qemu分析(二)之ARMv8虚拟化> <Linux虚拟化KVM-Qemu分析(三)之KVM源码 ...
- linux 内存查看 kvm,Linux虚拟化KVM-Qemu分析(五)之内存虚拟化
原标题:Linux虚拟化KVM-Qemu分析(五)之内存虚拟化 背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousa ...
- Linux SVA特性分析
Linux SVA特性分析 -v0.1 2019.9.15 Sherlock init -v0.2 2019.9.18 Sherlock update数据结构和动态分析 -v0.3 2019.10.1 ...
最新文章
- SAP SD 客户信贷管理解析
- 【转】使用Chrome Frame,彻底解决浏览器兼容问题
- 操作系统原理第一章:操作系统概述
- C#与时间有关的一些方法
- CentOS6.4卸载自带的OpenJDK并安装jdk1.6.21
- concurrent(七)ConcurrentHashMap源码分析
- beautifulsoup解析动态页面div未展开_实战|Python轻松实现动态网页爬虫(附详细源码)...
- 虚拟机无法将文件......DVD1.iso作为映像进行连接:找不到该文件
- 计算机应用基础第3次平时作业,计算机应用基础第3次作业.doc
- Android Dialog详解
- 【作业报告】作业5 四则运算 测试与封装 5.1
- 多团队协作开发的大型项目Git工作流设计分享
- 未检测到ca设备或ca驱动异常_安川伺服驱动器SGDV报警原因及处理措施
- 2022 年云计算发展趋势
- 供应链管理最重要的竟然是它
- IDEA设置类文件模板@Auther@Date等注释信息——idea笔记
- 电脑明明有网络,但是就是进不去B站(其他网页可以正常使用)
- 计算机考研自我介绍大概多少字,1分钟自我介绍多少字
- SQL中“||”的作用
- 高中计算机教师具备能力,新时代信息技术教师应具备哪些能力和素养