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
Hi MarekBykowski,
Thank you! I am much clearly now, there is one last question.
For example, two clusters, one is in inner shareable domain A, the other is in inner shareable domain B, A and B are in the same outer shareable domain.
As you said, two OSes run in the each domain is the typical usage, and the memory is set to be outer shareable to be data-coherency between the two OSes. So, since the memory is data-coherency between the two OSes or the outer shareable domain, why can not a single OS run on this kind of SOC. Let me put is another way, why a single OS can not run on a SOC with outer shareable domains?
BR,
Thomas,
Under the scenario you describe I think it can and this is the purpose of the shareability domains.
But then I would ask another question, why would somebody made such an effort to implement 2x inner shareable domains on the system and scrapped it by using the OS running/configuring the outer shareable domain (which equals into not using the split). My point is you do not design the SoC being capable running 2x inner shareable domains if you are not going to use it.
Interesting is that the address space attributed to devices are usually (if not always) outer shareable.
My problem Thomas is also that some of the most detailed aspects of it are just my analysis and I'm still waiting for a word back from the HW design team for my boards to confirm that. In that I'd also appreciate if any SoC design expert fromthe forum confirms/broadens what is in this and related thread.
Marek
Thank you very much for your detail analysis. Yes, "My point is you do not design the SoC being capable running 2x inner shareable domains if you are not going to use it" make sense, I agree with you. If you get some confirmation, please let me know. Thanks!