当前位置: 首页 > news >正文

Slab allocator: sheaves and any-context allocations - 2

kmalloc() for any context
适用于任意上下文的 kmalloc()

Alexei Starovoitov then took over to run a joint session with the BPF track on work toward creating a version of kmalloc() (which is part of the slab allocator) that can be called from BPF programs in any context. Some BPF attachment points, including tracepoints, can be invoked from any context, even non-maskable interrupts (NMIs). The system's freedom to satisfy allocation requests can be highly constrained in those contexts, so care must be taken. The BPF subsystem has, for a few years, used a custom allocator to fill this need, but there is a desire to reduce the number of allocators (and object caches) in the kernel. See this article for an overview of his proposed solution.

随后,Alexei Starovoitov 接手主持了一场与 BPF 方向联合的会议,讨论创建一种可在任意上下文中从 BPF 程序调用的 kmalloc() 版本(kmalloc() 是 slab 分配器的一部分)。某些 BPF 挂载点(包括 tracepoints)可能在任何上下文中被调用,甚至是在不可屏蔽中断(NMI)中。在这些上下文里,系统满足内存分配请求的自由度受到极大限制,因此必须格外谨慎。BPF 子系统多年来一直使用一个自定义分配器来满足这一需求,但内核社区希望减少内核中分配器(以及对象缓存)的数量。关于他提出的解决方案概览,可参见相关文章。

Starovoitov began by thanking Babka for the 2024 LSFMM+BPF session on the slab allocator, without which he would not have had the courage to attempt this work. There are, he said, a lot of wrappers around the slab allocator in the kernel; there are different excuses for the existence of each. For BPF, the primary excuse was the need to be able to allocate in any context; performance is also important,

http://www.cnnetsun.cn/news/111412.html

相关文章:

  • AI Agent框架终极部署指南:从零到生产环境的完整路径
  • 前端性能优化终极指南:让文件转换体验如丝般顺滑
  • 3步彻底解决Dokploy中.traefik.me证书失效问题
  • MCP AI-102模型评估指标全曝光:为什么你的F1-score总是偏低?
  • 量子模拟器环境搭建陷阱与解决方案(90%新手都会犯的3个错误)
  • 【仅限专业人士】量子机器学习调试内幕(VSCode高级功能首次公开)
  • Monet色彩系统如何让Seal视频下载器实现完美的主题一致性
  • 超强Visio形状库:告别绘图瓶颈的终极解决方案
  • ITPUB 专访|李志宇:在 AGI 的未来版图中,记忆是最有温度的力量
  • 音频分离黑科技:3步实现智能多说话人识别
  • 如何快速掌握pose-search:人体姿态搜索的完整指南
  • Agent性能提升迫在眉睫?,立即掌握这3种Docker级性能加速黑科技
  • Note-Gen图片上传实战:从本地预览到云端同步的完整指南
  • VSCode调试Azure QDK API时总出错?这7个坑你必须避开
  • MCP续证Agent开发考核标准全曝光(权威解读+内部评分细则)
  • Android应用沙盒革命:VirtualApp如何重塑移动多开体验
  • 精通SynthDoG:实战构建百万级多语言文档数据集的完整指南
  • Docker MCP网关错误处理避坑指南:3年生产环境踩过的坑一次性说清
  • Golin网络安全扫描工具:从零开始的完整实战指南
  • 告别传统免疫:多肽文库筛选如何让CAR-T研发“快人一步”?
  • 终极gsplat.js指南:快速掌握3D高斯点渲染技术
  • PiKVM OS深度定制指南:从零打造专属远程管理平台
  • 学习笔记096——Windows postgreSQL-18.1[压缩包版本]
  • 终极思维助手:Sequential Thinking MCP Server打造结构化思考解决方案
  • 【高并发场景下的Agent服务稳定性保障】:基于Docker的百万级压测实录
  • 认知科学视角下的游戏化编程学习平台教学效果实证研究
  • 5步构建AI永久记忆系统:告别重复对话的智能助手
  • 终极文件预览神器:Peek如何让Windows文件查看体验焕然一新
  • 【Azure CLI量子作业提交日志全解析】:掌握高效调试与监控的5大核心技巧
  • 为什么90%的量子开发者都忽略代码导航配置?一文看懂Q#与Python联动机制