PREEMPT RT 实现原理
在使用PREEMPT RT时,源文件可分为两种形式:一个大的patch文件包含所有功能;或一系列分离的patch文件,每个只实现特定的功能,例如https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/[version]/patches***.xz。每个patch文件中都有各自实现功能的简要介绍。
- blk-mq-Don-t-complete-on-a-remote-CPU-in-force-threa.patch 在block mq中,中断线程化模式下,禁用remote CPU处理request。
- crash-add-VMCOREINFO-macro-to-define-offset-in-a-str.patch 为通过typedef 定义的class,实现与VMCOREINFO_OFFSET相同的功能,命名为VMCOREINFO_TYPE_OFFSET。
- locking-rtmux-Remove-cruft.patch 删除rt_mutex的无用成员。
- printk-refactor-kmsg_dump_get_buffer.patch,在printk.c中重构kmsg_dump_get_buffer(), 使之更接近syslog_print_all()的实现。
- Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch(共四个子patch),在mm/page_alloc.c中,在free page时,将IRQ-off section分成两部分,先isolate_pcp_pages(), 再free_pcppages_bulk()。PCP意思是per_cpu_pages。
- stop_machine-Add-function-and-caller-debug-info.patch,在stop-machine crash时,更容易地找到calling code信息。
- time_sched_clock_Use-raw_read_seqcount_latch-during-.patch在time/sched_clock.c中,采用性能更好的raw_read_seqcount_latch()代替raw_read_seqcount()。seqcount和顺序锁有关。
- blk-mq-Always-complete-remote-completions-requests-i.patch在block mq中,用softirq处理request。
- locking-rtmutex-Remove-output-from-deadlock-detector.patch,lockdep是检测死锁更好的方法,删除rtmutex中用于检测死锁的bebug打印信息。
- mm-swap-Do-not-abuse-the-seqcount_t-latching-API.patch 在mm/swap.c中,重构lru-add_drain_all(),避免滥用seqcount_t。
- printk-add-lockless-ringbuffer.patch,kernel/printk/printk_ringbuffer.c中为内核log数据引入multi-reader multi-writer lockless的ring buffer。
- printk-use-buffer-pools-for-sprint-buffers.patch,用per-cpu和global pool的方式实现printk的static buffer。实现printk递归,以及per-cpu没有ready的时候使能printk()。
- sched-Fix-balance_callback.patch,sched_core.c 修复balance_callback()中的若干漏洞。
To be continued.
PREEMPT RT 实现原理相关推荐
- 给ubuntu server 16.04.6打preempt rt补丁
1,$git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack -b ...
- loongarch集成preempt rt后ltpstress死机的问题分析
问题描述 在集成preempt rt到loongarch4.19代码的过程中,使用ltpstress做内核压力测试,ltpstress运行一小时左右后死机,没有重启,鼠标键盘串口等没有任何反应.对比了 ...
- preempt rt对pagefault的处理
在项目中我们发现了实时系统的pagefault开销比非实时要高,所以本文对pagefault做一下分析和对比. 1,pagefault调用栈(以arm64为例,内核版本为4.19.90) el1_da ...
- go和python性能对比_Go和Python Web服务器性能对比
我通常使用Python来构建Web 应用.一年前,在兴趣的驱使下,我开始学习Go. 在此期间,我重写了一些原本由C 开发的CGI 应用,包括运行于 chroot 环境下的同 thttpd 服务器一起的 ...
- OpenShift 4 - 定制 RHCOS Linux的Kernal参数
<OpenShift 4.x Hands-on Lab> 文章目录 关闭节点的SELinux 启动节点的实时kernel 关闭节点的SELinux 虽不建议在生产环境关闭SELinux, ...
- linux删除更新的系统内核,Linux系统如何删除旧内核
Linux系统本身就是一个开源的系统,所以在使用过程中可以进行修改,只有它的内核是不变的,只有在一段时间之内,才可以对Linux内核进行升级.升级了以后就会留下一些旧的无用的内核,中本文就以Ubunt ...
- UnityShader19:渲染纹理(上)之截屏功能实现
一.渲染到 RT 渲染纹理(Render Texture) 就是游戏开发中经常被提到的 RT,渲染到 RT 本质上就是不将渲染的结果直接显示的屏幕上,而是存至一张指定的纹理中 在 Unity 中最简单 ...
- TWR_MPC8309调试日志
版权声明:本文为博主原创文章,未经博主允许不得转载. TWR_MPC8309调试日志 --------By Moresung Chan , At 12:00 ,Sep 16,2012 一.软硬件: P ...
- 荐读 | 英特尔:初探 “边缘控制”
导读:本文从实例引出"边缘控制"--边缘计算在工业自动化领域的融合性应用技术,简单梳理了对相关概念的一般性理解,并给出了"云.边.端"三层参考架构和" ...
- Linux 内核实时补丁 PREEMPT_RT补丁 与 Linux4.1.15 + patch-4.1.15-rt18.patch 补丁,实测实时性差
Linux4.1.15 + patch-4.1.15-rt18.patch 补丁,实测实时性差 开发环境 发行环境 该环境用于发行 Linux: 4.1.15 preempt_rt: patch-4. ...
最新文章
- 使用预训练的卷积神经网络(猫狗图片分类)
- 深度案例 | 微车:数据驱动价值,建立 1.3 亿车主的汽车生活平台
- 爪哇国新游记之三十一----日期时间与字符串间的转化
- [原创] 盟军敢死队2 - 3D模型/动作浏览器
- php获取到的json数据如何处理_php – 如何从API获取JSON数据
- .NET Regular Expressions
- 前端学习(3187):ant-design的button介绍按钮属性
- javascript 中文排序 localeCompare
- c/s三层结构信息系统的三个层次_如何使用ABP框架(2)三层架构与领域驱动设计的对比...
- 用脚本判断用户传参的参数是否有对应的进程在运行并把结果显示给用户
- SVM支持向量机,我用到的自学材料
- python导入模块的方式错误的是,导入模块时的错误处理
- 华南x79主板设置硬盘启动_硬盘无法识别怎么办?最全的解决办法
- 中国大学慕课计算机操作系统答案,计算机操作系统
- J-Flash(SEGGER)、J-link RTT Viewer下载、安装、使用
- 玩~成语接龙c++代码
- python泰坦尼克号案例分析_利用python对泰坦尼克号数据集进行分析
- ​奥运赛事,斩获的不止是金银
- 点餐小程序【源码好优多】
- centos 关于“Error: Failed to download metadata for repo ‘appstream‘” 问题
热门文章
- 听《万古江河》,品中国历史
- 免费好用的流程图软件yed
- lizard的基本使用
- mysql secure file_mysql load data secure-file-priv问题
- Open Aspect Target Sentiment Classification with Natural Language Prompts
- hotmai邮箱服务器在境外吗,服务器Hotmail邮箱pop3服务器设置方法
- Migration——迁移
- 计算机应用研究中的文章见刊后,什么时候能在知网中查询到,论文网络首发后会被收录吗...
- 【一文带你读懂机器学习】线性回归原理
- 【渝粤教育】国家开放大学2018年秋季 1355T高级英语(2) 参考试题