All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juan Quintela <quintela@redhat.com>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: qemu-devel@nongnu.org,  peter.maydell@linaro.org,
	 Peter Xu <peterx@redhat.com>,
	 Leonardo Bras <leobras@redhat.com>
Subject: Re: [PATCH 7/9] migration/xbzrle: Use i386 cacheinfo.h
Date: Thu, 18 May 2023 11:44:20 +0200	[thread overview]
Message-ID: <87v8gqdle3.fsf@secure.mitica> (raw)
In-Reply-To: <20230518044058.2777467-8-richard.henderson@linaro.org> (Richard Henderson's message of "Wed, 17 May 2023 21:40:56 -0700")

Richard Henderson <richard.henderson@linaro.org> wrote:
> Perform the function selection once, and only if CONFIG_AVX512_OPT
> is enabled.  Centralize the selection to xbzrle.c, instead of
> spreading the init across 3 files.
>
> Remove xbzrle-bench.c.  The benefit of being able to benchmark
> the different implementations is less important than peeking into
> the internals of the implementation.

Agreed.  If AVX512 is not better than a plain C implementation, better
to not have it O:-)

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Reviewed-by: Juan Quintela <quintela@redhat.com>

Not queued.  It needs your other patches, I think it is better that all
teh series go through your tree.


> +static void __attribute__((constructor)) init_accel(void)
> +{
> +    unsigned info = cpuinfo_init();
> +    if (info & CPUINFO_AVX512BW) {
> +        accel_func = xbzrle_encode_buffer_avx512;
> +    } else {
> +        accel_func = xbzrle_encode_buffer_int;
> +    }
> +}

Wow.
Comparing it with previous implementation that did it by hand with asm.



  reply	other threads:[~2023-05-18  9:45 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-18  4:40 [PATCH 0/9] Host-specific includes, begin cpuinfo.h Richard Henderson
2023-05-18  4:40 ` [PATCH 1/9] util: Introduce host-specific cpuinfo.h Richard Henderson
2023-05-18  9:30   ` Juan Quintela
2023-05-18  4:40 ` [PATCH 2/9] util: Add cpuinfo-i386.c Richard Henderson
2023-05-18  9:35   ` Juan Quintela
2023-05-18 12:45     ` Richard Henderson
2023-05-18  4:40 ` [PATCH 3/9] util: Add i386 CPUINFO_ATOMIC_VMOVDQU Richard Henderson
2023-05-18 15:52   ` Peter Maydell
2023-05-18  4:40 ` [PATCH 4/9] tcg/i386: Use cpuinfo.h Richard Henderson
2023-05-18 15:53   ` Peter Maydell
2023-05-18  4:40 ` [PATCH 5/9] util/bufferiszero: Use i386 cpuinfo.h Richard Henderson
2023-05-18  9:49   ` Juan Quintela
2023-05-18 12:48     ` Richard Henderson
2023-05-18  4:40 ` [PATCH 6/9] migration/xbzrle: Shuffle function order Richard Henderson
2023-05-18  9:19   ` Juan Quintela
2023-05-18  4:40 ` [PATCH 7/9] migration/xbzrle: Use i386 cacheinfo.h Richard Henderson
2023-05-18  9:44   ` Juan Quintela [this message]
2023-05-18  4:40 ` [PATCH 8/9] migration: Build migration_files once Richard Henderson
2023-05-18  9:20   ` Juan Quintela
2023-05-18  4:40 ` [PATCH 9/9] util: Add cpuinfo-aarch64.c Richard Henderson
2023-05-18 15:55   ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v8gqdle3.fsf@secure.mitica \
    --to=quintela@redhat.com \
    --cc=leobras@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.