在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

華為開發(fā)者貢獻(xiàn)Linux內(nèi)核補(bǔ)丁,將核心內(nèi)核函數(shù)速度提升715倍

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 作者:OSC開源社區(qū) ? 2022-12-16 11:36 ? 次閱讀

Linux 6.2 近日合并了一個(gè)重要補(bǔ)丁,該補(bǔ)丁能夠?qū)⒁粋€(gè)核心內(nèi)核函數(shù)速度提升 715 倍。

3701515a-7ce2-11ed-8abf-dac502259ad0.png

從合并的注釋可知,貢獻(xiàn)此補(bǔ)丁的維護(hù)者 Zhen Lei 來自華為,他將 kallsyms_lookup_name () 的平均查找性能提高了 715 倍,從而使內(nèi)核里面舊實(shí)現(xiàn)的時(shí)間復(fù)雜度從 O (n) 升級(jí)到 O (log (n)),大幅減少查找時(shí)間,同時(shí)還保留了 /proc/kallsyms 上舊的實(shí)現(xiàn)支持。 kallsyms_lookup_name () 函數(shù)用于根據(jù)名稱查找符號(hào)的地址,并可用于查找內(nèi)核符號(hào)表中的任何符號(hào)。

371909bc-7ce2-11ed-8abf-dac502259ad0.png

Zhen Lei 曾在較早的補(bǔ)丁中描述了kallsyms_lookup_name () 的優(yōu)化思路:

目前,要搜索一個(gè)符號(hào),我們需要將 'kallsyms_names' 中的符號(hào)一個(gè)一個(gè)展開,然后使用展開后的字符串進(jìn)行比較。這種算法的時(shí)間復(fù)雜度是 O (n)。

如果我們像地址一樣按升序?qū)γQ進(jìn)行排序,則可以使用二分查找。這種算法的時(shí)間復(fù)雜度是 O (log (n))。

為了不改變 “/proc/kallsyms” 的實(shí)現(xiàn),表 kallsyms_names [] 仍然按照升序與地址一一對(duì)應(yīng)存儲(chǔ)。

添加數(shù)組 kallsyms_seqs_of_names [],以排序后的 names 序號(hào)為索引,對(duì)應(yīng)的內(nèi)容為排序后的地址序號(hào)。例如:假設(shè) NameX 在數(shù)組 kallsyms_seqs_of_names [] 中的索引為 'i',kallsyms_seqs_of_names [i] 的內(nèi)容為 'k',則 NameX 對(duì)應(yīng)的地址為 kallsyms_addresses [k]。kallsyms_names [] 中的偏移量是 get_symbol_offset (k)。

請(qǐng)注意,使用此方法內(nèi)存使用量將增加 (4 * kallsyms_num_syms) 字節(jié),接下來的兩個(gè)補(bǔ)丁將減少 (1 * kallsyms_num_syms) 字節(jié)并正確處理 CONFIG_LTO_CLANG=y 的情況。

性能測(cè)試結(jié)果:(x86)

Before:

min=234, max=10364402, avg=5206926

min=267, max=11168517, avg=5207587

After:

min=1016, max=90894, avg=7272

min=1014, max=93470, avg=7293

kallsyms_lookup_name () 的平均查找性能提高了 715 倍。

因此,該補(bǔ)丁帶來的唯一缺點(diǎn)是將內(nèi)存占用量增加 3 * kallsyms_num_syms。 Linux 6.2 的模塊代碼還包含一個(gè)小的啟動(dòng)優(yōu)化,將啟動(dòng)時(shí)間縮短了大約 30 毫秒。 相關(guān)鏈接:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3ba2c3ff98ea8bfb219288dbacf2a23a902c751b

審核編輯 :李倩

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

    關(guān)注

    87

    文章

    11357

    瀏覽量

    210833
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4350

    瀏覽量

    63131

