This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Why linux set memory as inner shareable in multi-cluster ARMv8 cores?

Hi, 

I have board with two clusters, one has 4*A57 cores, and the other has 4*A53 cores.

The A57 cluster has its own L1 and L2 cache, A53 cluster also has its own L1 and L2 cache. Between the clusters there is a CCI.

There is no L3 cache. So the memory will be the L3.

My question is,  in this situation why linux set memory as inner shareable? (Also I can not find any outer shareable definition in all of the linux codes.)

In my opinion, when you want to make data coherency between clusters, you must set it as outer shareable.

Am I right? Hope to get your help.

BR

Thomas

Parents
  • Hi ,

    First, thank you!

    After reading the discussion, I get a little confused about the shareability domain.

    1) As you said "The shareability domains are SOC specific", then how do software aware of this? I do not find any system registers of ARM to describe this information. Or the only way is to ask the hardware guy?

    2) As you said "So if all cores of your soc are running the same OS, this should be a reasonable indicator that L1/L2 and L3 on your SOC are all part of the inner shareable domain", does this means that OS such linux can only run in an inner shareable domain without any CMO by software?

    Take my board as example, the two clusters are connected to the CCI to make them data coherency, and linux can run on the board, so we can infer that the two clusters are in the same shareable domain. Is this correct?

    BR,

    Thomas

Reply
  • Hi ,

    First, thank you!

    After reading the discussion, I get a little confused about the shareability domain.

    1) As you said "The shareability domains are SOC specific", then how do software aware of this? I do not find any system registers of ARM to describe this information. Or the only way is to ask the hardware guy?

    2) As you said "So if all cores of your soc are running the same OS, this should be a reasonable indicator that L1/L2 and L3 on your SOC are all part of the inner shareable domain", does this means that OS such linux can only run in an inner shareable domain without any CMO by software?

    Take my board as example, the two clusters are connected to the CCI to make them data coherency, and linux can run on the board, so we can infer that the two clusters are in the same shareable domain. Is this correct?

    BR,

    Thomas

Children