0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux内核代码修改将为性能测试获8450%提升

马哥Linux运维 来源:OSC开源社区 作者:OSC开源社区 2022-03-09 14:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Jason Donenfeld 是 WireGuard 的主要开发者,同时他也是 Linux 内核随机数相关代码的维护者,近日在他的领导下,Linux 内核的随机数生成器代码有了巨大幅度的改进。 在之前的 Linux 5.17 中,Jason Donenfeld 就在随机代码用 BLAKE2s 代替了 SHA1,由于 BLAKE2s 自带的特性,前者通常比后者更快更安全。经过测试,通过这个简单的转换就能获得 131% 左右的速度提升。 虽然在 Linux 5.17 中有了速度上的大幅提升,但 Jason Donenfeld 对此并没满足。因此在 Linux 5.18 中他对随机代码作出了更多的改进。

cd964870-9f64-11ec-952b-dac502259ad0.png

通过查看 Linux 的random.git仓库的日志能够看出(上图),开发者 Jason Donenfeld 在最近两天时间里进行了大量的代码提交。这些提交内容都将在 3 月下旬 Linux 5.18 的合并窗口启动时引入内核。

cdb60ee4-9f64-11ec-952b-dac502259ad0.png

在邮件中特别强调到,通过使用正在开发的最新代码,用于获取随机字节的 getrandom() 调用能够获得更好的性能。在配备英特尔 Xeon E5-2697 v2 @ 2.70GHz CPU 和 112G 内存的设备上进行 stress-ng getrandom() 基准测试后,更是获得了 8450% 的性能提升。 此次更改基本上会将之前的全局结构(实际上是 per-numa 节点结构)更改为 per-cpu 结构,这意味着快速路径上的许多锁都会消失。因此,当在具备多核的 CPU 上同时尝试 getrandom() 时,毫无疑问性能会出现提升。只不过没想到在测试中能带来 8450% 的提升。 除此之外,当从 per-numa 更改为 per-cpu 后,也将不再需要被推迟到工作队列上线后才能进行。也正如我之前所说,此次改进将会为高核心数的电脑和服务器带来巨大收益。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内核
    +关注

    关注

    4

    文章

    1479

    浏览量

    43140
  • Linux
    +关注

    关注

    88

    文章

    11854

    浏览量

    219819

