From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35101) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcu6Y-0000Cw-V0 for qemu-devel@nongnu.org; Thu, 25 Aug 2016 08:50:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bcu6T-0001wF-Lu for qemu-devel@nongnu.org; Thu, 25 Aug 2016 08:49:57 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46376) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcu6T-0001wA-G3 for qemu-devel@nongnu.org; Thu, 25 Aug 2016 08:49:53 -0400 Date: Thu, 25 Aug 2016 08:49:50 -0400 From: "Daniel P. Berrange" Message-ID: <20160825124950.GD22041@redhat.com> Reply-To: "Daniel P. Berrange" References: <1472060915-6011-1-git-send-email-rth@twiddle.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1472060915-6011-1-git-send-email-rth@twiddle.net> Subject: Re: [Qemu-devel] [PATCH v2 0/8] Improve buffer_is_zero List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson Cc: qemu-devel@nongnu.org, pbonzini@redhat.com, peter.maydell@linaro.org On Wed, Aug 24, 2016 at 10:48:27AM -0700, Richard Henderson wrote: > Patches 1-4 remove the use of ifunc from the implementation. > > Patch 6 adjusts the x86 implementation a bit more to take > advantage of ptest (in sse4.1) and unaligned accesses (in avx1). > > Patches 3 and 7 are the result of my conversation with Vijaya > Kumar with respect to ThunderX. > > Patch 8 is the result of seeing some really really horrible code > produced for ppc64le (gcc 4.9 and mainline). > > This has had limited testing. What I don't know is the best way > to benchmark this -- the only way I know to trigger this is via > the console, by hand, which doesn't make for reasonable timing. > > Changes v1-v2: > * Add patch 1, moving everything to a new file. > * Fix a typo or two, which had the wrong sense of zero test. > These had mostly beed fixed in the intermediate patches, > but it wouldn't have helped bisection. > > > r~ > > > Richard Henderson (8): > cutils: Move buffer_is_zero and subroutines to a new file > cutils: Remove SPLAT macro > cutils: Export only buffer_is_zero > cutils: Rearrange buffer_is_zero acceleration > cutils: Add generic prefetch > cutils: Rewrite x86 buffer zero checking > cutils: Rewrite aarch64 buffer zero checking > cutils: Rewrite ppc buffer zero checking > > configure | 21 +-- > include/qemu/cutils.h | 2 - > migration/ram.c | 2 +- > migration/rdma.c | 5 +- > util/Makefile.objs | 1 + > util/bufferiszero.c | 432 ++++++++++++++++++++++++++++++++++++++++++++++++++ > util/cutils.c | 244 ---------------------------- > 7 files changed, 441 insertions(+), 266 deletions(-) > create mode 100644 util/bufferiszero.c Since your v1 series has a report of breaking arm64, I thnk this is a good candidate for adding unit tests eg a tests/test-bufferiszero.c file which exercises & validates the various codepaths. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|