[PATCH] Configure: set cache line sizes for more architectures

Sergey Kandaurov pluknet at nginx.com
Wed Mar 27 17:57:32 UTC 2024


> On 28 Feb 2024, at 05:24, Piotr Sikora via nginx-devel <nginx-devel at nginx.org> wrote:
> 
> # HG changeset patch
> # User Piotr Sikora <piotr at aviatrix.com>
> # Date 1708977642 0
> #      Mon Feb 26 20:00:42 2024 +0000
> # Branch patch016
> # Node ID bb99cbe3a343ae581d2369b990aee66e69679ca2
> # Parent  f58bc1041ebca635517b919d58b49923bf24f76d
> Configure: set cache line sizes for more architectures.
> 
> Signed-off-by: Piotr Sikora <piotr at aviatrix.com>

Thanks for the patch.

> 
> diff -r f58bc1041ebc -r bb99cbe3a343 auto/os/conf
> --- a/auto/os/conf Mon Feb 26 20:00:40 2024 +0000
> +++ b/auto/os/conf Mon Feb 26 20:00:42 2024 +0000
> @@ -115,6 +115,21 @@
>         NGX_MACH_CACHE_LINE=64
>     ;;
> 
> +    ppc64 | ppc64le)

This can be replaced with a wildcard.
Also, other systems may report a different value, e.g.:

$ grep -r MACHINE_ARCH sys/powerpc/include/param.h 
sys/powerpc/include/param.h:#ifndef MACHINE_ARCH
sys/powerpc/include/param.h:#define MACHINE_ARCH "powerpc64le"
sys/powerpc/include/param.h:#define MACHINE_ARCH "powerpc64"
sys/powerpc/include/param.h:#define MACHINE_ARCH "powerpcspe"
sys/powerpc/include/param.h:#define MACHINE_ARCH "powerpc"
sys/powerpc/include/param.h:#ifndef MACHINE_ARCH32
sys/powerpc/include/param.h:#define MACHINE_ARCH32 "powerpc"

As such, I pushed an updated version:
https://hg.nginx.org/nginx/rev/427aa785edf8

> +        have=NGX_ALIGNMENT value=16 . auto/define
> +        NGX_MACH_CACHE_LINE=128
> +    ;;
> +
> +    riscv64)
> +        have=NGX_ALIGNMENT value=16 . auto/define
> +        NGX_MACH_CACHE_LINE=64
> +    ;;
> +
> +    s390x)
> +        have=NGX_ALIGNMENT value=16 . auto/define
> +        NGX_MACH_CACHE_LINE=256
> +    ;;
> +
>     *)
>         have=NGX_ALIGNMENT value=16 . auto/define
>         NGX_MACH_CACHE_LINE=32


-- 
Sergey Kandaurov


More information about the nginx-devel mailing list