- 博客(812)
- 资源 (375)
- 收藏
- 关注
原创 BPF comes to firewalls
Linux内核正迎来第三次网络包过滤机制变革:在iptables和nftables之后,新推出的bpfilter有望成为终极解决方案。该技术通过BPF虚拟机实现高效过滤,支持规则即时编译和硬件卸载,性能优势显著。开发者创新性地采用内核模块封装用户态程序的方式实现规则转换,既保持兼容性又提升安全性。虽然bpfilter尚处早期阶段,但已引发社区热议:支持者认为它能解决现存性能瓶颈,而反对者担心延续iptables的设计缺陷会阻碍架构演进。尽管短期内难以进入主线内核,但凭借核心开发者的推动和BPF生态的扩展,b
2025-12-22 09:03:38
614
原创 The beginning of the 6.19 merge window
Linux 6.19内核合并窗口前半段已合并4,124个非合并提交,涉及多项重要改进:新增AMD智能数据缓存注入和Intel LASS支持;优化TCP传输性能达300%;BPF程序支持间接跳转;FUSE增强大folio缓冲读取;新增listns()系统调用管理命名空间;重构rseq实现提升性能;支持RFC5837改进路由追踪;内核加密库新增SHA-3和BLAKE2b算法。后续还将有8,000+提交等待合并,预计12月14日完成窗口关闭。
2025-12-22 06:24:41
634
原创 Network filtering for control groups
摘要:Linux内核控制组(cgroups)拟扩展网络流量控制功能,引发BPF与netfilter技术路线之争。Daniel Mack提出通过扩展bpf()系统调用实现基于BPF的过滤方案,允许在cgroup层级对进程网络流量进行控制。而netfilter维护者Pablo Neira Ayuso主张采用netfilter规则表方案,认为其更易管理且支持规则组合。双方就技术透明度、性能及灵活性展开讨论,BPF开发者Alexei Starovoitov则建议将netfilter方案作为独立机制考虑。这场争论反映
2025-12-17 13:47:51
711
原创 Slab allocator: sheaves and any-context allocations - 2
内核开发者Alexei Starovoitov提出改进BPF程序内存分配机制,旨在创建可在任意上下文(包括不可屏蔽中断)中调用的kmalloc()版本。目前BPF使用自定义分配器解决特殊上下文的内存分配问题,但存在内存浪费和维护成本高的缺点。新方案通过引入try_alloc_pages()函数,在保持NMI安全性的同时复用slab分配器核心功能,避免重复造轮子。该函数采用条件加锁机制,在无法获取锁时直接失败而非引发死锁。虽然内存管理维护者Andrew Morton对非核心场景的改动持保留态度,但该改进最终被
2025-12-17 13:24:43
875
原创 Slab allocator: sheaves and any-context allocations - 1
2025年Linux内存管理峰会上,slab分配器维护者Vlastimil Babka介绍了新型sheaves缓存机制。该机制为每个CPU维护空闲对象数组,显著降低了对象释放成本,并与RCU系统集成优化kfree_rcu()性能。虽然目前作为可选特性,但讨论聚焦于是否应默认启用,以及如何权衡其带来的NUMA局部性降低问题。初步测试显示该机制能有效缓解锁竞争问题,尤其对多CPU单NUMA节点系统效果显著。未来可能逐步取代现有缓存机制,但也面临完全释放判断等新挑战。
2025-12-17 13:21:24
578
原创 Checked-size array parameters in C
本文讨论了C语言中一个冷门特性如何帮助提升数组参数的安全性。在加密函数xchacha20poly1305_encrypt()中,开发者发现编译器不会检查数组参数的大小,可能导致安全隐患。两种解决方案被提出:使用指针指向固定大小数组,或在数组参数声明中添加static关键字。后者更简洁,无需修改调用方代码,且能触发编译器对数组大小的检查。虽然这个语法设计被认为"很hack",但Linus Torvalds并不反对使用它。事实上内核中已有部分代码采用了这种写法。这表明即使经过多年发展,C语言
2025-12-17 13:11:11
730
原创 Some 6.18 development statistics
Linux 6.18内核发布总结 Linus Torvalds于11月30日正式发布Linux 6.18内核,标志着2025年最后一个完整开发周期结束。该版本包含13,710个提交,来自创纪录的2,134名开发者,其中333人是首次贡献者。声音子系统维护者Takashi Iwai成为最活跃开发者,贡献了205个变更集。 在雇主方面,Intel、Google和Red Hat继续保持领先地位,共支持了约30%的代码变更。值得注意的是,Alice Ryhl经过多年努力贡献了Rust binder驱动。 作为年度最
2025-12-14 15:19:03
580
原创 BPF and io_uring, two different ways
摘要:内核社区正讨论两种为io_uring添加BPF支持的不同方案。Ming Lei提出IORING_OP_BPF操作类型,允许在io_uring操作链中插入BPF程序;而Pavel Begunkov则建议在完成环增加回调钩子,将处理逻辑移入内核。前者保持用户空间主导,后者追求更高性能但增加内核复杂性。两种方案都引入新kfunc支持缓冲区操作,主要面向ublk等高性能I/O场景。目前开发者各持己见,社区可能面临选择整合方案或维持现状的决策。(149字) 核心要点: 两种技术路线对比:新增操作类型 vs 完成
2025-12-14 15:06:17
875
原创 Hot-page migration and specific-purpose NUMA nodes
摘要:Linux内核正针对NUMA节点内存管理进行两项重要改进。Bharata Rao的补丁集通过中央注册表跟踪页面访问频率,实现热点页面从慢速到快速内存的动态迁移,引入pghot_record_access()接口记录访问信息,并新增内核线程执行热点扫描和提升。Gregory Price则提出"特定用途内存节点"概念,通过标记节点类型限制特殊内存(如压缩内存)的使用范围,需显式分配请求才能访问。两项改进均处于开发阶段,前者需优化性能指标,后者尚缺完整功能实现,相关讨论将在Linux P
2025-12-05 12:13:33
817
原创 A struct sockaddr sequel
Linux内核网络子系统面临的安全挑战源于40年前定义的sockaddr结构体。KSPP项目十年来致力于改进数组边界检查,但sockaddr的变长使用方式(未声明为可变数组却实际充当可变数组)成为主要障碍。Kees Cook提出的解决方案是引入新的sockaddr_unsized结构体专门用于内部接口,同时保留经典定义。虽然这一改进消除了编译器警告,但内存安全问题仍需进一步解决,未来可能通过添加长度字段实现自动边界检查。尽管Rust能减少新代码的安全隐患,但现存大量C代码仍需持续优化,内核安全改进任重道远。
2025-12-05 12:09:40
597
原创 Early packet drop — and more — with BPF
BPF机制推动Linux高性能网络革新 BPF自2014年重构后已渗透到多个内核子系统,其内核虚拟机特性允许不编写内核代码即可实现任意策略。最新补丁集展示了BPF在网络驱动中的潜力,旨在数据包到达时立即执行早期丢弃决策,避免不必要的协议处理开销。该机制引入新的BPF程序类型BPF_PROG_TYPE_PHYS_DEV,并扩展了net_device_ops接口。 目前实现仍存争议:使用SKB结构传递数据包信息违背了降低开销的初衷,且不利于未来将BPF程序卸载到网卡硬件执行。更宏大的"快速数据路径&q
2025-11-28 11:33:15
487
原创 Attaching eBPF programs to sockets
摘要:Linux 3.19内核将增强eBPF功能,首次支持将验证后的eBPF程序附加到套接字,用于数据包统计收集。程序可通过bpf()系统调用加载,以受限C语言编写后经LLVM编译为eBPF字节码。虽然当前功能有限(仅能访问数据包内容,无法修改数据包),但开发者计划将其扩展到seccomp和tracepoint等更多场景,展现其作为内核通用机制的潜力。(149字)
2025-11-28 11:29:32
560
原创 A proposal for shared memory in BPF programs
Linux内核引入新型共享内存bpf_arena 摘要:Linux内核开发者Alexei Starovoitov近日提交了bpf_arena补丁系列,为BPF程序与用户空间之间提供新型共享内存机制。该特性支持双向通信和作为BPF程序的额外堆使用,特别适合直接实现复杂数据结构的BPF程序。 技术特点: 最大支持4GB空间,按需分配页面而非预先分配 独特的指针处理机制,实现BPF程序与用户空间的无缝访问 通过特殊转换函数处理不同架构的指针表示差异 争议与改进: 审查过程中发现初始版本存在内存空洞问题,已在v2版
2025-11-26 14:47:47
477
原创 The intersection of unstable pages and direct I/O
摘要: 内核长期存在的"稳定页"机制旨在防止用户空间在I/O过程中修改缓冲区导致数据损坏。虽然缓冲I/O已通过延迟修改解决了该问题,但直接I/O仍面临挑战:当应用程序在写入时修改数据,可能导致校验和错误(如Btrfs)或RAID条带损坏。近期补丁(Btrfs/XFS)选择强制回退到缓冲I/O,但引发性能争议。争论焦点在于:修改I/O缓冲区是否属于应用错误?Hellwig认为内核从未禁止此行为,应保持兼容性;而Chinner坚持直接I/O需应用自行确保并发安全。可能的折衷方案包括:针对性回
2025-11-26 14:30:43
907
原创 Magic kernel functions for BPF
BPF程序调用内核函数(kfunc)时,校验器自动传递上下文信息的机制正在优化。当前kfunc通过__prog注解获取bpf_prog_aux结构,但要求调用方显式传NULL。Ihor Solodrai的补丁引入"magic参数"机制,允许校验器隐式传递任意类型参数,使接口更简洁。该方案通过BTF维护两个函数签名(完整版和BPF可见版),并采用__magic后缀标注隐式参数。讨论中建议将"magic"改为"implicit",并通过pahole工具
2025-11-23 23:11:03
197
原创 Toward fast, containerized, user-space filesystems
摘要:Linux开发者Darrick Wong提出了一项重大改进方案,通过182个补丁实现了用户空间高性能文件系统。该方案利用iomap机制,让FUSE服务器在内核中构建I/O映射,避免了内核与用户空间之间的数据复制,使ext4文件系统在用户空间的性能接近内核实现(顺序读写可达2-8GB/s)。虽然当前仍需要特权进程支持,但最终目标是实现非特权挂载,使Linux系统能像微内核那样隔离文件系统漏洞。这项改进若被采纳,将从根本上改变Linux文件系统的管理方式。(149字)
2025-11-23 23:04:37
48
原创 Out-of-memory victim selection with BPF
Linux内核默认允许进程分配超过物理内存的限制,这种策略虽然提高了内存利用率,但在内存耗尽时会触发OOM-killer机制杀死进程。现有机制通过oom_badness()函数计算进程的OOM分数,但选择机制仍不够精准。最新补丁提出通过BPF(Berkeley Packet Filter)编程接口实现更灵活的进程选择策略,允许自定义评估函数动态决定OOM受害者。该方案支持四种决策结果:继续默认评估、中止选择、跳过当前进程或直接选定目标。虽然开发者对具体实现方式仍有分歧,但这一创新为优化内存管理提供了新思路,
2025-11-16 13:14:50
589
原创 Yet another try at the BPF program allocator
BPF内存分配问题及其解决方案:内核开发者为BPF程序管理提出新方法 BPF子系统允许用户空间代码在内核中安全执行,但引发内存管理挑战。BPF程序通常短小、临时且数量多,需存放在可执行但不可写的内存中,这导致内核directmap巨页被拆分,造成性能损耗。刘崧先后提出两种方案:最初的bpf_prog_pack分配器因内存管理子系统问题被迫降级使用4KB页;新方案重新采用2MB巨页,性能提升达0.7%,并引入通用API execmem_alloc/fill/free。该API理论上也适用于模块加载,但由于架构
2025-11-16 12:59:15
815
原创 Namespace reference counting and listns()
内核命名空间机制作为容器技术的关键组件,其API因历史演化存在诸多缺陷。Christian Brauner提出72个补丁的系统性改进方案,主要包含:1. 通过新增__ns_ref_active计数器严格区分内核与用户空间引用,解决文件句柄导致命名空间"复活"的安全隐患;2. 引入listns()系统调用,首次实现高效获取活跃命名空间列表的能力,支持按类型和用户命名空间过滤。该改进将命名空间生命周期管理与可见性控制解耦,预计在6.19版本合并,标志着历时24年的命名空间机制迎来重要重构。
2025-11-14 08:02:49
1351
原创 The long path toward optimizing short reads
内核开发者Kiryl Shutsemau提出优化短读取性能的补丁,旨在解决多进程高频小文件读取场景下的性能瓶颈。该方案通过引入序列计数器和栈缓冲区快速路径,使基准测试提升近3倍,但引发关于栈安全性和原子性保证的争议。Linus Torvalds认为性能收益显著,而Dave Chinner等开发者担忧其可能破坏fallocate()操作的原子性,并增加truncate()等复杂操作的实现难度。尽管存在技术分歧,这项优化揭示了内存管理与文件I/O交互层的深度复杂性,其最终能否被接受仍待进一步讨论。(149字)
2025-11-14 07:57:37
584
原创 A BPF-specific memory allocator
摘要:Linux内核BPF子系统提出新型专用内存分配器,旨在解决BPF程序在多样化执行上下文(包括原子上下文和NMI处理)中内存分配的可靠性问题。该机制采用多级per-CPU缓存设计,包含常规和NMI专用列表,支持11种对象尺寸,通过动态水位线调节(32-64-96)平衡内存可用性与占用。相比传统内存池,新分配器更精细地适应BPF场景需求,但存在内存消耗缺乏全局限制、缺少收缩机制等问题。目前该方案已应用于BPF哈希映射,虽然独立于内存管理子系统,但开发者建议与slab分配器维护者进一步协调优化方案。
2025-11-12 13:59:04
550
原创 The BPF allocator runs into trouble
Linux 5.18内核开发过程中,为BPF程序引入专用内存分配器的尝试遭遇挫折。该分配器旨在通过大页分配减少内存碎片,但因触发了vmalloc()子系统的深层问题而被迫回退。问题根源在于:1)复合页处理不当导致内存映射损坏;2)BPF分配器本身存在未初始化内存的安全隐患。虽然开发者提出了修复方案,但Linus Torvalds认为该功能尚未成熟,可能推迟至5.19版本。这一事件暴露出内核内存管理的复杂性,特别是将底层页结构暴露给全内核带来的风险,也突显了在主流架构上进行广泛测试的重要性。长期来看,减少内核
2025-11-12 13:48:13
921
原创 A memory allocator for BPF code
本文介绍了Linux内核中BPF程序内存分配优化的新方案。由于当前内核以整页(4KB)为单位分配BPF程序空间,导致大量小型程序加载时内存浪费严重。刘松提出的"bpf_prog_pack"专用分配器使用巨大页存储多个BPF程序,通过位图管理64B块的空间分配和回收,显著减少内存碎片。该方案解决了现有slab分配器无法处理可执行代码页的问题,采用双缓冲机制:先编译到临时可写内存,再通过"textpoke"安全复制到最终只读可执行页。经过多轮迭代后,该优化有望在5.18内
2025-11-10 11:12:33
803
原创 Better linked-list traversal in BPF
BPF程序中循环验证难题的新解决方案 BPF程序的安全验证要求确保循环能在有限时间内终止,这给链表遍历等操作带来巨大挑战。虽然近年来通过bpf_loop()等函数改善了简单循环的处理,但链表遍历仍需要极其复杂的代码实现。最新补丁引入了"may_goto"指令和cond_break宏,通过设置最大循环次数(8×1024×1024)作为"断路器",让验证器能放心放行这类循环操作。这个方案虽然仍显笨拙,但相比当前必须使用庞大怪物宏的现状已有显著改善。开发者预计未来可能改用看
2025-11-10 10:39:34
820
原创 Generic iterators for BPF
BPF虚拟机引入迭代机制增强程序表达能力 BPF程序运行环境与传统C语言的差异日益显著,内核开发者为BPF虚拟机设计了一种新的迭代机制。该机制通过定义标准化的迭代器接口(包括构造函数_new()、获取元素_next()和析构函数_destroy()),使BPF程序能安全地遍历各类数据结构。校验器会对迭代过程进行严格检查,确保迭代器被正确初始化和释放,同时强制迭代必须在合理次数内终止。虽然简单计数场景可用现有bpf_loop()实现,但新机制为更复杂的遍历需求(如调度器数据结构)提供了基础支持。这一自描述的设
2025-11-09 06:05:16
793
原创 A different approach to BPF loops
BPF验证器引入的bpf_loop()函数显著改善了循环验证问题。该方案将循环控制逻辑从BPF程序移至内核实现,使验证器能直接确认循环边界,避免了复杂的模拟验证过程。测试显示验证时间从30秒降至0.15秒,大幅提升开发效率。这一设计借鉴了Fortran的思路,通过限制语言自由度来增强可验证性,使开发者能更轻松地编写通过验证的安全程序,解决了BPF长期面临的循环验证难题。
2025-11-09 03:39:33
722
原创 BPF signing LSM hook change rejected
BPF程序签名机制引发内核社区分歧。KPSingh的补丁通过两步验证(先验加载器签名,再由加载器检查主程序哈希)在6.18版本被合并,但Blaise Boscaccy认为该方案审计性不足,提出新补丁要求完整加载流程通过后才会调用LSM钩子,确保安全模块获取完整验证状态。双方争论焦点在于:Singh派认为加载器验证即等效完整签名,且libbpf由内核维护足够可信;Boscaccy派则强调LSM需要获取最终加载状态以支持严格审计。尽管LSM维护者Paul Moore支持后者,但BPF维护者Alexei Star
2025-11-06 12:43:47
766
原创 Safer speculation-free user-space access
摘要:Spectre硬件漏洞在披露8年后仍在不断涌现新变种。内核开发者持续优化防御方案,如引入"掩码用户空间访问"机制降低性能损耗,但该机制自身也带来新挑战。最新6.11内核采用地址掩码技术取代高开销的LFENCE指令,通过位运算自动过滤非法访问。6.19版本将进一步引入scoped_user_*_access宏来简化安全访问模式,用作用域机制替代易出错的显式清理代码。这些改进展示了内核社区在保持C语言优势的同时,通过创新设计降低安全漏洞风险的持续努力。 (149字)
2025-11-06 12:10:50
531
原创 Bounded loops in BPF for the 5.3 kernel
BPF程序近年功能显著增强,但开发者长期面临无法使用循环的限制。Linux 5.3通过Alexei Starovoitov的补丁解决了这个问题,在添加循环支持的同时大幅降低了程序加载时间。校验器通过状态机模型和剪枝机制确保程序安全,经过优化后能处理百万级指令。新方案采用"蛮力验证"方式,通过模拟循环迭代、建立状态父子关系、精确跟踪分支寄存器等创新方法,在保持安全性的前提下实现了循环支持。这些改进使BPF程序开发更便捷,尽管开发者仍需应对校验器的严格检查。
2025-11-06 04:30:54
737
原创 Bounded loops in BPF programs
BPF校验器当前通过禁止所有循环来确保程序安全,但限制了BPF功能的实用性。在2018年Linux Plumbers会议上,John Fastabend提出了验证有界循环的解决方案。其核心是识别循环的归纳变量,验证其单调性和边界值,从而确认循环可终止。由于BPF缺乏显式循环结构,需构建支配树识别循环,但算法复杂度较高。讨论提出了三种改进方案:传统模式匹配、编译器协助优化循环生成,以及最被看好的专用循环指令方案。虽然会议未达成最终共识,但推动了该复杂问题的技术探讨,最终解决方案可能通过实际代码提交形成。这一改
2025-11-06 02:36:05
727
原创 Calling kernel functions from BPF
Linux 5.13内核引入BPF函数调用机制,允许BPF程序直接调用内核函数。该功能最初是为TCP拥塞控制算法而开发,可避免重复实现已有内核函数。BPF验证器会对调用的安全性和参数类型进行检查,但被调用函数不受ABI约束。相比传统BPF辅助函数机制,该方案更简洁但也带来安全隐患,如可能不当暴露内核内部函数。开发者需警惕错误导出函数的风险,但若管理得当,该机制可大幅扩展BPF的功能边界。
2025-11-04 23:42:12
1115
原创 The BPF-programmable network device
Linux 6.7内核引入的netkit虚拟网络设备通过BPF编程实现高效网络转发。传统虚拟设备需要经过两层协议栈处理,而netkit允许加载BPF程序在数据包发送时直接决策:可丢弃、转发或重定向数据包。测试显示,使用netkit的虚拟机可获得与主机相当的TCP传输性能,完全消除了虚拟化网络开销。该特性特别适合容器和虚拟机中的网络密集型应用,通过避免冗余协议栈处理显著提升性能。
2025-11-04 23:36:43
925
原创 BPF for HID drivers
HID设备标准化与BPF创新解决方案 摘要: HID标准虽定义了键盘、鼠标等设备的通用接口,但各厂商的"创造性"实现常导致兼容性问题。传统解决方案需为每个问题设备编写专用驱动并经历冗长的内核审核流程。在2022年Linux Plumbers大会上,Benjamin Tissoires提出利用BPF技术动态修复HID设备问题。该方案允许通过小型BPF程序即时调整设备行为,无需修改内核模块,预计将随Linux 6.1合并。BPF不仅能修复设备兼容性,还可实现HID防火墙、设备功能转换等创新应
2025-11-01 12:22:22
687
原创 IR decoding with BPF
Linux 4.18内核新增了使用BPF进行红外信号解码的功能。红外遥控器采用类似摩尔斯电码的脉冲编码,传统方案需要在内核实现大量解码器或依赖用户态守护进程。BPF方案通过受限C语言编写轻量级解码程序,利用BPF map保存解码状态,最终通过bpf_rc_keydown()生成按键事件。该方案支持同时加载多个解码器,通过ir-keytable工具加载编译后的BPF程序。虽然当前BPF验证器限制了解码器的复杂性,但这一创新为红外解码提供了更高效的内核态解决方案,未来有望通过IRP表示法扩展支持更多协议类型。
2025-11-01 11:56:15
502
原创 DebugFS on Rust
摘要:内核开发者Matthew Maurer在Kangrejos 2025会议上介绍了Rust版DebugFS绑定的实现。DebugFS作为内核的无规则调试接口,允许开发者暴露内部数据用于调试,其特殊性(如文件生命周期长于私有数据、目录需手动清理等)给Rust建模带来挑战。Maurer提出两种API:简单的File API(文件拥有数据)和复杂的Scope API(支持多文件共享数据),并通过"指针走私"技巧(利用Rust函数类型的零大小特性在编译时生成file_operations结构
2025-10-30 12:31:15
975
原创 Large language models for patch review
自由软件社区近期热议大型语言模型(LLM)在Linux内核开发中的新应用方向。不同于此前聚焦代码生成的讨论,内核开发者Chris Mason提出将LLM用于补丁审查,并开源了一套包含上千行专业提示词的系统,可生成符合内核邮件列表风格的审查意见。虽然当前误报率高达50%,但开发者普遍认为这种应用比代码生成更安全可靠。讨论中既肯定了LLM减轻维护者负担的潜力,也对其专有性质可能带来的"供应商锁定"风险提出警示。Linus Torvalds等核心开发者建议应优先优化维护者工作流,待工具成熟后再
2025-10-30 12:27:13
768
原创 A new type of spinlock for the BPF subsystem
摘要:Linux 6.15内核合并窗口引入了由Kumar Kartikeya Dwivedi开发的"弹性队列自旋锁"(resilient queued spinlock),旨在解决BPF子系统中的死锁问题。该锁通过4字节结构(locked/pending/tail)实现动态死锁检测,在保持接近现有自旋锁性能的同时(x86_64稍慢,arm64相当),支持多线程竞争时的队列管理和错误隔离。Dwivedi计划将其逐步替换BPF现有锁机制,并最终允许BPF程序同时持有多锁,同时确保问题程序会被
2025-10-26 13:57:22
1169
原创 The challenge of compiling for verified architectures
摘要:BPF程序必须通过内核验证器才能运行,但验证器对代码施加的严格限制常导致开发者受挫。在2023 GNUTools Cauldron会议上,GCC BPF后端开发者José Marchesi探讨了编译器如何生成可验证代码的挑战。他指出验证问题分为两类:不可验证的源代码结构和优化引入的问题。目前GCC方案仅能编译20%的BPF测试程序。Marchesi提出七种改进方案,包括选择性禁用优化、反向优化机制等,最终建议需综合多种方法。虽然理论上是无解问题,但通过标准化协作可改善开发现状。
2025-10-26 12:59:10
863
原创 Rethinking bpfilter and user-mode helpers
摘要:BPFilter子系统及其"用户模式blobs"架构在2018年并入Linux 4.18内核时曾引发广泛关注,被视为可能取代netfilter的革命性技术。该系统通过将防火墙规则转换为BPF程序执行,理论上能提供更高性能和灵活性。但两年后开发陷入停滞,面临被移除风险。核心争议在于其关键的"用户模式辅助程序"机制——将复杂规则转换工作移至用户空间进程执行以避免内核安全风险——至今未被实际应用。尽管维护者辩称相关BPF功能正在完善,但包括Linus Torvalds
2025-10-24 08:51:41
852
原创 A new API for interrupt-aware spinlocks
Rust内核驱动新突破:冯博群提出可感知中断的自旋锁API 在2025年Kangrejos会议上,冯博群提出了一项针对Rust驱动程序的重要改进——可感知中断的自旋锁API。该方案解决了Rust驱动与中断处理程序间的同步问题,通过追踪禁用中断的嵌套层级数量,不仅优化了Rust驱动开发,还能预防C代码中的潜在错误。 核心创新点包括: 引入嵌套计数机制,消除锁释放顺序导致的死锁风险 兼容现有C代码的同时提供更安全的编程模式 在实现过程中发现了内核中的潜在bug 该提案目前仍在审查中,若通过将成为Rust驱动开发
2025-10-24 08:46:52
996
C语言面试题汇总:涵盖数据结构、算法及编程技巧
2025-08-17
IB Specification Vol 2-Release-2.0-Final-2025-07-31
2025-08-12
IB Specification Vol 2-Release-2.0-Final-2025-07-31 - 3
2025-08-12
IB Specification Vol 2-Release-2.0-Final-2025-07-31 - 4
2025-08-12
IB Specification Vol 2-Release-2.0-Final-2025-07-31 - 2
2025-08-12
IB Specification Vol 2-Release-2.0-Final-2025-07-31 - 1
2025-08-12
【网络通信领域】2025年IBTA NDR VNA合规电缆性能参数汇总:多厂商高速数据传输线缆规格对比分析
2025-08-11
IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 1
2025-07-29
IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 7
2025-07-30
IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 6
2025-07-30
IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 5
2025-07-30
【InfiniBand架构】InfiniBandTM架构规范第1卷:2.0版本发布-通用规范最终版(2025年7月31日)
2025-07-31
网络通信IBTA 2025 NDR VNA合规电缆规格与接口类型汇总:各类厂商产品参数对比分析
2025-07-30
IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 2
2025-07-29
IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 4
2025-07-30
IB Specification Vol 1-Release-2.0-Draft-2025-07-23 - 3
2025-07-30
通信技术Intel CPU在5G基站中的应用与优化:从RAN架构到功耗管理的全面解析
2025-07-20
【人工智能大模型训练】大规模LLM系统并行计算与网络挑战分析:Gaudi系列芯片及IPU解决方案设计了大规模语言模型
2025-07-20
### 【视频处理领域】Intel VPP SDK与SVET 2.0技术概述:加速视频处理应用开发与优化Intel VPP SDK
2025-07-20
### 文章总结:Intel CCID 平台解决方案与产品路线图(2023-2024)
2025-07-20
【光通信网络】IEEE P802.3dj多速率以太网物理层标准:支持200G至1.6T高速数据传输系统设计
2025-11-25
【高速以太网物理层】1.6TbE PCS通道形成与对齐标记插入机制:面向IEEE 802.3dj标准的多通道数据分布及FEC降级监测方案设计
2025-11-25
RFC5415 中文翻译 中文RFC RFC文档 RFC翻译 RFC中文版.pdf
2025-11-25
网络通信RoCE互操作性测试技术规范:800/400/200GbE高速以太网场景验证与性能评估系统设计
2025-11-06
操作系统内核kexec机制下内存持久化技术KHO研究
2025-11-03
本文介绍了Linux内核正在开发的一项重要功能:**kexec handover(KHO)和实时更新协调器(LUO)**,旨在实现系统重启时保留运行状态,特别是针对云环境中需要持续运行的工作负载
2025-11-03
【虚拟化安全】基于pkernfs的跨kexec内存持久化机制:支持设备直通的KVM虚拟机热迁移系统设计
2025-11-03
【云计算内核更新】基于KHO/LUO的内核热升级与FDT状态保持机制:支持虚拟机无感重启与RDMA存储性能优化
2025-11-03
【操作系统更新】基于kexec的内存与设备状态持久化机制研究:支持安全跨内核执行的内存保留方案设计
2025-09-15
IB Specification Vol 1-Release-2.0-Final-2025-07-31 watermarked-Rev8.pdf
2025-09-17
IB Specification Vol 1-Release-2.1-Draft-2025-09-04.pdf
2025-09-11
【系统内存管理】基于kpromoted的热点页迁移机制:CXL远程内存环境下页面热度检测与动态提升系统设计
2025-09-04
NVMe-RDMA-Transport-Specification-1.0a-2021.07.26-Ratified-1
2025-09-03
HyperCard对接方案测试
2025-09-02
【数据中心虚拟化】NVIDIA vGPU在KVM中的架构与性能优化:虚拟GPU技术详解及应用
2025-08-25
PF42-Keysight VNA-Summary-(rev1)-2025-07-16c-CIWG.xlsx
2025-08-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