Linus Torvalds 亲自上手,改善用户模式栈扩展代码

123fc94bf63d02af64009cef92c7a0ca.gif

【编者按】Linux 的创始人 Linus Torvalds 最近亲自改进了用户模式栈扩展代码,解决了一个与虚拟内存地址布局相关的问题。

原文链接:https://www.phoronix.com/news/Linux-65-User-Mode-Stack-Expand

未经允许,禁止转载!

作者 | Michael Larabel        译者 | 枫叶聊斋

责编 | 夏萌

出品 | CSDN(ID:CSDNnews)

1a5da374895389d86c7aedbb42d3faa9.jpeg

Linux 的创造者 Linus Torvalds 已不再像之前那样亲自编写大量的核心代码。他如今的主要职责是监督上游的内核开发社区,包括审查代码、管理版本发布,并在邮件列表中参与讨论。然而,有时他也会亲自进行一些底层的内核开发工作,比如他最近就编写了 Linux 6.5 改进用户模式栈扩展的代码。

f6a886dd9615e93cc358f174d908e600.png

这项近 500 行的代码重构的目标是提升用户模式下的栈扩展部分的效率。

他在提交记录中解释道:

本次修改让我们的用户模式栈扩展代码在变更虚拟内存(VM)布局之前,始终进行 mmap_lock 写入。

这实际上是我们一直以来都在做的事情。由于我们并不严格需要它,我们选择了一种更为便捷("投机取巧"听起来是不是更好些?)的方式,即通过一种不需要进行适当锁定的机制来就地扩展栈的虚拟内存地址(vma)。

这种方式在实际工作中表现出色。我们只需根据需要改变 vm_start 或 vm_end,然后配合使用 anon_vma 锁和 mm->page_table_lock 进行临时锁定,就能够顺利进行一切操作。

然而,直到 Ruihan Li 指出,由于现在虚拟内存地址(vma)布局使用了 maple tree 代码,我们不能仅仅改变 vm_start 和 vm_end,否则原有的锁定机制将会被破坏。

解决这个问题虽然有一些困难,但并还不算糟糕。我们有三种不同的栈扩展情况,它们的工作方式略有不同。

感谢 Linus Torvalds 亲自接手这项编程挑战,现在在 Linux 6.5 版本中,这个问题应该已经得到了解决。

更多详细内容可参考提交记录:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9471f1f2f50282b9e8f59198ec6bb738b4ccc009

推荐阅读:

▶仅用 5 小时!中国团队推出「全球首颗」AI 全自动设计 CPU,性能比肩 Intel 486!

▶文心一言App在苹果AppStore上架;首款搭载ChatGPT的自行车问世;QQ Windows全新上架|极客头条

▶马斯克宣布限流后 Twitter 宕机,开发者深挖:它自己把自己搞崩的!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/69399.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零实现教你AI机器人

文章首发于博客 OpenAI 接口实践 OpenAI的接口文档十分详细,包括对话补全,文本补全,代码补全等等信息,也包含了最佳生产实践,最佳安全实践等篇章,通读之后十分受用,推荐大家前往阅读。本文就是在…

2021创新科技项目申报书找谁写,项目申报申请书怎么写

企业在申请创新科技项目的时候,时需要提交相关的项目申报书的,而对于很多企业来说,他们感到头疼的是2021创新科技项目申报书找谁写、怎么写。在这里,就为大家分享关于项目申报书的具体撰写技巧,一起来看看吧。 关于202…

科研项目补贴申报书范例,申请研发补助找谁写

我们在申请科研项目补贴的时候,需要提交相关的项目申报书,而对于很多朋友来说,其最为难的事情可能就在于项目申报书上。这里,为了方便大家解决这一问题,特别为大家分享关于科研项目补贴申报书范例,一起来看…

第二批!四川省科技计划项目任务书和纸质申报书相关流程要求材料

