91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Linus親自改進Linux用戶模式堆棧擴展

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 2023-07-04 15:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

時至今日,Linus Torvalds 實際上已經(jīng)很少會親自動手寫內(nèi)核代碼;更多的是忙于監(jiān)督上游的內(nèi)核開發(fā)社區(qū)、審查代碼、管理發(fā)布,并在郵件列表中進行討論。不過近日,他就為 Linux 6.5 進行了將近 500 行的 code rework ,以改進用戶模式的堆棧擴展代碼。

4a990f7e-198f-11ee-962d-dac502259ad0.png

他在合并報告中解釋稱:

這修改了我們的用戶模式堆棧擴展代碼,使其在修改 VM 布局之前始終獲取 mmap_lock 進行寫入。

實際上這是我們在技術上應該做到的事情,但是因為我們并不嚴格地需要它,所以我們有點偷懶(“機會主義” 聽起來好多了,不是嗎?)。并且在我們需要的地方設置了這個 hack,會在不進行適當鎖定的情況下就地擴展堆棧 vma。

而且效果很好。我們只需要改變 vm_start(或者,在 grow-up stacks 的情況下,vm_end),再加上一些使用 anon_vma 鎖和 mm》page_table_lock 的特殊的臨時鎖,這一切都相當簡單明了。

也就是說這一切都很好,直到 Ruihan Li 指出,現(xiàn)在 vma 布局使用 maple tree code,我們真的不只是改變 vm_start 和 vm_end 了,而且 locking 真的被打破了。

一勞永逸地解決這個問題并做適當?shù)?locking 其實并不可怕,但有點痛苦。我們基本上有三種不同的堆棧擴展情況,它們的工作方式都略有不同。

目前,Linux 6.5 中的這個問題應該已經(jīng)得到了解決。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    88

    文章

    11760

    瀏覽量

    219039
  • 代碼
    +關注

    關注

    30

    文章

    4968

    瀏覽量

    73974