原文標(biāo)題:華為開發(fā)者貢獻(xiàn)Linux內(nèi)核補(bǔ)丁,將核心內(nèi)核函數(shù)速度提升715倍

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    《HarmonyOS第一課》煥新升級(jí),賦能開發(fā)者快速掌握鴻蒙應(yīng)用開發(fā)

    ,為職業(yè)發(fā)展增添有力籌碼。 目前,該課程成績(jī)斐然,學(xué)習(xí)人次已超過150萬,頁面訪問量突破440萬,獲4.8分用戶好評(píng),超50萬開發(fā)者通過認(rèn)證考試。 未來,華為持續(xù)豐富課程內(nèi)容,幫助開發(fā)者
    發(fā)表于 01-02 14:24

    飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核簡(jiǎn)介

    所以每個(gè)模塊都有對(duì)應(yīng)的維護(hù)人員。維護(hù)人員的工作就是審核人們提交的代碼是否正確,如果沒有問題,就會(huì)合并到主分支上。這樣就會(huì)使linux內(nèi)核不斷完善和更新。接下來就是芯片原廠例如恩智浦,開發(fā)人員會(huì)不定期在
    發(fā)表于 12-13 09:03

    嵌入式工程師都在找的【Linux內(nèi)核調(diào)試技術(shù)】建議收藏!

    在嵌入式系統(tǒng)的開發(fā)中,Linux內(nèi)核調(diào)試是一個(gè)至關(guān)重要的環(huán)節(jié)。 隨著處理器技術(shù)的不斷進(jìn)步和嵌入式領(lǐng)域的蓬勃發(fā)展,掌握有效的內(nèi)核調(diào)試技術(shù)成為了開發(fā)者
    發(fā)表于 11-28 15:37

    HarmonyOS NEXT應(yīng)用元服務(wù)開發(fā)Intents Kit(意圖框架服務(wù))事件推薦開發(fā)者測(cè)試

    事件共享:開發(fā)者登錄應(yīng)用即可獲取云側(cè)事件捐贈(zèng)的SID,然后觸發(fā)事件推送,事件內(nèi)容同步到華為云。 【舉例】某出行類APP接入意圖框架航班提醒的特性。用戶通過APP購買了機(jī)票,觸發(fā)開發(fā)者
    發(fā)表于 11-18 17:39

    技術(shù)洞見|RISC-V IOMMU 的 Scalable 提案 (GIPC) 及 Linux 技術(shù)路線

    2024年10月26日,第19屆中國Linux內(nèi)核開發(fā)者大會(huì)(以下簡(jiǎn)稱CLK大會(huì))于湖北武漢成功舉辦,線上觀看人次超8萬。來自全國各地的近400名內(nèi)核
    的頭像 發(fā)表于 11-13 01:03 ?683次閱讀
    技術(shù)洞見|RISC-V IOMMU 的 Scalable 提案 (GIPC) 及 <b class='flag-5'>Linux</b> 技術(shù)路線

    deepin社區(qū)亮相第19屆中國Linux內(nèi)核開發(fā)者大會(huì)

    中國 Linux 內(nèi)核開發(fā)者大會(huì),作為中國 Linux 內(nèi)核領(lǐng)域最具影響力的峰會(huì)之一,一直以來都備受矚目。
    的頭像 發(fā)表于 10-29 16:35 ?613次閱讀

    深度解析linux HID核心

    linux內(nèi)核中,HID核心是完成HID功能的關(guān)鍵組件,如果內(nèi)核支持HID,在啟動(dòng)過程中,則會(huì)對(duì)HID進(jìn)行初始化,完成該操作的函數(shù)是hid
    的頭像 發(fā)表于 09-29 17:04 ?759次閱讀
    深度解析<b class='flag-5'>linux</b> HID<b class='flag-5'>核心</b>

    linux驅(qū)動(dòng)程序如何加載進(jìn)內(nèi)核

    Linux系統(tǒng)中,驅(qū)動(dòng)程序是內(nèi)核與硬件設(shè)備之間的橋梁。它們?cè)试S內(nèi)核與硬件設(shè)備進(jìn)行通信,從而實(shí)現(xiàn)對(duì)硬件設(shè)備的控制和管理。 驅(qū)動(dòng)程序的編寫 驅(qū)動(dòng)程序的編寫是Linux驅(qū)動(dòng)
    的頭像 發(fā)表于 08-30 15:02 ?642次閱讀

    Linux內(nèi)核測(cè)試技術(shù)

    Linux 內(nèi)核Linux操作系統(tǒng)的核心部分,負(fù)責(zé)管理硬件資源和提供系統(tǒng)調(diào)用接口。隨著 Linux 內(nèi)
    的頭像 發(fā)表于 08-13 13:42 ?646次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>測(cè)試技術(shù)

    Linux內(nèi)核中的頁面分配機(jī)制

    Linux內(nèi)核中是如何分配出頁面的,如果我們站在CPU的角度去看這個(gè)問題,CPU能分配出來的頁面是以物理頁面為單位的。也就是我們計(jì)算機(jī)中常講的分頁機(jī)制。本文就看下Linux內(nèi)核是如何管
    的頭像 發(fā)表于 08-07 15:51 ?379次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>中的頁面分配機(jī)制

    歡創(chuàng)播報(bào) 華為宣布鴻蒙內(nèi)核已超越Linux內(nèi)核

    1 華為宣布鴻蒙內(nèi)核已超越Linux內(nèi)核 ? 6月21日,在華為開發(fā)者大會(huì)上, HarmonyO
    的頭像 發(fā)表于 06-27 11:30 ?939次閱讀

    使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實(shí)時(shí) Linux 內(nèi)核

    盟通技術(shù)干貨構(gòu)建實(shí)時(shí)Linux內(nèi)核簡(jiǎn)介盟通技術(shù)干貨Motrotech如果需要在Linux中實(shí)現(xiàn)實(shí)時(shí)計(jì)算性能,進(jìn)而有效地Linux轉(zhuǎn)變?yōu)镽T
    的頭像 發(fā)表于 04-12 08:36 ?2931次閱讀
    使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實(shí)時(shí) <b class='flag-5'>Linux</b> <b class='flag-5'>內(nèi)核</b>

    微軟發(fā)布Linux內(nèi)核Rust模塊優(yōu)化補(bǔ)丁

    在此之前,Linux 內(nèi)核中要想實(shí)現(xiàn)模塊初始化,必須先創(chuàng)建一個(gè)實(shí)例,再將其移至特定內(nèi)存空間。然而,經(jīng)過新補(bǔ)丁調(diào)整后,各模塊可直接在預(yù)設(shè)定好的內(nèi)存地址上完成初始化工作。
    的頭像 發(fā)表于 04-02 15:11 ?525次閱讀

    請(qǐng)問如何給STM32MP157上Linux5.4.31打?qū)崟r(shí)內(nèi)核補(bǔ)丁

    我這邊想給STM32MP157芯片A7上面的Linux打?qū)崟r(shí)內(nèi)核補(bǔ)丁,從而運(yùn)行一些對(duì)實(shí)時(shí)性要求較高的應(yīng)用程序。我看到我的Linux內(nèi)核版本是
    發(fā)表于 03-11 06:09

    賽昉科技VisionFive 2生態(tài)進(jìn)展雙周報(bào)(2.1-2.29)

    新的上游內(nèi)核中,有更多針對(duì)JH7110的支持,減少了下游倉庫中相關(guān)驅(qū)動(dòng)補(bǔ)丁的數(shù)量,從而降低了維護(hù)工作量。點(diǎn)擊查看更多詳情 賽昉為感謝廣大開發(fā)者在在過去一年中為RVspace開源社區(qū)做出的杰出
    發(fā)表于 02-29 15:45
    主站蜘蛛池模板: 国产v精品成人免费视频400条 | 欧美激情五月 | 国产视频三区 | 一级aa 毛片高清免费看 | 一级欧美一级日韩 | 最近视频在线播放免费观看 | 色噜噜亚洲精品中文字幕 | 午夜寂寞在线一级观看免费 | 亚洲欧美成人 | 久久天天躁狠狠躁夜夜免费观看 | 天天做夜夜做久久做狠狠 | 国模张文静啪啪私拍337p | 女人张开腿让男人做爽爽 | 狠狠色 综合色区 | 国产香港三级理论在线 | 欧美干色| 九九51精品国产免费看 | 婷婷免费视频 | 欧美极品在线播放 | 天天都色 | 亚洲综合色丁香婷婷六月图片 | 久久久精品午夜免费不卡 | 特级黄色免费片 | 国产色妞妞在线视频免费播放 | 日本美女搞黄 | 久久青青成人亚洲精品 | 国产乱人视频在线看 | 一级毛片aa | 天天干天天色天天射 | 黑人破乌克兰美女处 | 亚洲成人免费看 | 丁香综合网 | 久久香蕉国产线看观看精品yw | 俺去啦最新官网 | 五月天婷婷在线观看视频 | 亚洲 午夜在线一区 | 免费黄色欧美 | 黄页在线播放网址 | 久久国产精品免费观看 | 哟交小u女国产精品视频 | 天天操天天碰 |