Message ID | 20240912133829.400-3-alireza.sanaee@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Specifying cache topology on ARM | expand |
On Thu, 12 Sep 2024 14:38:26 +0100 Alireza Sanaee <alireza.sanaee@huawei.com> wrote: > This commit adds IsDefined flag to the object and this helps in avoiding > extra checks for every single layer of caches in both x86 and ARM. Hi Ali, You mention x86 here, but no code changes to support that? Jonathan > > Signed-off-by: Alireza Sanaee <alireza.sanaee@huawei.com> > --- > hw/core/machine-smp.c | 2 ++ > include/hw/boards.h | 1 + > 2 files changed, 3 insertions(+) > > diff --git a/hw/core/machine-smp.c b/hw/core/machine-smp.c > index 9a28194676..5a02bbf584 100644 > --- a/hw/core/machine-smp.c > +++ b/hw/core/machine-smp.c > @@ -371,6 +371,8 @@ bool machine_parse_smp_cache(MachineState *ms, > return false; > } > > + ms->smp_cache.IsDefined = true; > + > return true; > } > > diff --git a/include/hw/boards.h b/include/hw/boards.h > index db2aa2b706..2883a57084 100644 > --- a/include/hw/boards.h > +++ b/include/hw/boards.h > @@ -373,6 +373,7 @@ typedef struct CpuTopology { > > typedef struct SmpCache { > SmpCacheProperties props[CACHE_LEVEL_AND_TYPE__MAX]; > + bool IsDefined; > } SmpCache; > > /**
On Fri, 13 Sep 2024 11:21:28 +0100 Jonathan Cameron <Jonathan.Cameron@Huawei.com> wrote: > On Thu, 12 Sep 2024 14:38:26 +0100 > Alireza Sanaee <alireza.sanaee@huawei.com> wrote: > > > This commit adds IsDefined flag to the object and this helps in > > avoiding extra checks for every single layer of caches in both x86 > > and ARM. > Hi Ali, > > You mention x86 here, but no code changes to support that? > > Jonathan > Hi Jonathan, I used this flag in Patch 4 in build_pptt function. This flag is one of the todos Liu put as comment on his patch as well, and it is useful for me too. Thanks, Alireza > > > > Signed-off-by: Alireza Sanaee <alireza.sanaee@huawei.com> > > --- > > hw/core/machine-smp.c | 2 ++ > > include/hw/boards.h | 1 + > > 2 files changed, 3 insertions(+) > > > > diff --git a/hw/core/machine-smp.c b/hw/core/machine-smp.c > > index 9a28194676..5a02bbf584 100644 > > --- a/hw/core/machine-smp.c > > +++ b/hw/core/machine-smp.c > > @@ -371,6 +371,8 @@ bool machine_parse_smp_cache(MachineState *ms, > > return false; > > } > > > > + ms->smp_cache.IsDefined = true; > > + > > return true; > > } > > > > diff --git a/include/hw/boards.h b/include/hw/boards.h > > index db2aa2b706..2883a57084 100644 > > --- a/include/hw/boards.h > > +++ b/include/hw/boards.h > > @@ -373,6 +373,7 @@ typedef struct CpuTopology { > > > > typedef struct SmpCache { > > SmpCacheProperties props[CACHE_LEVEL_AND_TYPE__MAX]; > > + bool IsDefined; > > } SmpCache; > > > > /** >
Hi Ali, On Thu, Sep 12, 2024 at 02:38:26PM +0100, Alireza Sanaee wrote: > Date: Thu, 12 Sep 2024 14:38:26 +0100 > From: Alireza Sanaee <alireza.sanaee@huawei.com> > Subject: [PATCH 2/5] i386/cpu: add IsDefined flag to smp-cache property > X-Mailer: git-send-email 2.34.1 > > This commit adds IsDefined flag to the object and this helps in avoiding > extra checks for every single layer of caches in both x86 and ARM. > > Signed-off-by: Alireza Sanaee <alireza.sanaee@huawei.com> > --- > hw/core/machine-smp.c | 2 ++ > include/hw/boards.h | 1 + > 2 files changed, 3 insertions(+) > > diff --git a/hw/core/machine-smp.c b/hw/core/machine-smp.c > index 9a28194676..5a02bbf584 100644 > --- a/hw/core/machine-smp.c > +++ b/hw/core/machine-smp.c > @@ -371,6 +371,8 @@ bool machine_parse_smp_cache(MachineState *ms, > return false; > } > > + ms->smp_cache.IsDefined = true; > + > return true; > } > > diff --git a/include/hw/boards.h b/include/hw/boards.h > index db2aa2b706..2883a57084 100644 > --- a/include/hw/boards.h > +++ b/include/hw/boards.h > @@ -373,6 +373,7 @@ typedef struct CpuTopology { > > typedef struct SmpCache { > SmpCacheProperties props[CACHE_LEVEL_AND_TYPE__MAX]; > + bool IsDefined; > } SmpCache; Thanks! I'd add the flag "has_caches" in SMPCompatProps. I could pick this patch into my next version and remove my "TODO". :-) Regards, Zhao
diff --git a/hw/core/machine-smp.c b/hw/core/machine-smp.c index 9a28194676..5a02bbf584 100644 --- a/hw/core/machine-smp.c +++ b/hw/core/machine-smp.c @@ -371,6 +371,8 @@ bool machine_parse_smp_cache(MachineState *ms, return false; } + ms->smp_cache.IsDefined = true; + return true; } diff --git a/include/hw/boards.h b/include/hw/boards.h index db2aa2b706..2883a57084 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -373,6 +373,7 @@ typedef struct CpuTopology { typedef struct SmpCache { SmpCacheProperties props[CACHE_LEVEL_AND_TYPE__MAX]; + bool IsDefined; } SmpCache; /**
This commit adds IsDefined flag to the object and this helps in avoiding extra checks for every single layer of caches in both x86 and ARM. Signed-off-by: Alireza Sanaee <alireza.sanaee@huawei.com> --- hw/core/machine-smp.c | 2 ++ include/hw/boards.h | 1 + 2 files changed, 3 insertions(+)