<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          LWN:5.15 合并窗口第一部分!

          共 4346字,需瀏覽 9分鐘

           ·

          2021-09-17 02:51

          關注了就能看到更多這么棒的文章哦~

          5.15 Merge window, part 1

          By Jonathan Corbet
          September 2, 2021
          DeepL assisted translation
          https://lwn.net/Articles/867821/

          撰寫文本之時,已經(jīng)有 3,440 個 non-merge changeset 合入了 mainline 倉庫,這些是正在進行的 5.15 開發(fā)周期一部分。僅僅只有 3,440 個 patch,看起來開頭的進展比較慢,不過已經(jīng)包含了很多重要的新功能。請繼續(xù)閱讀來看看 5.15 合并周期前半部分情況如何。

          Architecture-specific

          • s390 架構支持了 KFENCE 和 KASAN KCSAN 開發(fā)工具。

          Core kernel

          • 終于可以將整個 control group 加入 SCHED_IDLE 這個 scheduling class 之中了。之前只能逐個 task 來進行設置。這樣設置之后,整個 cgroup 中的進程都只在 CPU 沒有其他工作要做的時候才會得以執(zhí)行了,不過其中的各個 task 還是會有相對權重可以調整。

          • 經(jīng)過了 17 年這么長的開發(fā)之后,realtime reemption locking (實時搶占鎖)代碼終于被合入了。這個工作 開始于 2004 年,已經(jīng)對 kernel 中的核心代碼進行了許多顯著改動。在這個最新功能合入之后,用來實現(xiàn)確定時間的實時響應的 sleepable lock 也終于加入了內核(盡管只有在 kernel 是打開了 REALTIME config 選項的時候)。這個 merge log 中描述了這個改動帶來的主要影響。

          • io_uring 子系統(tǒng)現(xiàn)在可以 支持 直接指定用固定的 file table 位置來打開文件,而不需要使用文件描述符了。這樣可以對某些場景的性能帶來顯著提高,并且這也是對 Unix 傳統(tǒng)的使用文件描述符來打開文件的方式的一次重大改變。

          • io_uring 中還新增了一個新的 "BIO recycling" 機制,可以用來避免一些內部 memory 管理方面的額外開銷。據(jù)稱能讓 io_uring 的每秒持續(xù) I/O 操作性能表現(xiàn)提升 10%。

          • io_uring 終于支持了 mkdirat()symlinkat(), 以及 linkat() 這幾個系統(tǒng)調用。

          • BPF program 現(xiàn)在可以支持對 timer event 的 request 和 respond 了。timer API 文檔很少,相關的信息可以參考 this commit 以及 this one,此外還有一個 test program 中帶有一個例子。

          • Core scheduler 對 scheduling on asymmetric systems 的支持已經(jīng)合入了。還有一部分代碼是能讓 Arm 處理器可以利用這個功能的,可能會在 merge window 的后續(xù)日子里得到合入。

          Filesystems and block I/O

          • fanotify API 新增了一個選項, FAN_REPORT_PIDFD, 用來在 event metadata 里面返回一個 pidfd。這個功能(需要特權才能執(zhí)行)可以在避免競爭的情況下確認是否有進程訪問到了所監(jiān)控的文件。

          • 關于 hole-punching 的一些fix 應該可以避免一類可能會導致文件損壞的微妙 race condition。

          • mandatory file locking 功能已經(jīng)多年處于 deprecated(即將廢棄的狀態(tài)了)。它功能有問題,并且很少有人用(如果說真的還有人在用的話)。在 5.15 中徹底移除了對 mandatory locking 的支持。

          • LightNVM subsystem 提供了對固態(tài)存儲設備(SSD 之類)的直接訪問,不再需要一個 emulation layer,不過這個功能也被移除了。根據(jù) 相關的 commit message, LightNVM 很早以前就被那些更加新的 NVMe 標準取代了,不再有需要。

          • kernel 終于有了一個內核內部的支持 SMB 文件系統(tǒng)這組協(xié)議的 server。相關的 merge message 中提到:

            ksmbd 是一個實現(xiàn)了 SMB3 協(xié)議 server 端功能的 kernel module。目標是希望能提供更好的性能,并且是 GPLv2 的 SMB server,還希望有更好的租約處理(分布式 caching)。更長遠的目標是希望能更快地增添新功能(比如增加 RDMA 也就是 "smbdirect",以及新出現(xiàn)的對此協(xié)議加密和簽名功能的改進),也就是希望在這個更小、更優(yōu)化的 kernel server 里面比起使用 Samba 來說能更加容易地進行開發(fā)。

            Samba 項目涵蓋的功能還是更加多(包括工具,安全服務,LDAP,Active Directory Domain Controller,以及跨平臺的文件服務能支持更多場景),不過 Samba 中的用戶空間的 file server 已經(jīng)被證明對于一些 Linux 場景來說很難優(yōu)化,包括運行在小型設備上。

            目標并不是要取代 Samba,而是能對其擴展,從而針對 Linux 可以提供更好的優(yōu)化,同時也計劃在可能的情況下要跟 Samba 用戶空間工具、庫等很好地集成起來。已經(jīng)進行的跟 Samba team 的合作已經(jīng)確保了配置文件以及 xattrs 在 kernel 和 user space server 這兩種方案中使用了兼容的格式。

          • Btrfs 文件系統(tǒng)支持了 fs-verity 文件完整性檢驗功能以及 ID-mapped mounts.

          • move_mount() 系統(tǒng)調用 (在 this article 中有介紹) 得到了擴展,允許對一個現(xiàn)存的 sharing grouph 增加一個 mount。這個相對比較新的少見功能事實上解決了 Checkpoint/Restore in Userspace 開發(fā)者們碰到的許多問題。參見 this commit 來了解更多。

          Hardware support

          • Miscellaneous: Richtek RTQ6752 TFT LCD voltage regulators, Richtek RTQ2134 SubPMIC regulators, Rockchip serial flash controllers, Arm SMCCC random-number generators, and Aquacomputer D5 Next watercooling pumps.

          • Networking: MediaTek Gigabit Ethernet PHYs, MHI WWAN MBIM interfaces, and LiteX Ethernet interfaces.

          • Power supply: ChromeOS EC based peripheral chargers and Mediatek MT6360 chargers.

          • Virtual: Virtio I2C adapters.

          Networking

          Security-related

          • prctl() 新增了一個配置,名為 PR_SPEC_L1D_FLUSH。如果某個進程打開了這個選項,那么 kernel 就會在每次進程從 CPU 調度出去的時候都會進行 L1D (L1 data cache)的 flush 操作。這樣就可以預防一些潛在的 speculative-execution 漏洞竊取 L1D cache 中的數(shù)據(jù),但是會明顯地降低性能。注意,這個功能并不阻止惡意進程運行在同一個 CPU 上的 SMT sibling processor 上,這種情況必須要 core scheduling 這樣的功能來阻止。新增的這個 prctl() 功能可以被管理員禁用掉,參見 this documentation patch 來了解更多。

          • device mapper 利用 kernel 的 integrity measurement architecure 支持了遠程證明(remote attestation)。參見 Documentation/admin-guide/device-mapper/dm-ima.rst 了解詳情。

          如果進度正常的話,5.15 合并窗口期預計會持續(xù)開放到 9 月 12 日。LWN 會在后半部分合并窗口期結束之后馬上來完成總結。看起來本次開發(fā)周期還是會有很多工作等著 pull。

          全文完
          LWN 文章遵循 CC BY-SA 4.0 許可協(xié)議。

          歡迎分享、轉載及基于現(xiàn)有協(xié)議再創(chuàng)作~

          長按下面二維碼關注,關注 LWN 深度文章以及開源社區(qū)的各種新近言論~



          瀏覽 44
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  伊人AV在线观看 | 成人一级电影 | 久久久久亚洲AV无码麻豆 | 人人澡人人摸人人看 | 日噜|