[PATCH v4 0/2] Add AVX512F optimization option and buffer_zero_avx512()

Robert Hoo posted 2 patches 4 years, 2 months ago
Test docker-quick@centos7 failed
Test FreeBSD failed
Test docker-mingw@fedora failed
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1582979675-22550-1-git-send-email-robert.hu@linux.intel.com
configure            | 41 +++++++++++++++++++++++++++++
include/qemu/cpuid.h |  3 +++
util/bufferiszero.c  | 74 +++++++++++++++++++++++++++++++++++++++++++++-------
3 files changed, 108 insertions(+), 10 deletions(-)
[PATCH v4 0/2] Add AVX512F optimization option and buffer_zero_avx512()
Posted by Robert Hoo 4 years, 2 months ago
1) Introduce {enable,disable}-avx512f configure option

2) Implement new buffer_zero_avx512() with AVX512F instructions

Changes in v4:
In init_cpuid_cache(), stringently test AVX512F OS level enablement.

Changes in v3:
In init_accel(), init length_to_accel value in every accel case, because
in unit test, it will be invoked several times with different accel cases.
(Thanks Richard's careful review)

Changes in v2:
1. Fixes wrong definition of CACHE_SSE2 in v1.
2. Fixes not handle <256 length case in buffer_zero_avx512() implementaion.
(Follow Richard's suggestion: handle the case in select_accel_fn(), and have a
global variable alongside buffer_accel)
3. Changes avx512f configuration option's default status to disabled.
4. Ran 'make check-unit' on this patch, on both a Ivybridge machine and a
CascadeLake machine.


Robert Hoo (2):
  configure: add configure option avx512f_opt
  util: add util function buffer_zero_avx512()

 configure            | 41 +++++++++++++++++++++++++++++
 include/qemu/cpuid.h |  3 +++
 util/bufferiszero.c  | 74 +++++++++++++++++++++++++++++++++++++++++++++-------
 3 files changed, 108 insertions(+), 10 deletions(-)

-- 
1.8.3.1


Re: [PATCH v4 0/2] Add AVX512F optimization option and buffer_zero_avx512()
Posted by Paolo Bonzini 4 years, 1 month ago
On 29/02/20 13:34, Robert Hoo wrote:
> 1) Introduce {enable,disable}-avx512f configure option
> 
> 2) Implement new buffer_zero_avx512() with AVX512F instructions
> 
> Changes in v4:
> In init_cpuid_cache(), stringently test AVX512F OS level enablement.
> 
> Changes in v3:
> In init_accel(), init length_to_accel value in every accel case, because
> in unit test, it will be invoked several times with different accel cases.
> (Thanks Richard's careful review)
> 
> Changes in v2:
> 1. Fixes wrong definition of CACHE_SSE2 in v1.
> 2. Fixes not handle <256 length case in buffer_zero_avx512() implementaion.
> (Follow Richard's suggestion: handle the case in select_accel_fn(), and have a
> global variable alongside buffer_accel)
> 3. Changes avx512f configuration option's default status to disabled.
> 4. Ran 'make check-unit' on this patch, on both a Ivybridge machine and a
> CascadeLake machine.
> 
> 
> Robert Hoo (2):
>   configure: add configure option avx512f_opt
>   util: add util function buffer_zero_avx512()
> 
>  configure            | 41 +++++++++++++++++++++++++++++
>  include/qemu/cpuid.h |  3 +++
>  util/bufferiszero.c  | 74 +++++++++++++++++++++++++++++++++++++++++++++-------
>  3 files changed, 108 insertions(+), 10 deletions(-)
> 

Queued, thanks.

Paolo