後端工坊 2026 年 8 月 29 日

2026-08-29 — Linux rnull Rust 區塊驅動衝刺功能對等、CppCon 2026 零成本抽象議程預告、PVS-Studio 8.00 新增 JS/TS/Go 分析器

primary=https://lwn.net/Articles/1090378/ primary=https://rust-for-linux.com/null-block-driver primary=https://isocpp.org/blog/2026/08/cppcon-2026-when-zero-cost-abstractions-arent-zero-cost-steve-sorkin primary=https://cppcon2026.sched.com/event/2RT6r/when-zero-cost-abstractions-arent-zero-cost primary=https://pvs-studio.com/en/blog/posts/1406/ primary=https://isocpp.org/blog/2026/08/pvs-studio-8.00

Linux 核心 Rust 驅動衝刺功能對等:rnull 補丁集追平 null_blk

LWN.net · 2026-08-28

Linux 核心開發者 Andreas Hindborg 提出一組編號 [PATCH 00/79]、標題為「block: rnull: complete the rust null block driver」的補丁系列,目標是讓以 Rust 撰寫的區塊裝置驅動程式 rnull 達到與既有 C 語言 null_blk 完全對等的功能。這項進度由 LWN.net 於 2026-08-28 報導,是 Rust for Linux 專案在區塊層(block layer)近期最完整的一次推進。目前一個精簡版的 rnull 已隨主線核心釋出,這批補丁要補齊剩餘的功能差距。

背景

null_blk 是核心內建的假區塊裝置,不真正寫入資料、盡快回覆完成,主要用來測試區塊層本身的排程與佇列邏輯,而非儲存媒介效能。根據 Rust for Linux 專案公開的統計,C 版 null_blk 過去合併的修補中有41% 屬於記憶體安全性問題,這是推動改寫為 Rust 版本的直接理由。選擇一個小而單純、非產品環境使用的驅動作為起點,也讓儲存社群能以較低風險評估核心 Rust 綁定的可用性。

核心改動

補丁集要補齊的功能包括多佇列(multi-queue)I/O 與多種完成模式、記憶體後端儲存、NUMA 節點指定與可設定的佇列參數,以及 zoned storage、discard 操作與頻寬節流等進階特性。整組實作使用完全安全(safe)的 Rust,所有不可避免的 unsafe 程式碼都被侷限在對 C API 的綁定包裝層內,不外露到驅動邏輯本身。

  • multi-queue block I/O、可設定完成模式
  • memory backing、NUMA 節點支援
  • zoned storage、discard、頻寬節流

在此之前的 v6.19-rc5 開發週期中,rnull 已先合入 global tag sets、fault injection、zoned device 模擬與 poll queue 支援;更早的 v6.14-rc1 則是第一批子集功能進入主線的時間點。這次的 79 個補丁,是把過去逐步累積的功能串成一份對等於 C 版的完整實作。

影響範圍

Rust for Linux 專案公開的效能比較顯示,rnull 在多數設定下與 C 版 null_blk 的效能差異低於 2%,說明 Rust 抽象層在這類 I/O 密集路徑上並未帶來明顯開銷。對區塊層維護者而言,這批補丁也是評估「是否接受更多 Rust 驅動進入儲存子系統」的具體參考案例。

原始來源:LWN.netRust for Linux — Null Block Driver


CppCon 2026 議程預告:當零成本抽象不再零成本

isocpp Blog · 2026-08-28

Bloomberg 資深軟體工程師 Steve Sorkin 將於 2026-09-17 在 CppCon 2026 發表題為「When Zero-Cost Abstractions Aren't Zero-Cost」的演講,議程已由 isocpp Blog 於 2026-08-28 公開。演講鎖定幾個被視為理所當然「零成本」的 C++ 抽象機制,說明它們在實務中其實可能悄悄產生效能代價。場次排在美東山區時間下午 2 點至 3 點,分類於效能與軟體設計主題之下。

核心改動

Sorkin 選擇的三個切入點是 ranges/views、型別抹除(type erasure)與配置器(allocators)。議程摘要指出零成本抽象「承諾在不犧牲效能的前提下寫出高階、具表達力的程式碼」,但實務上開發者經常在使用這些抽象時遇到未預期的效能落差。演講內容會拆解落差來源,包含最佳化器可見度、內聯邊界、配置行為與執行期彈性四個面向。

影響範圍

摘要特別點出「看似微小的設計選擇可能引入隱藏成本,而這些成本往往難以單靠程式碼審查發現」,這場演講設定給熟悉 ranges 或型別抹除慣用法、但尚未系統性檢視其底層代價的中高階 C++ 開發者。目前公開的仍只是議程與摘要,實際案例與量測數據要等 9 月正式演講後才會完整揭露。

原始來源:isocpp BlogCppCon 2026 議程頁


靜態分析工具 PVS-Studio 8.00 發布:新增 JavaScript、TypeScript 與 Go 分析器

PVS-Studio Blog · 2026-08-28

靜態分析廠商 PVS-Studio 釋出 8.00 版,新增對 JavaScript、TypeScript 與 Go 三種語言的分析器,並同步推出 WebStorm 與 GoLand 的 IDE 外掛。此消息原始出自 PVS-Studio 官方部落格,isocpp Blog 於 2026-08-28 轉載摘要。這是該公司分析範圍首次從 C/C++/C#/Java 擴展到前端與 Go 生態系。

核心改動

新語言分析器各自搭配獨立 CLI 與一套基礎診斷規則:JavaScript/TypeScript 新增 40 條規則(V7001V7040V5801),Go 同樣新增 40 條(V8001V8040V5901),Java 端則新增一條 V6136。VS Code 擴充套件同步大幅改版,為所有新分析器加上可設定選項面板。

語言新規則編號範圍數量
JavaScript / TypeScriptV7001–V7040, V580140
GoV8001–V8040, V590140
JavaV61361

規格細節

C++ 陣營也有更新:團隊表示已將「MISRA 群組中的 16 條既有診斷規則適配到 MISRA C++ 2023 標準」,並在 Linux 端新增對 x86_64-pc-linux-gnu-c++ 編譯器的支援,同時以編譯監控與追蹤方式支援跨平台的 TI C2000-CGT 編譯器。設定檔改用新的 TOML 格式 pvs-settings.toml,MSBuild 專案下的 C++/C# 也拿到擴充的日誌記錄能力。

影響範圍

IDE 相容性門檻同步調整:VS Code 擴充套件最低版本從 1.74(2022 年 11 月)拉高到 1.100(2025 年 4 月),Qt Creator 外掛則新增 20.x 支援、同時終止對 14.x 的支援。對既有使用者而言,升級前需要先確認自己的 IDE 版本落在新的相容範圍內,否則外掛可能無法載入。

原始來源:PVS-Studio Blogisocpp Blog


End of article
0
Would love your thoughts, please comment.x
()
x