原文标题:性能提升8450%,Linux内核函数获大幅改进

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    openKylin受邀参加Linux内核领域顶级技术峰会

    近日,Linux内核领域顶级技术峰会——LSF/MM/BPF 2026在克罗地亚萨格勒布举行。大会聚焦Linux内核存储、文件系统、内存管理以及BPF等关键技术方向,吸引了来自全球开源
    的头像 发表于 05-14 11:08 532次阅读

    深入解析 Onsemi NCV8450/NCV8450A 自保护高侧驱动器

    深入解析 Onsemi NCV8450/NCV8450A 自保护高侧驱动器 在电子设计领域,高侧驱动器是实现负载控制的关键组件。Onsemi 的 NCV8450 和 NCV8450A
    的头像 发表于 05-09 17:20 603次阅读

    如何理解Linux内核中的PCIe驱动

    我们习惯了用 Verilog 去死磕 PCIe 的底层协议状态机。但一旦越过硬件边界来到操作系统层面,Linux 内核是如何接管并驱动这些 PCI/PCIe 设备的呢?由于不同的 CPU 架构实现了
    的头像 发表于 04-11 17:22 1401次阅读

    Linux内核驱动开发的技术核心精要

    嵌入式Linux驱动开发是连接硬件与操作系统的关键环节。随着内核演进(如Linux 6.13)和硬件复杂度提升,开发者需掌握并发控制、中断分层、内存管理、设备树、调试工具等核心知识。本
    发表于 03-10 13:56

    Linux内核编码风格权威总结:从缩进到底层设计,让你的代码更“内核味”

    作为全球最庞大的开源项目之一,Linux 内核代码量早已突破千万行。要让来自世界各地的开发者高效协作,一套统一、严谨的编码风格必不可少 —— 这不仅是 “代码颜值” 的要求,更是可读
    的头像 发表于 02-09 16:29 352次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>编码风格权威总结:从缩进到底层设计,让你的<b class='flag-5'>代码</b>更“<b class='flag-5'>内核</b>味”

    Linux内核bug狩猎指南:从栈跟踪到修复,官方文档教你搞定系统核心故障

    内核Linux 系统的 “心脏”—— 一旦它出 bug,小则功能异常,大则系统崩溃、死机。但内核 bug 往往藏在百万行代码中,想快速定位、修复绝非易事。
    的头像 发表于 02-06 16:59 3403次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>bug狩猎指南:从栈跟踪到修复,官方文档教你搞定系统核心故障

    比斯特综合性能测试提升电池组性能验证效率精度

    深圳比斯特自动化设备有限公司推出的综合性能测试机,凭通过技术创新重新定义了电池性能测试的标准,在保证测试精度的同时,
    的头像 发表于 02-06 16:37 1193次阅读
    比斯特综合<b class='flag-5'>性能</b><b class='flag-5'>测试</b>机<b class='flag-5'>提升</b>电池组<b class='flag-5'>性能</b>验证效率精度

    内核配置项引发网络性能下降的深度剖析

    在嵌入式系统开发中,内核配置对系统性能起着关键作用。近期在对基于 Rockchip 平台的 Linux 内核配置调试时,发现三个内核跟踪器配
    的头像 发表于 02-01 16:48 1883次阅读
    <b class='flag-5'>内核</b>配置项引发网络<b class='flag-5'>性能</b>下降的深度剖析

    Linux系统内核参数调优实战指南

    Linux 内核参数调优是系统性能优化的核心环节。随着云原生架构的普及和硬件性能的飞速提升,默认的内核
    的头像 发表于 01-28 14:27 846次阅读

    深度解析AD8450:电池测试与成型系统的精密模拟前端及控制器

    深度解析AD8450:电池测试与成型系统的精密模拟前端及控制器 引言 在电池测试与成型系统的领域中,精确测量和控制电池的电流与电压至关重要。AD8450作为一款精密模拟前端和控制器,为
    的头像 发表于 01-14 11:00 474次阅读

    基于 DR1M90 的 Linux-RT 内核开发:从编译配置到 GPIO / 按键应用实现(1)

    本手册由创龙科技研发,针对 DR1M90,详述 Linux-RT 实时内核开发:含实时性测试LinuxLinux-RT 对比、CPU
    的头像 发表于 12-02 10:38 1415次阅读
    基于 DR1M90 的 <b class='flag-5'>Linux</b>-RT <b class='flag-5'>内核</b>开发:从编译配置到 GPIO / 按键应用实现(1)

    RK3506开发板Xenomai内核RT-Linux实时性系统适配教程与性能实测,实测仅7μs稳定延时

    本文基于触觉智能RK3506核心板/开发板,介绍Xenomai内核RT-Linux实时性系统适配,并附性能实测。简介与实测数据Xenomai简介XEnomai是一个实时子系统,可与Linux
    的头像 发表于 09-18 14:21 1768次阅读
    RK3506开发板Xenomai<b class='flag-5'>内核</b>RT-<b class='flag-5'>Linux</b>实时性系统适配教程与<b class='flag-5'>性能</b>实测,实测仅7μs稳定延时

    如何在裸机环境中运行KleidiAI微内核

    探索如何在裸机环境中运行 KleidiAI 内核,并通过测试多款 C/C++ 编译器,以确定如何能更高效地生成代码
    的头像 发表于 08-08 15:16 4087次阅读
    如何在裸机环境中运行KleidiAI微<b class='flag-5'>内核</b>

    Linux内核参数调优方案

    在高并发微服务环境中,网络性能往往成为K8s集群的瓶颈。本文将深入探讨如何通过精细化的Linux内核参数调优,让你的K8s节点网络性能提升3
    的头像 发表于 08-06 17:50 1242次阅读

    如何配置和验证Linux内核参数

    Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要。合理的参数调整可以显著提升网络性能、系统稳定性及资源利用率。然而,
    的头像 发表于 05-29 17:40 1488次阅读