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 分析相关推荐

  1. Linux: rcu stall

    文章目录 RCU stall 实例 RCU简介 类型 CONFIG_TREE_RCU 引入 tiny rcu rcu_read_lock 函数 相关的配置:sysctl_panic_on_rcu_st ...

  2. openVswitch(OVS)源代码之linux RCU锁机制分析

    前言 本来想继续顺着数据包的处理流程分析upcall调用的,但是发现在分析upcall调用时必须先了解linux中内核和用户空间通信接口Netlink机制,所以就一直耽搁了对upcall的分析.如果对 ...

  3. Linux RCU机制详解[转]

    一:前言 RCU机制出现的比较早,只是在linux kernel中一直到2.5版本的时候才被采用.关于RCU机制,这里就不做过多的介绍了,网上有很多有关RCU介绍和使用的文档.请自行查阅.本文主要是从 ...

  4. Linux cgroup机制分析之cpuset subsystem

    ------------------------------------------ 本文系本站原创,欢迎转载! 转载请注明出处:http://ericxiao.cublog.cn/ -------- ...

  5. linux内核链表分析

    一.常用的链表和内核链表的区别 1.1  常规链表结构        通常链表数据结构至少应包含两个域:数据域和指针域,数据域用于存储数据,指针域用于建立与下一个节点的联系.按照指针域的组织以及各个节 ...

  6. linux rcu机制,Linux RCU机制详解 (透彻)

    一:前言 RCU机制出现的比较早,只是在linux kernel中一直到2.5版本的时候才被采用.关于RCU机制,这里就不做过多的介绍了,网上有很多有关RCU介绍和使用的文档.请自行查阅.本文主要是从 ...

  7. Linux虚拟化KVM-Qemu分析(五)之内存虚拟化

    <Linux虚拟化KVM-Qemu分析(一)> <Linux虚拟化KVM-Qemu分析(二)之ARMv8虚拟化> <Linux虚拟化KVM-Qemu分析(三)之KVM源码 ...

  8. linux 内存查看 kvm,Linux虚拟化KVM-Qemu分析(五)之内存虚拟化

    原标题:Linux虚拟化KVM-Qemu分析(五)之内存虚拟化 背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousa ...

  9. Linux SVA特性分析

    Linux SVA特性分析 -v0.1 2019.9.15 Sherlock init -v0.2 2019.9.18 Sherlock update数据结构和动态分析 -v0.3 2019.10.1 ...

最新文章

  1. SAP SD 客户信贷管理解析
  2. 【转】使用Chrome Frame,彻底解决浏览器兼容问题
  3. 操作系统原理第一章:操作系统概述
  4. C#与时间有关的一些方法
  5. CentOS6.4卸载自带的OpenJDK并安装jdk1.6.21
  6. concurrent(七)ConcurrentHashMap源码分析
  7. beautifulsoup解析动态页面div未展开_实战|Python轻松实现动态网页爬虫(附详细源码)...
  8. 虚拟机无法将文件......DVD1.iso作为映像进行连接:找不到该文件
  9. 计算机应用基础第3次平时作业,计算机应用基础第3次作业.doc
  10. Android Dialog详解
  11. 【作业报告】作业5 四则运算 测试与封装 5.1
  12. 多团队协作开发的大型项目Git工作流设计分享
  13. 未检测到ca设备或ca驱动异常_安川伺服驱动器SGDV报警原因及处理措施
  14. 2022 年云计算发展趋势
  15. 供应链管理最重要的竟然是它
  16. IDEA设置类文件模板@Auther@Date等注释信息——idea笔记
  17. 电脑明明有网络,但是就是进不去B站(其他网页可以正常使用)
  18. 计算机考研自我介绍大概多少字,1分钟自我介绍多少字
  19. SQL中“||”的作用
  20. 高中计算机教师具备能力,新时代信息技术教师应具备哪些能力和素养

热门文章

  1. 牛客--2019招商银行信用卡中心--员工考勤记录
  2. PHP实现显示图书目录,图书目录怎么做
  3. 不一样的 9 宫格图片展示,仿 Nice 首页图片列表 9 图样式,并实现拖拽效果
  4. 掌握try catch finally的基本用法 1216
  5. HTML图片变(鼠标移上去变另一张)
  6. u深度重装系统详细教程_u深度u盘安装win7系统教程
  7. 华为路由器eNSPAR1220路由器Ethernet口不能添加IP地址
  8. 【首发】系统级彻底屏蔽macOS系统软件更新,删除小红点治愈强迫症
  9. Win关于Android环境变量的配置
  10. mysql 8.x改密码的姿势