日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

Linus親自改進(jìn)Linux用戶模式堆棧擴(kuò)展

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

掃碼添加小助手

加入工程師交流群

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

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

他在合并報(bào)告中解釋稱:

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

實(shí)際上這是我們?cè)诩夹g(shù)上應(yīng)該做到的事情,但是因?yàn)槲覀儾⒉粐?yán)格地需要它,所以我們有點(diǎn)偷懶(“機(jī)會(huì)主義” 聽(tīng)起來(lái)好多了,不是嗎?)。并且在我們需要的地方設(shè)置了這個(gè) hack,會(huì)在不進(jìn)行適當(dāng)鎖定的情況下就地?cái)U(kuò)展堆棧 vma。

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

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

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

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

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

    關(guān)注

    88

    文章

    11825

    瀏覽量

    219618
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4977

    瀏覽量

    74425

原文標(biāo)題:Linus親自改進(jìn)Linux用戶模式堆棧擴(kuò)展

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    低成本CAN擴(kuò)展方案怎么選?CSM331A四種模式一次說(shuō)清

    MCU需要CAN功能但預(yù)算有限?CSM331A協(xié)議轉(zhuǎn)換芯片用SPI/UART就能擴(kuò)展,四種模式從快到穩(wěn)任你選。ZLG致遠(yuǎn)電子推出的CSM331A協(xié)議轉(zhuǎn)換芯片,配合一個(gè)CAN收發(fā)器,就能通過(guò)SPI
    的頭像 發(fā)表于 02-09 11:50 ?459次閱讀
    低成本CAN<b class='flag-5'>擴(kuò)展</b>方案怎么選?CSM331A四種<b class='flag-5'>模式</b>一次說(shuō)清

    在學(xué)單片機(jī)時(shí)在堆棧遇到的問(wèn)題分享

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

    堆棧的原理揭秘

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

    MD500-EM1 通信擴(kuò)展用戶手冊(cè)

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

    單片機(jī)堆棧解析

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

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

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

    堆棧指針SP介紹

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

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

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

    空閑線程堆棧出現(xiàn)內(nèi)存溢出的問(wèn)題,怎么解決?

    rtthread版本: 5.1.0 硬件: stm32f407vgt6 具體我也不知道什么原因引起的, 目前將堆棧調(diào)到1024后能為穩(wěn)定運(yùn)行 更新 設(shè)置1024堆棧, 運(yùn)行久了也不行 我有什么操作會(huì)影響到空閑線程?
    發(fā)表于 10-11 10:36

    Linux企業(yè)網(wǎng)絡(luò)安全防護(hù)體系建設(shè)

    構(gòu)建完整的Linux安全防護(hù)體系不是簡(jiǎn)單的工具堆砌,而是需要從架構(gòu)設(shè)計(jì)、監(jiān)控告警、應(yīng)急響應(yīng)到持續(xù)改進(jìn)的完整閉環(huán)。本文將分享我在大型企業(yè)環(huán)境中的實(shí)戰(zhàn)經(jīng)驗(yàn)。
    的頭像 發(fā)表于 08-27 14:39 ?950次閱讀

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

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

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    較高,需要較大的內(nèi)存和存儲(chǔ)空間來(lái)運(yùn)行Linux系統(tǒng)和應(yīng)用程序。 5. 可擴(kuò)展性 : 單片機(jī)嵌入式 :擴(kuò)展性有限,通常只能通過(guò)增加外設(shè)來(lái)擴(kuò)展功能。
    發(fā)表于 06-20 09:46

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

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

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

    我已在 Linux 上成功配置了 CY7C65211 器件,使其在 USB 轉(zhuǎn) SPI 模式下運(yùn)行。 使用 lsusb 命令,設(shè)備顯示如下:總線 003 設(shè)備 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 ?853次閱讀
    七台河市| 平南县| 故城县| 咸阳市| 蕲春县| 广河县| 永善县| 武威市| 嘉荫县| 云南省| 福泉市| 张家口市| 普格县| 康定县| 大竹县| 英山县| 泾源县| 防城港市| 永春县| 麻城市| 克山县| 横山县| 子洲县| 扶风县| 吴旗县| 庆安县| 侯马市| 务川| 南涧| 河曲县| 疏附县| 大渡口区| 华池县| 高唐县| 涟源市| 钟山县| 邢台县| 桐城市| 兴安盟| 漳浦县| 潼南县|