1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        LWN: 5.13 合并窗口第二部分!

        共 3560字,需瀏覽 8分鐘

         ·

        2021-05-23 03:09

        關(guān)注了就能看到更多這么棒的文章哦~

        The second half of the 5.13 merge window

        By Jonathan Corbet
        May 10, 2021
        DeepL assisted translation
        https://lwn.net/Articles/855140/

        在最后一個 pull request 被合入以及發(fā)布 5.13-rc1 時,總共有 14,231 個 non-merge commit 進(jìn)入 mainline。這使得 5.13 的合并窗口比起 5.12 開發(fā)周期(13,015 個提交)的規(guī)模還要大,僅僅比 5.11 的全部 commit 數(shù)量(14,340 個)略少。換句話說,5.13 也算是我們最近一段時間內(nèi)看到的比較繁忙的開發(fā)周期之一了。這些提交中大約有 6400 個是在上次的前半程總結(jié)寫完之后提交的,其中包括一些重要的新功能。

        在 5.13 合并窗口的后半部分中合并的改動包括:

        Architecture-specific

        • arm64 架構(gòu)已將 SPARSEMEM_VMEMMAP 作為唯一支持的內(nèi)存管理模型(memory-management model)。

        • 32 位 PowerPC 系統(tǒng)現(xiàn)在支持 extended BPF 和 KFENCE 調(diào)試功能。

        • PowerPC 系統(tǒng)現(xiàn)在支持 time namespaces。

        • RISC-V 架構(gòu)支持了 kexec、crash dumps(利用 kexec)、execute-in-place,以及 kprobes。

        • s390 系統(tǒng)現(xiàn)在可以在系統(tǒng)調(diào)用的處理程序(system-call handlers)中對堆棧偏移量進(jìn)行隨機化處理。

        Core kernel

        • BPF tracing program 現(xiàn)在可以使用 task-local storage,比起使用 BPF maps 來說有性能優(yōu)勢。

        • BPF program 支持了一種新的機制,可以直接調(diào)用內(nèi)核里的函數(shù)了。這個功能起初的應(yīng)用場景是實現(xiàn) TCP 擁塞控制算法。調(diào)用的函數(shù)需要被明確地列入白名單,BPF 才可以調(diào)用。相關(guān)信息可以在此提交(https://git.kernel.org/linus/e6ac2450d6de )中找到。

        • function tracer(ftrace)新增了一個 func-no-repeats 選項,這樣對一個函數(shù)的多次連續(xù)調(diào)用在輸出信息中就被轉(zhuǎn)換成一個簡單的次數(shù)信息了。

        • 使用 userfaultfd() 在用戶空間進(jìn)行 page-fault 處理,現(xiàn)在可以管理 minor faults 了(指那些存在 valid page 但沒有 valid page-table entry 引起的 fault)。關(guān)于這項功能的信息以及使用方法,請參見此提交(https://git.kernel.org/linus/7677f7fd8be7)。

        • 古老的(同時也是很危險的)/dev/kmem 這個特殊文件,終于被刪除了。它提供了對內(nèi)核地址空間的訪問能力。

        Filesystems and block I/O

        • exFAT 文件系統(tǒng)已經(jīng)獲得了對 FITRIM ioctl() 的支持,用來通知存儲設(shè)備這些 block 不再使用。

        • XFS 文件系統(tǒng)現(xiàn)在可以從文件系統(tǒng)的最后一個 allocation group 中移除空間了,這是為了實現(xiàn) XFS 文件系統(tǒng)的 shrink(縮減)功能邁出的第一步。

        • 新增了一個關(guān)于 quota(配額)的系統(tǒng)調(diào)用:

          int quotactl_path(unsigned int cme, const char *mountpoint, qit_t id,
          void *addr);

          它的行為與 quotactl()相似,但是它的參數(shù)是一個文件系統(tǒng)的 mount 位置的路徑,而不是放置該文件系統(tǒng)的 block device。

        • fanotify 機制中的一些功能一直只有特權(quán)用戶才可以使用,但在 5.13 中移除了其中一些限制。關(guān)于哪些是允許的、哪些是不允許的,請看此提交的描述:https://git.kernel.org/linus/7cea2a3c505e

        • Ext4 文件系統(tǒng)現(xiàn)在會在刪除文件時將目錄項(directory entry)覆蓋掉。Ext4 現(xiàn)在也可以處理那些既使用了大小寫區(qū)分以及加密了。

        Hardware support

        • 人機界面設(shè)備:FTDI FT260 USB HID 到 I2C 主機橋接器,微軟 Surface 系統(tǒng)聚合模塊 HID 傳輸器,Azoteq IQS626A 電容式觸摸控制器,MStar msg2638 觸摸屏,Ilitek I2C 213X/23XX/25XX/Lego 系列觸摸控制器,以及 Hycon hy46xx 觸摸屏。

        • 雜項:Silicon Labs CP2615 USB I2C 適配器,HiSilicon I2C 控制器,Unisoc IOMMUs,Intel Data Accelerators 性能監(jiān)視器,Toshiba Visconti 脈寬調(diào)制器,MediaTek Gen3 PCIe 控制器和 SiFive FU740 PCIe 主機控制器。

        • 網(wǎng)絡(luò)。Marvell 88X2222 PHYs、Broadcom BCM6368 MDIO 總線復(fù)用器、Actions Semi Owl 以太網(wǎng) MACs、Microsoft Azure 網(wǎng)絡(luò)適配器、NXP C45 TJA11XX PHYs 以及 Microchip KSZ8863 和 KSZ8873 交換機。

        • 引腳控制。Broadcom BCM63xx GPIO 控制器、Mediatek MT8195 引腳控制器、Xilinx ZynqMP 引腳控制器和 Realtek Otto GPIO 控制器。

        • 聲音。Realtek RT1316 編解碼器,Realtek RT711 和 RT715 SDCA 編解碼器,Realtek RT1019 單聲道 D 類音頻放大器,以及聯(lián)發(fā)科 MT6359 ACCDET 插孔控制器。

        • Virtio:為藍(lán)牙控制器和聲音設(shè)備增加了新的 virtio 驅(qū)動程序。

        Security-related

        • 經(jīng)過多年的工作,修改了 34 次之后,Landlock security module 終于被合并了。

          Landlock 的目標(biāo)是希望能夠限制一組進(jìn)程的周邊權(quán)限(例如能否訪問全局文件系統(tǒng))。由于 Landlock 是一個可堆疊的 LSM,這樣今后就可能在現(xiàn)有的全系統(tǒng)訪問控制之外創(chuàng)建安全的沙盒了。

          更多信息見 https://landlock.io/

        Internal kernel changes

        • vmalloc()現(xiàn)在可以創(chuàng)建 huge-page mapping 了。

        • 新增一些函數(shù)用于在一次調(diào)用中分配成批的 page:alloc_pages_bulk() 和 alloc_pages_bulk_array() 。文檔很少,但在這個提交(https://git.kernel.org/linus/387ba26fb1cb)和另一個提交(https://git.kernel.org/linus/0f87d9d30f21)中可以找到一些信息。

        • 關(guān)于上述兩個改動的更多信息,可以參看這篇文章https://lwn.net/Articles/855226/

        有一個功能這次沒能進(jìn)入 kernel,那就是之前提出的 memfd_secret() 系統(tǒng)調(diào)用,它用來創(chuàng)建對系統(tǒng)的其他部分(包括內(nèi)核)隱藏起來的內(nèi)存區(qū)域。Andrew Morton 對該功能是否實用表示懷疑,這引出了一些潛在的用戶說他們確實需要這個功能。Morton 現(xiàn)在似乎被說服了,但是這時已經(jīng)趕不上 5.13 了。所以 memfd_secret() 應(yīng)該會在 5.14 中出現(xiàn)。

        如果 5.13 內(nèi)核在 7 個-rc 版本后正式發(fā)布,那么就是在 6 月 27 日。如果需要有-rc8 的話,5.13 就可以在美國 7 月 4 日的煙火和慶祝中誕生了。合并窗口已經(jīng)結(jié)束,但仍有相當(dāng)多的工作要做才能將這個 kernel 版本正式推出。

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

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

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



        瀏覽 32
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

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

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日韩精品在线观看一区二区三区 | 91插插插免费视频 | AV在线直播 | 舔舔小骚逼 | 美女视频久久久 | 特黄一级视频 | 老骚逼 | 黄色三级生活片 | 欧美69影院 | 怡红院在线观看视频 |