chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

華為開發(fā)者貢獻Linux內核補丁,將核心內核函數速度提升715倍

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 作者:OSC開源社區(qū) ? 2022-12-16 11:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Linux 6.2 近日合并了一個重要補丁,該補丁能夠將一個核心內核函數速度提升 715 倍。

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

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

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

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

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

如果我們像地址一樣按升序對名稱進行排序,則可以使用二分查找。這種算法的時間復雜度是 O (log (n))。

為了不改變 “/proc/kallsyms” 的實現,表 kallsyms_names [] 仍然按照升序與地址一一對應存儲。

添加數組 kallsyms_seqs_of_names [],以排序后的 names 序號為索引,對應的內容為排序后的地址序號。例如:假設 NameX 在數組 kallsyms_seqs_of_names [] 中的索引為 'i',kallsyms_seqs_of_names [i] 的內容為 'k',則 NameX 對應的地址為 kallsyms_addresses [k]。kallsyms_names [] 中的偏移量是 get_symbol_offset (k)。

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

性能測試結果:(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 倍。

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

審核編輯 :李倩

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

    關注

    88

    文章

    11582

    瀏覽量

    217184
  • 函數
    +關注

    關注

    3

    文章

    4402

    瀏覽量

    66548

原文標題:華為開發(fā)者貢獻Linux內核補丁,將核心內核函數速度提升715倍

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RK3506開發(fā)板Xenomai內核RT-Linux實時性系統(tǒng)適配教程與性能實測,實測僅7μs穩(wěn)定延時

    本文基于觸覺智能RK3506核心板/開發(fā)板,介紹Xenomai內核RT-Linux實時性系統(tǒng)適配,并附性能實測。簡介與實測數據Xenomai簡介XEnomai是一個實時子系統(tǒng),可與
    的頭像 發(fā)表于 09-18 14:21 ?687次閱讀
    RK3506<b class='flag-5'>開發(fā)</b>板Xenomai<b class='flag-5'>內核</b>RT-<b class='flag-5'>Linux</b>實時性系統(tǒng)適配教程與性能實測,實測僅7μs穩(wěn)定延時

    Linux內核參數調優(yōu)方案

    在高并發(fā)微服務環(huán)境中,網絡性能往往成為K8s集群的瓶頸。本文深入探討如何通過精細化的Linux內核參數調優(yōu),讓你的K8s節(jié)點網絡性能提升30%以上。
    的頭像 發(fā)表于 08-06 17:50 ?584次閱讀

    國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—Linux-RT應用開發(fā)案例

    PREEMPT機制進行補丁。PREEMPT_RT補丁的關鍵是最小化不可搶占的內核代碼量,同時最小化必須更改的代碼量,以便提供這種附加的可搶占性。PREEMPT_RT補丁利用
    的頭像 發(fā)表于 07-30 10:33 ?439次閱讀
    國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)<b class='flag-5'>開發(fā)</b>板—<b class='flag-5'>Linux</b>-RT應用<b class='flag-5'>開發(fā)</b>案例

    迅為RK3568開發(fā)板OpeHarmony學習開發(fā)手冊1.1-內核移植優(yōu)化

    在上一小節(jié)的內核移植過程中,我們重新創(chuàng)建了內核補丁文件。然而,對于頻繁修改內核源代碼進行開發(fā)的情況來說,每次都制作
    發(fā)表于 07-26 10:37

    華為正式啟動HarmonyOS 6開發(fā)者Beta

    在2025年華為開發(fā)者大會(HDC)上,華為正式啟動HarmonyOS 6開發(fā)者Beta,并全面展示一年多以來與合作伙伴共建鴻蒙生態(tài)的創(chuàng)新成果。
    的頭像 發(fā)表于 06-24 15:42 ?563次閱讀

    如何配置和驗證Linux內核參數

    Linux系統(tǒng)運維和性能優(yōu)化中,內核參數(sysctl)的配置至關重要。合理的參數調整可以顯著提升網絡性能、系統(tǒng)穩(wěn)定性及資源利用率。然而,僅僅修改參數是不夠的,如何驗證這些參數是否生效同樣關鍵。
    的頭像 發(fā)表于 05-29 17:40 ?693次閱讀

    物聯(lián)網工程師為什么要學Linux

    Linux生態(tài)中已集成MQTT、TCP/IP、ZigBee等物聯(lián)網常用協(xié)議棧,開發(fā)者可直接調用或移植,避免從零實現協(xié)議的復雜性。此外,龐大的開源社區(qū)(如Contiki、RT-Thread)提供了豐富
    發(fā)表于 05-26 10:32

    Linux內核編譯失???移動硬盤和虛擬機的那些事兒

    Linux開發(fā)中,編譯內核是一項常見任務,但不少開發(fā)者在移動硬盤或虛擬機環(huán)境下嘗試時會遭遇失敗。本文簡要探討這些問題的成因,并介紹一些虛擬
    的頭像 發(fā)表于 04-11 11:36 ?614次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內核</b>編譯失敗?移動硬盤和虛擬機的那些事兒

    樹莓派4 性能大比拼:標準Linux與實時Linux 4.19內核的延遲測試

    引言本文是對我之前關于RaspberryPi3同一主題的帖子的更新。與之前的帖子一樣,我使用的是隨Raspbian鏡像提供的標準內核,以及應用了RT補丁的相似內核版本。對于實時版,我
    的頭像 發(fā)表于 03-25 09:39 ?592次閱讀
    樹莓派4 性能大比拼:標準<b class='flag-5'>Linux</b>與實時<b class='flag-5'>Linux</b> 4.19<b class='flag-5'>內核</b>的延遲測試

    云端AI開發(fā)者工具的核心功能

    當今,云端AI開發(fā)者工具已成為推動科技創(chuàng)新與行業(yè)升級的重要力量。那么,云端AI開發(fā)者工具有哪些核心功能呢?下面,AI部落小編帶您深入探討。
    的頭像 發(fā)表于 02-28 11:46 ?748次閱讀

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

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

    飛凌嵌入式ElfBoard ELF 1板卡-Linux內核移植之內核簡介

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

    嵌入式工程師都在找的【Linux內核調試技術】建議收藏!

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

    HarmonyOS NEXT應用元服務開發(fā)Intents Kit(意圖框架服務)事件推薦開發(fā)者測試

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

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

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