原文標題:Linus親自改進Linux用戶模式堆棧擴展

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    在學單片機時在堆棧遇到的問題分享

    編譯器在生成代碼使用兩個堆棧:一個是用于子程序調(diào)用和中斷操作的硬件堆棧,一個是用于以堆棧結(jié)構傳遞的參數(shù)臨時變量和局部變量的軟件堆棧。硬件堆棧
    發(fā)表于 01-23 07:47

    堆棧的原理揭秘

    1. 什么是堆棧?單片機應用中,堆棧是個特殊存儲區(qū),堆棧屬于RAM空間的一部分,堆棧用于函數(shù)調(diào)用、中斷切換時保存和恢復現(xiàn)場數(shù)據(jù)。堆棧中的物體
    發(fā)表于 01-23 07:08

    MD500-EM1 通信擴展用戶手冊

    電子發(fā)燒友網(wǎng)站提供《MD500-EM1 通信擴展用戶手冊.pdf》資料免費下載
    發(fā)表于 01-11 17:16 ?0次下載

    單片機堆棧解析

    什么是單片機堆棧? 在片內(nèi)RAM中,常常要指定一個專門的區(qū)域來存放某些特別的數(shù)據(jù),它遵循順序存取和后進先出(LIFO/FILO)的原則,這個RAM區(qū)叫堆棧。 它的作用 子程序調(diào)用和中斷服務時CPU
    發(fā)表于 12-09 06:52

    堆棧的定義,堆棧的使用方法

    堆棧的定義 堆棧也是用戶使用的存儲器的一部分,用于存放臨時性的數(shù)據(jù)和一些其他信息。堆棧段的定義語法如下: 堆棧名SEGMENTSTACK
    發(fā)表于 11-21 06:49

    堆棧指針SP介紹

    =07H,不用重新賦值也是可以的,否則,為什么當初設計者會這么設計呢。由于51單片機的堆棧是向上增長的,所以,為了避免堆棧區(qū)與用戶數(shù)據(jù)區(qū)互相影響,才將SP設置在60H以后,比較合理的是賦值為6FH,這樣
    發(fā)表于 11-17 06:07

    Linux歷史上10件最有意義的大事,你知道幾件?

    個傳奇。 今天,我們就帶你回顧? Linux 發(fā)展史上最有意義的十件大事 ,看看它如何一步步改變了世界。 一、1991:Linus Torvalds發(fā)布第一版Linux內(nèi)核 1991 年 8 月,芬蘭
    的頭像 發(fā)表于 10-20 11:10 ?383次閱讀

    華為工程師總結(jié)Linux筆記

    1-1 所示 1.2 Linux 操作系統(tǒng)簡介 Linux 操作系統(tǒng)是基于 UNIX 以網(wǎng)絡為核心的設計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡操作系統(tǒng),Linux 能運行各種工具軟件
    發(fā)表于 07-14 15:28

    Analog Devices Inc. EVAL-ESS1-SYS可擴展BMS解決方案套件

    Analog Devices EVAL-ESS1-SYS可擴展BMS解決方案套件包含創(chuàng)建完整BMS解決方案堆棧所需的全部構建塊。隨附的基于PC的圖形用戶界面提供直觀的界面,使用戶能夠配
    的頭像 發(fā)表于 05-23 11:02 ?896次閱讀
    Analog Devices Inc. EVAL-ESS1-SYS可<b class='flag-5'>擴展</b>BMS解決方案套件

    能否提供Linux下USB轉(zhuǎn)SPI模式的測試程序?

    我已在 Linux 上成功配置了 CY7C65211 器件,使其在 USB 轉(zhuǎn) SPI 模式下運行。 使用 lsusb 命令,設備顯示如下:總線 003 設備 002:ID 04b4:0004
    發(fā)表于 05-22 06:16

    Linux系統(tǒng)管理的核心概念

    在前一篇文章中,我們深入探討了Linux中的文件操作命令,如cp、mv、rm,以及文本處理命令grep、wc和管道符。本文將繼續(xù)深入Linux系統(tǒng)管理的核心概念,包括root用戶的角色、用戶
    的頭像 發(fā)表于 05-15 17:05 ?666次閱讀

    Linux主要的性能有哪些?

    ? 什么是Linux? ? Linux是一套自由傳播的類Unix操作系統(tǒng),是一個基于posix和unix的多用戶、多任務、支持多線程和多cpu的操作系統(tǒng)。它的基本思想有兩點,一切都是文件和每個軟件
    的頭像 發(fā)表于 04-30 18:09 ?663次閱讀
    <b class='flag-5'>Linux</b>主要的性能有哪些?

    TechWiz LCD 1D應用:單疇VA顯示模式

    VA模式是液晶顯示器常見的幾種顯示模式之一,其特點是液晶分子垂直配向,這種面板對比度比較好,價格也比較便宜,通常用在電視上,接下來我們就來模擬一下簡單的單疇VA結(jié)構 1. 堆棧結(jié)構 堆棧
    發(fā)表于 04-28 10:06

    Linux系統(tǒng)用戶權限詳解

    Linux 是一種開源的、基于 Unix 的操作系統(tǒng),它因其靈活性、穩(wěn)定性和高性能而廣泛應用于服務器、嵌入式系統(tǒng)、超級計算機、桌面計算等領域。
    的頭像 發(fā)表于 04-25 10:56 ?911次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)<b class='flag-5'>用戶</b>權限詳解

    TechWiz LCD 1D應用:單疇VA顯示模式

    VA模式是液晶顯示器常見的幾種顯示模式之一,其特點是液晶分子垂直配向,這種面板對比度比較好,價格也比較便宜,通常用在電視上,接下來我們就來模擬一下簡單的單疇VA結(jié)構 1. 堆棧結(jié)構 堆棧
    發(fā)表于 03-28 08:57