ARMv8 big.LITTLE 系统上如何保持缓存一致性?

问题描述 投票:0回答:1

据我所知,big.LITTLE 系统上的大核心和小核心位于不同的集群中。集群之间的缓存一致性需要将区域标记为外部共享,并且非常昂贵。我检查了Linux内核代码,似乎它只需要内部共享域的一致性。所以我的问题是 Linux 如何保证两个集群同时处于活动状态的“CPU 迁移”或“全局任务调度”模型中的缓存一致性?

Typical big.LITTLE system

caching arm cpu-architecture cpu-cache hmp
1个回答
1
投票

我已经从arm社区得到了答案。这是亲爱的马克·拉特兰 (Mark Rutland) 的回答。

https://lkml.org/lkml/2020/3/23/598

多个集群可以在同一个Inner Shareable域中,Linux 依赖于它支持的系统的情况。这是可能的 构建一个集群处于不同内部共享的系统 域,但 Linux 不支持在此类系统上使用所有内核。

即使有 CCI、CCN、CMN 等,Linux 也要求所有内核(它 被告知)位于同一个内部共享域中。那是什么 一般建造。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.