在使用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_pcppage