後端工坊 2026 年 7 月 16 日

2026-07-16 — io_uring 換無鎖 MPSC 佇列、.NET MAUI 收斂到 CoreCLR、FreeBSD 16 清空 GPL 程式碼

primary=https://lwn.net/Articles/1081871/ primary=https://devblogs.microsoft.com/dotnet/coreclr-progress-and-mono-timeline-dotnet-maui primary=https://www.phoronix.com/news/FreeBSD-16-Goes-GPL-Free

io_uring 換上無鎖 MPSC 佇列,砍掉 task_work 的排序開銷

LWN.net · 2026-07-15

Linux 7.2 核心將把 io_uring 的 task_work 基礎架構換成無鎖(lockless)的多生產者單消費者(MPSC)FIFO 佇列,由 Jens Axboe 主導,取代原本以 llist 實作的 DEFER_TASKRUN 本地佇列與一般的 tctx 佇列。

背景

舊實作的 llist後進先出(LIFO)的無鎖鏈結串列,多個生產者可以直接推入節點,但消費者要處理前得先做一次 O(n) 的整表反轉,才能還原成先進先出順序。堆積工作一多,反轉本身就成了明顯開銷,還得靠額外的重試佇列處理反轉期間新進的項目。

核心改動

新方案採用 Dmitry Vyukov 提出的 intrusive MPSC 演算法:生產者只需一次原子交換就能把節點接上佇列尾端,消費者逐一取出、不必整批反轉。節點內嵌在物件本身(intrusive),多生產者端在多數情況下是 wait-free。套用到兩條佇列後,重試清單整個移除,tctx 的 fallback task_work 可直接執行,每個 context 各自的 fallback 機制也隨之簡化。

原始來源:LWN.net - Lockless MPSC FIFO queues for io_uring


.NET MAUI 行動端收斂到單一執行環境:CoreCLR 取代 Mono

Microsoft DevBlogs · 2026-07-14

.NET 11 Preview 6 起,針對 net11.0-androidnet11.0-iosnet11.0-maccatalyst 建置的 MAUI 應用會自動改用 CoreCLR,原本切換執行環境的 Mono 選項屬性已移除;GA 排定 2026 年 11 月,Mono 僅保留給 Blazor WebAssembly。

技術動機

CoreCLR 是 ASP.NET Core 與雲端服務共用的執行環境,行動端過去因啟動時間與體積長期依賴 Mono。這次轉換的關鍵是統一診斷工具鏈:換成 CoreCLR 後 dotnet-tracedotnet-counters 可直接用在行動裝置,Visual Studio/VS Code 除錯體驗對齊桌面端。Android 端也同步啟用「trimmable type map for Android interop」,作為未來 NativeAOT 支援的基礎。

數字

iOS、Mac Catalyst 上 CoreCLR「普遍比 Mono 快」;Android 上啟動時間與 App 體積落在 Mono 的 10% 誤差內。微軟要求開發者在 Preview 6 就以 .NET 10 為基準實測,回報落差。

原始來源:Microsoft DevBlogs - CoreCLR Progress and the Mono Timeline for .NET MAUI


FreeBSD 16 送走最後一塊 GPL 程式碼:dialog 退場

Phoronix · 2026-07-16

FreeBSD 16 的原始碼樹已移除 base system 中最後一塊 GNU GPL 授權程式碼——文字介面工具 dialog。變更合併於 commit 134a4c78d070f8c4ea43a060a7ae28d22ac39558,一併砍掉整個 GNU 子目錄,FreeBSD 16.0 正式版預計 2027 年 12 月釋出。

背景與改動

FreeBSD base system 以 BSD 授權為主,過去因缺乏對等替代品混入少數 GPL 工具。安裝程式先前已改用 bsddialog;剩下唯一還用 dialogdpv 工具已停用並退役。dialog 移除票券於今年 2 月開出,合併主線後 GNU 子樹整個砍除,base system 不再有任何 GPL 程式碼殘留。

影響

bsddialog 提供相容介面,一般使用者不受影響。對下游打包者與商用衍生版而言,授權清單進一步單純化,base system 完全落在 BSD 授權之下。

原始來源:Phoronix - FreeBSD 16 Retires The Last Of Its GPL Code From Its Base System


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