<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.12 合并窗口,第一部分!

          共 4068字,需瀏覽 9分鐘

           ·

          2021-03-04 19:02

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

          5.12 Merge window, part 1

          By Jonathan Corbet
          February 22, 2021
          DeepL assisted translation
          https://lwn.net/Articles/847057/

          5.12 合并窗口受到了美國西北部惡略天氣的影響而被延遲了。不過等 Linus Torvalds 重新?lián)碛辛斯ぷ鳁l件之后,快馬加鞭地推進代碼合并。在撰寫本文時,才剛剛經(jīng)過 2 天,已經(jīng)有超過 8,600 個 changesete 被加入了 5.12 的代碼中??梢韵胂?,其中有很多重要改動。

          目前為止合入 5.12 的最引人注目的改動是:

          Architecture-specific

          • 移除了一些看起來沒有用戶的 32 位 Arm 平臺(efm32, picoxcell, prima2, tango, u300, zx, and c6x)。相關(guān)設(shè)備的許多驅(qū)動程序也被移除了。

          Core kernel

          • BPF 指令集加入了一系列原子操作指令。詳情請看 documentation commit (https://git.kernel.org/linus/de948576f8e7) 和 merge message(https://git.kernel.org/linus/7064a7341a0d)

          • BPF program 現(xiàn)在可以直接 attach 到"bare" tracepoint 了,也就是那些不具備 user space 可見的 trace event。bare tracepoint 之所以存在,是因為擔心如果提供一個 user space 可見的 event 就會變成 kernel API 的一部分,今后很難改動。這個 BPF patch 包含了一個警告信息,提示說 bare tracepoint 本身不保證是 kernel 不變的 API。不過如果真的出現(xiàn)了 bare-tracepoint 改動導(dǎo)致 user-space 代碼不可用了,具體會如何處理,這個尚不清楚。

          • BPF program 現(xiàn)在可以利用指針和變量偏移量來訪問 stack 里的數(shù)據(jù)了。這個限制導(dǎo)致開發(fā)者們此前不得不一直使用一些 workaround。例如,stack 里有一個數(shù)組,此前只能利用常量索引(constant index)來訪問這個 array 里的數(shù)據(jù),而現(xiàn)在可以使用一個變量索引(variable index)了。BPF verifier 也被修改過來確保這種訪問是不會越界的。不過這個改進只有特權(quán)程序(priviledged program)才可使用,主要是因為擔心 speculative-execution 類型的攻擊。

          • 移除了對 "oprofile" 這個 profiling 子系統(tǒng)的支持。Oprofile 已經(jīng)有好一段時間沒有活躍動作了,一直都是用 perf event 來替代它的。

          • io_uring 子系統(tǒng)跟 memory cgroup 結(jié)合起來了,所以它所用到的內(nèi)存空間也會被統(tǒng)計和管制起來。

          • 如果選擇了 PREEMPT_DYNAMIC 配置選項,啟動階段就可以選擇使用哪種 scheduler preemption mode(none, voluntary, full)。debugfs 中有個開關(guān)可以在系統(tǒng)啟動后也動態(tài)修改這個設(shè)置。

          Filesystems and block I/O

          • 合入了 LOOKUP_CACHED patch。允許 user space(配合 io_uring 使用)進行路徑和文件名查找時不會被阻塞。

          • Btrfs 文件系統(tǒng)對 zoned block device 提供了部分支持。Zoned-device 的支持還是在進行中,無法實際應(yīng)用。

          • F2FS 現(xiàn)在支持指定壓縮算法規(guī)格和級別了。目前支持了 LZ4 "high compression" mode。

          • 新增 FS_IOC_READ_VERITY_METADATA ioctl() 命令,用來從受到 fs-verity 保護的文件中讀取 metadata。詳情在https://git.kernel.org/linus/e17fe6579de0

          Hardware support

          • Media: OmniVision OV5648 and OV8865 圖像傳感器, MaxLinear MXL692 tuners, IMI RDACM21 GMSL 攝像頭, and Sony IMX334 傳感器.

          • Miscellaneous: Broadcom power-management buses, Yamaha YAS530 3-axis 磁力計, Analog Devices AD5766/AD5767 數(shù)模轉(zhuǎn)換器, Nintendo 64 音頻控制器, Ingenic JZ4760 codecs, Khadas TS050 TFT-LCD 顯示屏, Google cr50 I2C TPM interfaces, Intel Keem Bay OCS hashing-control units, Marvell OcteonTX2 加解密加速器, Microsoft Surface system aggregator modules, Aosong AHT10 溫濕度傳感器, Texas Instruments TPS23861 802.3at PoE PSE controllers, Intel Keem Bay SoC non-secure watchdog timers, NVIDIA Tegra QSPI controllers, Acer Iconia Tab A500 embedded controllers, Qualcomm ADC5 SPMI PMIC thermal monitors, Silvaco dual-role master I3C controllers, and Toshiba Visconti GPIO controllers.

          • Networking: Arrow SpeedChips XRS7003/7004 gigabit Ethernet switches, Broadcom BCM4908 internal MACs, MediaTek MT7921E wireless interfaces, and Toshiba Visconti MACs.

          • Power supply: TI BQ256XX battery chargers, Analog Devices LTC4162-L chargers, and Acer Iconia Tab A500 batteries.

          • Regulator: Richtek RT4831 DSV regulators, Actions Semi ATC260x PMIC regulators, MediaTek DVFSRC regulators, and MediaTek MT6315 PMIC regulators.

          • USB: Cadence dual-role USB controllers and USB MaxLinear/Exar USB to serial converters.

          • 支持動態(tài)溫度功耗管理子系統(tǒng),就是可以對每一組設(shè)備的功耗設(shè)置上限來確保不超過溫度限制。詳情在 https://git.kernel.org/linus/f5ad1c747956

          Networking

          • multipath TCP 的實現(xiàn)一直很活躍,現(xiàn)在可以為 subflow 來設(shè)置優(yōu)先級了,比如說可以將某些標記為 backup 方案,只有在主要的 subflow 出錯的時候才使用。

          • IGMPv3 子系統(tǒng)支持了 "explicit host tracking" 功能,詳情見這個合并通知(https://git.kernel.org/linus/5225d5f57b35)

          • 合并了將 NAPI polling 改為在 ktreadh 中實現(xiàn)的 patch。對于某些場景來說可以提升性能。提供了一些 sysfs 節(jié)點來設(shè)置 threaded polling,詳情參見 https://git.kernel.org/linus/5fdd2f0e5c64

          • netfilter 的包過濾機制現(xiàn)在可以支持對某個過濾表設(shè)置 ownership 了。這樣就可以讓某個防火墻程序?qū)λ鼞?yīng)該管理的過濾表來直接進行維護了。

          Security-related

          • integrity measurement architecture (IMA,完整性衡量架構(gòu)) 子系統(tǒng)現(xiàn)在可以 kernel 里面的各種數(shù)據(jù) bit 來確保它們沒有被篡改過。比如說,可以檢查目前的 SELinux policy 是否被改動過。

          Virtualization and containers

          • KVM 子系統(tǒng)支持截獲 Xen 的 hypercall 并將其轉(zhuǎn)發(fā)給 user space 來模擬執(zhí)行(即 emulation)

          如果 5.12 合并窗口仍能遵循平常的進度的話,應(yīng)該會在 2 月 28 日關(guān)閉。目前還不清楚缺失的這 1 周測試時間是否導(dǎo)致合并窗口期被延長。不管它是具體什么時間吧,等到窗口關(guān)閉之后,歡迎大家閱讀我們的后半部分合并窗口改動總結(jié)。

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

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

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



          瀏覽 54
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  黄色网在线视频 | 亚洲天堂在线免费观看 | 人人色人人色 | 欧美日韩男女拍拍视频正在播放 | 亚洲t v|