簡介:IT之家 12 月 28 日消息,Linux Kernel 在數(shù)年前已經(jīng)合并可重啟序(The Restartable Sequences,簡稱 RSEQ),GNU C Library 已經(jīng)使用 RSEQ 對每個(gè) CPU 數(shù)據(jù)進(jìn)行更快用戶空間作。在明推出的 Linux 6.3 中將會進(jìn)一改進(jìn) RSEQ。通過遞增每個(gè) CPU 計(jì)數(shù)器、修每個(gè) CPU 自旋鎖、讀取 / 寫入每個(gè) CPU 環(huán)形緩沖等情況下免原子操(atomic operation,是指不會被線調(diào)度機(jī)制斷的操作,RSEQ 可以明顯優(yōu)化性幽鴳從而提供色的基準(zhǔn)試結(jié)果。導(dǎo) RSEQ 大部分工作的 Mathieu Desnoyers 最近一直致力于展 Restartable Sequences ABI ,并公開了 NUMA node ID、mm_cid 和 mm_numa_cid 字段。IT之家了解到,Desnoyers 在補(bǔ)丁介紹表示:NUMA node ID 允許在 libc 中實(shí)現(xiàn)更的 getcpu (2)。per-memory-map concurrency id (mm_cid) 允許用戶空間 per-cpu 數(shù)據(jù)結(jié)構(gòu)進(jìn)行理縮放(向或向上)內(nèi)存映射分配的并 ID 可以通過調(diào)程序跟蹤而這個(gè)調(diào)程序根據(jù)發(fā)運(yùn)行的程數(shù)、CPU 親和性(affinity)、應(yīng)用于些線程的 cpuset 和邏輯核心數(shù)等參數(shù)進(jìn)行斷。NUMA-aware concurrency id (mm_numa_cid) 與 mm_cid 類似,不同之處在它跟蹤與個(gè) cid 相關(guān)聯(lián)的 NUMA node ID。在 NUMA 系統(tǒng)上,當(dāng)用戶空觀察到 NUMA 感知并發(fā) ID 與 NUMA 節(jié)點(diǎn)相關(guān)聯(lián),它保證遠(yuǎn)不會更 NUMA 節(jié)點(diǎn),除非發(fā)生內(nèi)級 NUMA 配置更改。這對在屬于 cpuset 的進(jìn)程或一組進(jìn)程固定到屬系統(tǒng) NUMA 節(jié)點(diǎn)子集的一內(nèi)核的環(huán)中運(yùn)行的 NUMA 感知 per-cpu 數(shù)據(jù)結(jié)構(gòu)很有用?