关于第二批批签订、报送2022年四川省科技计划项目任务书和纸质申报书流程时间和申请事项整理如下,小编已经为你们整理了相关的信息,符合条件想申报或者对此有疑问的欢迎致电小编。 一、四川省科技计划项目任务书和纸质申报书填报审核流程 (一…

基于Java科研项目申报管理系统

目前高校的科研项目管理的管理大多还采用Excel软件,word等办公软件进行大量的数据汇总及处理,但由于其操作性和实用性不强,严重制约了高校科研管理工作的规范化和质量化发展,而且也严重影响高校领导及时利用科研信息进行决策的水平…

《计算机工程与应用》11月最新投稿经验分享

我的文章最早四月份投的是《中国图象图形学报》,历经三个月终审被拒,紧接着就投了《计算机工程与应用》,然而很快就被拒稿了,说实话有些打击人。因为秋招找工作的原因,这篇论文就被搁置了,十月份开始大修论…

期刊论文添加基金项目、作者简介

一、点击工具栏中【视图】,选择【草稿】 二、鼠标光标放到作者后(其实第一页哪里都可以),点击【引用】➡【脚注下方的扩展符号】 三、脚注下方的扩展符号点击后弹出【脚注和尾注】对话框,点击【自定义标记】后面【符号…

【竞赛篇-新苗申报书撰写(四千字总结建议)】浙江省新苗人才计划申报书撰写经验分享及格式要求

本文只介绍新苗申报书撰写,更多关于新苗内容可以看我的 相关专栏 个人曾立项过3项新苗,在此将之前写申报书的经验,结合学院里已经立项的其他若干份材料的优点,对新苗申报书撰写进行总结。主要是给没有思路的提示一下每一块的思路&…

如何下载国家自然科学基金申请书的模板

首先,打开国家自然科学基金的登录界面(账号找单位的科研秘书注册索取): 国家自然科学基金网络信息系统人员登录平台https://isisn.nsfc.gov.cn/pmpweb/login 登录后如下图所示: 除了第一行的个人成果,基本…

让小米成为印度第一的“头号功臣”,9 年后宣布离职!

整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 2010 年时,可能谁也不曾想过,彼时在中关村刚刚起步的小米,如今会成为全球知名手机厂商、甚至销量还一度超越苹果跃升全球第二——这一切的背后,离不开许…

火爆的文字游戏你玩了吗?「GitHub 热点速览 v.22.06」

作者:HelloGitHub-小鱼干 不知道你有没有被 Wordle 这款游戏刷屏,在本期热点速览的特推部分选了一个 React 编写的开源版本同你分享,而本次公众号摘要也是一个提示,🤔 只不过这个只能盲猜了。别小瞧 Wordle 这个游戏&a…

登录(实时验证手机格式、验证码)

思路: 动态验证手机号格式:利用计算属性会根据内容的变化而调用的特点,将表单绑定v-model,在计算属性中,利用正则不断检验手机格式,正确返回true验证码:当手机号格式正确时,点击才有效,利用时间制造三元运算符改变验证码的文本内容,且倒计时期间,再次点击无效代码示…

「2021年」国内主流短信验证码平台综合评测

「2021年」国内主流短信验证码平台综合评测 “ 目前市面上主营短信验证码业务的平台有哪几家、手机验证码平台哪个好,它们提供哪些短信验证码服务,短信发送的速度、送达率和稳定性等技术性能如何,短信收费价格多少钱。今天通过评测阿里云、梦…

网页版滑动验证码+短信验证码(史上最全版)

PC版滑动验证的实现 简介 滑动验证是基于人机识别技术开发的智能验证码产品。用户通过简单的右滑交互,无需思考即可通过验证。 资源引入说明 使用PC版滑动验证码,需要引入以下js资源,为保证服务功能最优,官方会定期迭代升级线上…

百度api验证码识别

在爬虫操作中难免会遇到文字验证码识别,处理方法有很多这次要说得是百度api的调用来对文字进行识别。分两步走第一:百度AI开放平台注册并建立自己的项目。第二:写代码。 百度AI平台创建项目 创建自己的账号,登录之后出现页面如下…

2021年11月最新搜狗验证码识别,6位全对正确率高达96%

训练数据准备 标记数据是最花费时间的事情。最开始手工标记验证码1万条,训练后正确率在50%左右。然后写写代码使用这种低正确率的去自动标记。使用搜狗自动验证,来实现自动标记。逐渐积累数据量,后期只需要人工标记错误验证码就行。这样可以大…

ChatGPT风口当下,我把收藏了两年的嵌入式AI资源学习笔记,全分享给大家(附代码/视频/学习规划)...

“ChatGPT可怕的是,它会将世界的命运重新洗牌” 人类已经历3次超级工具的“革命”,每一次都重塑了世界新的格局。 第一个降临的超级工具就是互联网,它用虚拟的聚合,打开了现实的距离,将地球压缩成村落。极大程度的模糊…

MXNet的机器翻译实践《编码器-解码器(seq2seq)和注意力机制》

机器翻译就是将一种语言翻译成另外一种语言,输入和输出的长度都是不定长的,所以这里会主要介绍两种应用,编码器-解码器以及注意力机制。 编码器是用来分析输入序列,解码器用来生成输出序列。其中在训练时,我们会使用一…

chatgpt赋能python:Python内置函数大全——68个内置函数介绍

Python内置函数大全——68个内置函数介绍 Python是一种跨平台、简单易学的脚本语言,在数据科学、Web开发、人工智能等领域有着广泛的应用。Python的内置函数是Python语言的基础,也是开发者在日常开发中经常使用到的工具之一。本篇文章主要介绍Python的6…