Is it possible to run a linux on multiple clusters if CCI is missing

Arnd Bergmann arnd at arndb.de
Tue Jul 12 08:43:06 PDT 2022


On Tue, Jul 12, 2022 at 5:02 PM Li Chen <me at linux.beauty> wrote:
>
> Hi all,
>
> Say that if one SoC has 4 clusters, and each cluster has an A78. Every A78 has its own SCU to maintain cache coherence,
> but this SoC doesn't have CCI, so there is no hardware to maintain cache coherence between the 4 clusters.
>
> My question: is it possible to run a single Linux kernel on 4 clusters?
> If so, how to do it and how can the cluster cache coherence be maintained?

Hi Li,

Please note that sending an open question like this to the linux-arm-kernel list
probably doesn't get you a reply, since almost nobody reads all the emails sent
to the list, it's more common to just Cc the list to have an archive of the
discussion but have other recipients.  A better place for this might be the
#armlinux IRC channel on irc.libera.chat.

I did get your email in my inbox since I recently replied to another thread
of yours.

Regarding your question, I'm pretty sure that you cannot run Linux across
multiple clusters without a CCI, as the kernel among other things on behavior
documented in Documentation/memory-barriers.txt that is not guaranteed
otherwise.

The only way I can think of for using that kind of system would be to run
a separate kernel on each cluster, and assigning each device to one of the
instances, and use explicit cache management for a communication
channel between them.

         Arnd



More information about the linux-arm-kernel mailing list