Как поддерживается когерентность кэша в системе ARMv8 big.LITTLE? - PullRequest
0 голосов
/ 19 марта 2020

Насколько я знаю, большие ядра и маленькие ядра находятся в отдельных кластерах в системе big.LITTLE. А согласованность кэша между кластерами требует, чтобы регионы были помечены как Outer Shareable, и это очень дорого. Я проверил код ядра Linux, и кажется, что требуется только согласованность во внутреннем разделяемом домене. Поэтому мой вопрос как linux может гарантировать согласованность кэша в моделях 'Миграция ЦП' или 'Глобальное планирование задач', в которых оба кластера активны одновременно?

Typical big.LITTLE system

1 Ответ

0 голосов
/ 24 марта 2020

Я получил ответ от руки вооруженных. Вот ответ уважаемого Марка Ратленда.

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

Несколько кластеров могут находиться в одном и том же внутреннем разделяемом домене, и Linux зависит от это относится к системам, которые он поддерживает. Можно построить систему, в которой кластеры находятся в отдельных внутренних разделяемых доменах, но Linux не поддерживает использование всех ядер в такой системе.

Даже с CCI, CCN, CMN и т. Д. c, Linux требует, чтобы все ядра (о которых говорится) находились в одном и том же Inner Shareable домене. Это то, что обычно строится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...