[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [UNIKRAFT PATCH] arch: Define the cache line size for each architecture
Reviewed-by: Costin Lupu <costin.lupu@xxxxxxxxx> On 7/23/20 2:47 PM, Alexander Jung wrote: > This definition statically describes the d-cache line size in > bytes for {x86_64,arm,arm64}. > > The d-cache line is a L1 data cache nearest to the processor and > the line size refers to the data memory block. > > The d-line cache size can also be discovered by querying the > d-cache build egister at the expense of using more memory and > instruction cycles during boot. Defining this size statically > increases performance since it is already known for the > respective architecture. > > Signed-off-by: Alexander Jung <alexander.jung@xxxxxxxxx> > --- > arch/arm/arm/include/uk/asm/lcpu.h | 2 ++ > arch/arm/arm64/include/uk/asm/lcpu.h | 2 ++ > arch/x86/x86_64/include/uk/asm/lcpu.h | 2 ++ > 3 files changed, 6 insertions(+) > > diff --git a/arch/arm/arm/include/uk/asm/lcpu.h > b/arch/arm/arm/include/uk/asm/lcpu.h > index cdeffc3..33f3a6b 100644 > --- a/arch/arm/arm/include/uk/asm/lcpu.h > +++ b/arch/arm/arm/include/uk/asm/lcpu.h > @@ -29,6 +29,8 @@ > #error Do not include this header directly > #endif > > +#define CACHE_LINE_SIZE 32 > + > struct __regs { > unsigned long r0; > unsigned long r1; > diff --git a/arch/arm/arm64/include/uk/asm/lcpu.h > b/arch/arm/arm64/include/uk/asm/lcpu.h > index 45d1b23..4597e40 100644 > --- a/arch/arm/arm64/include/uk/asm/lcpu.h > +++ b/arch/arm/arm64/include/uk/asm/lcpu.h > @@ -30,6 +30,8 @@ > #error Do not include this header directly > #endif > > +#define CACHE_LINE_SIZE 64 > + > #ifdef __ASSEMBLY__ > /* > * Stack size to save general purpose registers and essential system > diff --git a/arch/x86/x86_64/include/uk/asm/lcpu.h > b/arch/x86/x86_64/include/uk/asm/lcpu.h > index 6a471a1..ff137f8 100644 > --- a/arch/x86/x86_64/include/uk/asm/lcpu.h > +++ b/arch/x86/x86_64/include/uk/asm/lcpu.h > @@ -32,6 +32,8 @@ > #error Do not include this header directly > #endif > > +#define CACHE_LINE_SIZE 64 > + > #ifndef __ASSEMBLY__ > struct __regs { > unsigned long pad; /* 8 bytes to make struct size multiple of 16 */ >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |