From patchwork Thu May 3 17:52:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siddhesh Poyarekar X-Patchwork-Id: 908140 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-92019-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sourceware.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="Q8enAyJl"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40cN5b00Nnz9s35 for ; Fri, 4 May 2018 03:52:34 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id; q=dns; s= default; b=UTHBDL2kJF6lUOJgqgx9cKJ787Svx8zykRYunT6SGghq+btJliSrI LfuvjdtXeXF8/NqQBzb1Ss9RkaFFWjplDYQ3CN6nKBE8TLo8Wxdel8GXReYkqHj1 +jilWkUMqFav+4eEPXsl70FIBa9/gRje58O7BjJmLrDbg+a09lrJqY= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id; s=default; bh=3r3Jdy9aimlQLKXJiDTACUCCIl8=; b=Q8enAyJlWFg+4DSvpnUrLTMae2M8 oNI4fWM2DYgjoLIJwjnMYdm3BXkBmSF/Ha3CdrZnoidBRALw4o+ehEolHNJOiP3l 8LhJAqzVhmhd0prGzn11Bdvv45j0yWATuRkITwU0KDofuCF4XGBvDvBTc2nH6Zzk 7kCRi4GkiOccQP0= Received: (qmail 3980 invoked by alias); 3 May 2018 17:52:29 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 3945 invoked by uid 89); 3 May 2018 17:52:28 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-6.1 required=5.0 tests=BAYES_00, GIT_PATCH_2, RCVD_IN_DNSWL_NONE, SPF_NEUTRAL autolearn=ham version=3.3.2 spammy=train, Hx-languages-length:902, hints, poyarekar X-HELO: homiemail-a56.g.dreamhost.com From: Siddhesh Poyarekar To: libc-alpha@sourceware.org Subject: [PATCH 0/2] aarch64, falkor: memcpy/memmove performance improvements Date: Thu, 3 May 2018 23:22:07 +0530 Message-Id: <20180503175209.2943-1-siddhesh@sourceware.org> Hi, Here are a couple of patches to improve performance of the falkor memcpy and memmove implementations based on testing on the latest hardware. The theme of the optimization is to avoid trying to train the hardware prefetcher for smaller sizes and in the loop tail since that just mis-trains the prefetcher. Instead, use multiple registers to aid reordering wherever possible. Testing showed that regressions in these sizes compared to generic memcpy are resolved with this patch. Siddhesh Siddhesh Poyarekar (2): aarch64,falkor: Ignore prefetcher hints for memmove tail Ignore prefetcher tagging for smaller copies sysdeps/aarch64/multiarch/memcpy_falkor.S | 68 ++++++++++++++++++------------ sysdeps/aarch64/multiarch/memmove_falkor.S | 48 ++++++++++++--------- 2 files changed, 70 insertions(+), 46 deletions(-)