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;
/**
--
2.34.1
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
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; > > > > /** >
© 2016 - 2024 Red Hat, Inc.