[{"id":1776749,"web_url":"http://patchwork.ozlabs.org/comment/1776749/","msgid":"<20170927.214103.2236958753795210322.davem@davemloft.net>","list_archive_url":null,"date":"2017-09-28T04:41:03","subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","submitter":{"id":15,"url":"http://patchwork.ozlabs.org/api/people/15/","name":"David Miller","email":"davem@davemloft.net"},"content":"From: Patrick McGehearty <patrick.mcgehearty@oracle.com>\nDate: Wed, 27 Sep 2017 16:09:56 -0400\n\n> The following patch set provides optimized versions of\n> memcpy/mempcpy/memmove/memset/bzero for Sparc versions M7 (and later).\n> Support for recognizing M7 is also provided.\n> An assembly version of memmove for ultra1+ is provided.\n> \n> Jose E. Marchesi (2):\n>   sparc: support the ADP hw capability.\n>   sparc: assembly version of memmove for ultra1+\n> \n> Patrick McGehearty (1):\n>   sparc: M7 optimized memcpy/mempcpy/memmove/memset/bzero.\n\nLooks good to me.","headers":{"Return-Path":"<libc-alpha-return-85057-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-85057-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"rYvLkytB\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y2hpg2vxgz9t3x\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 28 Sep 2017 14:41:15 +1000 (AEST)","(qmail 65584 invoked by alias); 28 Sep 2017 04:41:08 -0000","(qmail 65573 invoked by uid 89); 28 Sep 2017 04:41:08 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:message-id:to:cc:subject:from:in-reply-to\n\t:references:mime-version:content-type:content-transfer-encoding;\n\tq=dns; s=default; b=oyqSWwrZSZsjuDhgw4VkeO2b4EHZxZ8LHx3I82d1yE2\n\tDHgo9T84km6mKXqU6AQCte4Z2+HgLysRy0TQITX045+n9D4mH/UPbARPBCMN//Gt\n\tM+Px+Crw8zm4zwFxVTu58zPyvooKDr++QP4foDyIZFPTvTwD92wvDbi1rqAYLnPc\n\t=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:message-id:to:cc:subject:from:in-reply-to\n\t:references:mime-version:content-type:content-transfer-encoding;\n\ts=default; bh=eXL2setILjZuRQhpijnA/1J8/eA=; b=rYvLkytBWzaWwZ2IF\n\tGbrklV2rDMlK4nKQ0XZi0RIhOLC9c2RvZW4GHRjAPh5LBfT8J5Zug335qnVM06T3\n\t4097u1Y9P/8fqq38lsyC1sQ0tgKbc/Bk6xRMDq2v+1eB2sFFjSED/kI9y1j+MWkU\n\tZQ0ymkEsnTX5Iv+4tRJQ/M1yo8=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-0.9 required=5.0 tests=AWL, BAYES_00,\n\tKAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2\n\tspammy=H*UA:6.0, H*x:6.0, H*r:sk:74-93-1, H*RU:sk:74-93-1","X-HELO":"shards.monkeyblade.net","Date":"Wed, 27 Sep 2017 21:41:03 -0700 (PDT)","Message-Id":"<20170927.214103.2236958753795210322.davem@davemloft.net>","To":"patrick.mcgehearty@oracle.com","Cc":"libc-alpha@sourceware.org","Subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","From":"David Miller <davem@davemloft.net>","In-Reply-To":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>","Mime-Version":"1.0","Content-Type":"Text/Plain; charset=us-ascii","Content-Transfer-Encoding":"7bit"}},{"id":1780123,"web_url":"http://patchwork.ozlabs.org/comment/1780123/","msgid":"<1f543a82-5816-11f1-d615-a5b4a07c8392@oracle.com>","list_archive_url":null,"date":"2017-10-04T21:07:42","subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","submitter":{"id":72081,"url":"http://patchwork.ozlabs.org/api/people/72081/","name":"Patrick McGehearty","email":"patrick.mcgehearty@oracle.com"},"content":"On 9/27/2017 11:41 PM, David Miller wrote:\n> From: Patrick McGehearty <patrick.mcgehearty@oracle.com>\n> Date: Wed, 27 Sep 2017 16:09:56 -0400\n>\n>> The following patch set provides optimized versions of\n>> memcpy/mempcpy/memmove/memset/bzero for Sparc versions M7 (and later).\n>> Support for recognizing M7 is also provided.\n>> An assembly version of memmove for ultra1+ is provided.\n>>\n>> Jose E. Marchesi (2):\n>>    sparc: support the ADP hw capability.\n>>    sparc: assembly version of memmove for ultra1+\n>>\n>> Patrick McGehearty (1):\n>>    sparc: M7 optimized memcpy/mempcpy/memmove/memset/bzero.\n> Looks good to me.\nCould someone install the 9/28/2017 sparc M7 optimized memcpy/memset\npatches to the repository?\n\nAs a new submitter, I don't have permissions.\n\n- Patrick McGehearty","headers":{"Return-Path":"<libc-alpha-return-85384-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-85384-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"GgRi69D5\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y6pQD3xlJz9sNr\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  5 Oct 2017 08:07:48 +1100 (AEDT)","(qmail 123223 invoked by alias); 4 Oct 2017 21:07:41 -0000","(qmail 122509 invoked by uid 89); 4 Oct 2017 21:07:41 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=n4XW+JugMa1FYbyc\n\t81J8cjJe97llDkUiEi9E4hjmv15LttUhkqUv890/+hNBZSZ6PPCtGrMnoymS5KUm\n\t1GbYOtNfzZRCtQbhP+jvqiydJdAzckQFDO/QzP4KrGVvzlLj5GYTdAF4z81UdUDh\n\toQmnyhC04mTlg6n6iJs+5Jk3GWc=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=b2EtYW7IEP3ZyMFhOY0HtI\n\t/Z/6Y=; b=GgRi69D5L/T0yZy0ZUpkZ/Mz9SXVF7gBAhBSe3RtjXozOXpOEdJPgf\n\tw2J+un4KRapP/6l9AfwEqYBQliovuolvoW7asJoWMlKaf2tQjp/cFFgQF76NL83L\n\t3ywH1cLPF5GugUyKnallNLU6Q4V/pe1yfSM2T6iQPatBcujt3PQRc=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-1.9 required=5.0 tests=BAYES_00,\n\tRP_MATCHES_RCVD,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=H*UA:6.3, Jose,\n\tH*u:6.3, miller","X-HELO":"aserp1040.oracle.com","Subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","To":"libc-alpha@sourceware.org","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>\n\t<20170927.214103.2236958753795210322.davem@davemloft.net>","From":"Patrick McGehearty <patrick.mcgehearty@oracle.com>","Message-ID":"<1f543a82-5816-11f1-d615-a5b4a07c8392@oracle.com>","Date":"Wed, 4 Oct 2017 16:07:42 -0500","User-Agent":"Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170927.214103.2236958753795210322.davem@davemloft.net>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"7bit"}},{"id":1780549,"web_url":"http://patchwork.ozlabs.org/comment/1780549/","msgid":"<ce327f92-1a98-2bdb-e345-71cd59cb73e2@linaro.org>","list_archive_url":null,"date":"2017-10-05T12:18:46","subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","submitter":{"id":66065,"url":"http://patchwork.ozlabs.org/api/people/66065/","name":"Adhemerval Zanella Netto","email":"adhemerval.zanella@linaro.org"},"content":"On 04/10/2017 18:07, Patrick McGehearty wrote:\n> On 9/27/2017 11:41 PM, David Miller wrote:\n>> From: Patrick McGehearty <patrick.mcgehearty@oracle.com>\n>> Date: Wed, 27 Sep 2017 16:09:56 -0400\n>>\n>>> The following patch set provides optimized versions of\n>>> memcpy/mempcpy/memmove/memset/bzero for Sparc versions M7 (and later).\n>>> Support for recognizing M7 is also provided.\n>>> An assembly version of memmove for ultra1+ is provided.\n>>>\n>>> Jose E. Marchesi (2):\n>>>    sparc: support the ADP hw capability.\n>>>    sparc: assembly version of memmove for ultra1+\n>>>\n>>> Patrick McGehearty (1):\n>>>    sparc: M7 optimized memcpy/mempcpy/memmove/memset/bzero.\n>> Looks good to me.\n> Could someone install the 9/28/2017 sparc M7 optimized memcpy/memset\n> patches to the repository?\n> \n> As a new submitter, I don't have permissions.\n\nWhat about https://sourceware.org/ml/libc-alpha/2017-10/msg00125.html ?","headers":{"Return-Path":"<libc-alpha-return-85423-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-85423-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"HgiwH21c\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y7Bdj6p60z9t16\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  5 Oct 2017 23:19:05 +1100 (AEDT)","(qmail 122908 invoked by alias); 5 Oct 2017 12:18:57 -0000","(qmail 122899 invoked by uid 89); 5 Oct 2017 12:18:57 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=cZhJUwABgMlC/bpc\n\tipLKyRmMtHD4P32lPKY1OX2Sm1fy/vT4WuXv/fbvfgpDhIVpamrot9FIMO91SRVq\n\t4HyDYjHz8jXFrDDOc9fOydVUT3TUM0TTGwfJnnKrPRgl47mKkLlwqH4oFnIhjfGx\n\tsfzdbIzCJo9RjikwyqBSHzJjV74=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=PgrCCn8Swv+e4duiUkHeR+\n\tKXJhw=; b=HgiwH21cvoum5RYyCakRBQYRjqoKXtlw0yZwW+HMXrvy++jKUns0Mg\n\tI0cPiqtme9Lz9Be2rvrj4E3ByF3eW8mwaEImCqoZ9tG6GYH1VgJP27rmwiBxTQ4q\n\tadkGbaVnTb0yOXJ1rQCbcGCenaSKKCqfLKDsqnLk9tD9PzcHaBtO8=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-1.4 required=5.0 tests=BAYES_00,\n\tRCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM,\n\tSPF_PASS autolearn=no version=3.3.2\n\tspammy=HContent-Transfer-Encoding:8bit","X-HELO":"mail-qt0-f174.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=r9stK7EoUdwyWhqVjCt+/A54lm8T956P9dPH3EeRx8k=;\n\tb=S58H4wU9zD9A57vxW2gm9qiVuXHuDcRQ8CS+N1kwBFWE4KT4EQvzT0RMWM5kmHnDPw\n\tTLQLuUsBpeMCYMfmL5XN15Ill3kVLoJD835od+Ef2ScfcGzNVEgBhbQsCknXEi7z3Q3L\n\tXZUzhTBltRTNu7h7mBYajlTfx8bukVykiKGjf+nDkebDUjIJysh9fvdUIcML9G76hVFS\n\tB1NXNbyaOB+N1iCrqZHRnuU6JmWpP8XnxIm5iDorTra8KJdgwfK01mz1LpYqduos03Fv\n\t9bjKKELQZYogrhnWmtR6hzSJwe5T89gafBtGj3Q/lep9CPlZ13eGC+0HsNlOUvwSp2HU\n\tIkFw==","X-Gm-Message-State":"AMCzsaVEQuIpBbrVJnJv6xGn6A2L5FBeb5cf3neI+j6pEiEPN2j2NySG\n\toZ8gFSfpKejFmYJnMfeyRez/j9g+cpc=","X-Google-Smtp-Source":"AOwi7QBzu4FuVuCAfGq13ZuTFjOrNI+V+VvvfU1/suTuR1TIPywcJ8xc8K88gAa30dDbk7avIBufYQ==","X-Received":"by 10.200.15.210 with SMTP id f18mr14937603qtk.226.1507205932649;\n\tThu, 05 Oct 2017 05:18:52 -0700 (PDT)","Subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","To":"libc-alpha@sourceware.org","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>\n\t<20170927.214103.2236958753795210322.davem@davemloft.net>\n\t<1f543a82-5816-11f1-d615-a5b4a07c8392@oracle.com>","From":"Adhemerval Zanella <adhemerval.zanella@linaro.org>","Message-ID":"<ce327f92-1a98-2bdb-e345-71cd59cb73e2@linaro.org>","Date":"Thu, 5 Oct 2017 09:18:46 -0300","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<1f543a82-5816-11f1-d615-a5b4a07c8392@oracle.com>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"8bit"}},{"id":1780552,"web_url":"http://patchwork.ozlabs.org/comment/1780552/","msgid":"<5de85da5-b994-1619-a682-7d1fcd2179f6@linaro.org>","list_archive_url":null,"date":"2017-10-05T12:19:18","subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","submitter":{"id":66065,"url":"http://patchwork.ozlabs.org/api/people/66065/","name":"Adhemerval Zanella Netto","email":"adhemerval.zanella@linaro.org"},"content":"On 04/10/2017 18:07, Patrick McGehearty wrote:\n> On 9/27/2017 11:41 PM, David Miller wrote:\n>> From: Patrick McGehearty <patrick.mcgehearty@oracle.com>\n>> Date: Wed, 27 Sep 2017 16:09:56 -0400\n>>\n>>> The following patch set provides optimized versions of\n>>> memcpy/mempcpy/memmove/memset/bzero for Sparc versions M7 (and later).\n>>> Support for recognizing M7 is also provided.\n>>> An assembly version of memmove for ultra1+ is provided.\n>>>\n>>> Jose E. Marchesi (2):\n>>>    sparc: support the ADP hw capability.\n>>>    sparc: assembly version of memmove for ultra1+\n>>>\n>>> Patrick McGehearty (1):\n>>>    sparc: M7 optimized memcpy/mempcpy/memmove/memset/bzero.\n>> Looks good to me.\n> Could someone install the 9/28/2017 sparc M7 optimized memcpy/memset\n> patches to the repository?\n> \n> As a new submitter, I don't have permissions.\n\nWhat about https://sourceware.org/ml/libc-alpha/2017-10/msg00125.html ?\nI am finishing up the ifunc C implementation and I plan to send it\nto review today.","headers":{"Return-Path":"<libc-alpha-return-85425-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-85425-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"VOfxJrHd\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y7BfF16hZz9t16\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  5 Oct 2017 23:19:32 +1100 (AEDT)","(qmail 126509 invoked by alias); 5 Oct 2017 12:19:26 -0000","(qmail 126493 invoked by uid 89); 5 Oct 2017 12:19:26 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=dwAdWpmG+DWwDBtw\n\tOy6yvtvuI3ahgq2dNNENwonVYFWbIpaYm1x6joTWhXlqJ6Xn5F1a6cDzxSMKijbo\n\tYFXUuDd4XbenO0MbqUwaOL+ryjAdx2thGl532zYijbYLdYSbXufwBMYO+hhEDltn\n\tNB2myJPRajIRcq/d4jNYtI/0xw4=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=nU3J2oJch4n5k5S0LCLa/D\n\tPx6BQ=; b=VOfxJrHdfl26N8zCptOcl14IMqFsQThGr6+sYhcw6P5D144hadDP1O\n\tHMXQCSIUYIFBFdqOrBdk1B8EAOLTnaj6L8+bJ0y49kfGp/IGWMKLzNZQnkLTywHK\n\t1OASnsgOOfyX2eKV6fUJGNdZMikigUPneNwIkFHh1YqYSp8Wg2yfc=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-1.4 required=5.0 tests=BAYES_00,\n\tRCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM,\n\tSPF_PASS autolearn=no version=3.3.2 spammy=Hx-languages-length:1045,\n\tHContent-Transfer-Encoding:8bit","X-HELO":"mail-qk0-f175.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=JqMvKmbctB5q23CdtfiIJardPs0DzQ6zYC+5QiKfO2g=;\n\tb=H8xSb/avWPIyqqRTMKWQ8dYHnI/O4v0dLIF5cKr50CeG9Uy0lzzzNLhq5ff/OCx4Aw\n\ts1Zy8s3XNcfop0odPFF4+BU264d6oEVDNpeSkhAd4IBR2fEe3x/dxBHfgg+sGEY14Yd9\n\tEdbEyV3M/vrVjHUwYpQ9dwYZ7udZUKHehAudMqnsHILawBzhpzm1bm5K7XD7ma2Hln74\n\tqhdXVGY1Gf9d3G30D8yKdSq+j92d8ttVHF8tdmq8b1M0YIJOdsmVRCtk2xZJi5V8k8pt\n\tUNNBnfOrG228Qj6/PTlDA2KDHLpLazQ2Ex6zJ0ILUWdEZ+cYUYvBXyEOo7BIj12lapWP\n\teurw==","X-Gm-Message-State":"AMCzsaW73PMibMMqUM3iRe9U3LXasKm40oSrFHu0Ft5EtE1xIj9DvSif\n\tq4TjCYA7z1V9x+R7qaUlo2XDkHslk1g=","X-Google-Smtp-Source":"AOwi7QC2XLqXIFmAaW806ZbUhQJTpOfF05MJIzSR8Xj0Ob+wYbY0ZsmXIT9oziywoz3ZRJ+lO8MFfQ==","X-Received":"by 10.55.217.1 with SMTP id u1mr5938767qki.53.1507205963032;\n\tThu, 05 Oct 2017 05:19:23 -0700 (PDT)","Subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","To":"libc-alpha@sourceware.org","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>\n\t<20170927.214103.2236958753795210322.davem@davemloft.net>\n\t<1f543a82-5816-11f1-d615-a5b4a07c8392@oracle.com>","From":"Adhemerval Zanella <adhemerval.zanella@linaro.org>","Message-ID":"<5de85da5-b994-1619-a682-7d1fcd2179f6@linaro.org>","Date":"Thu, 5 Oct 2017 09:19:18 -0300","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<1f543a82-5816-11f1-d615-a5b4a07c8392@oracle.com>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"8bit"}},{"id":1780642,"web_url":"http://patchwork.ozlabs.org/comment/1780642/","msgid":"<a1761f9f-e5ef-0c95-62be-60b965c0950b@linaro.org>","list_archive_url":null,"date":"2017-10-05T13:54:45","subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","submitter":{"id":66065,"url":"http://patchwork.ozlabs.org/api/people/66065/","name":"Adhemerval Zanella Netto","email":"adhemerval.zanella@linaro.org"},"content":"On 05/10/2017 09:19, Adhemerval Zanella wrote:\n> \n> \n> On 04/10/2017 18:07, Patrick McGehearty wrote:\n>> On 9/27/2017 11:41 PM, David Miller wrote:\n>>> From: Patrick McGehearty <patrick.mcgehearty@oracle.com>\n>>> Date: Wed, 27 Sep 2017 16:09:56 -0400\n>>>\n>>>> The following patch set provides optimized versions of\n>>>> memcpy/mempcpy/memmove/memset/bzero for Sparc versions M7 (and later).\n>>>> Support for recognizing M7 is also provided.\n>>>> An assembly version of memmove for ultra1+ is provided.\n>>>>\n>>>> Jose E. Marchesi (2):\n>>>>    sparc: support the ADP hw capability.\n>>>>    sparc: assembly version of memmove for ultra1+\n>>>>\n>>>> Patrick McGehearty (1):\n>>>>    sparc: M7 optimized memcpy/mempcpy/memmove/memset/bzero.\n>>> Looks good to me.\n>> Could someone install the 9/28/2017 sparc M7 optimized memcpy/memset\n>> patches to the repository?\n>>\n>> As a new submitter, I don't have permissions.\n> \n> What about https://sourceware.org/ml/libc-alpha/2017-10/msg00125.html ?\n> I am finishing up the ifunc C implementation and I plan to send it\n> to review today.\n> \n\nI just sent the ifunc patch to reviews, I will thankful if you could\ncomment if get all the bits right (specially the ifunc selector\nlogic).\n\nAlso I am building a gcc8 sparc toolchain to check if patches\nare ok with gcc mainline, if you could also test with different gcc\nversion it would be plus (I just checked native with gcc 7).\n\nhttps://sourceware.org/ml/libc-alpha/2017-10/msg00254.html\nhttps://sourceware.org/ml/libc-alpha/2017-10/msg00253.html\nhttps://sourceware.org/ml/libc-alpha/2017-10/msg00252.html\nhttps://sourceware.org/ml/libc-alpha/2017-10/msg00251.html","headers":{"Return-Path":"<libc-alpha-return-85444-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-85444-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"n185oVtO\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y7DmP4Ds3z9sRq\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  6 Oct 2017 00:55:01 +1100 (AEDT)","(qmail 40461 invoked by alias); 5 Oct 2017 13:54:54 -0000","(qmail 39542 invoked by uid 89); 5 Oct 2017 13:54:53 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:from:to:references:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=Y/n0UYvJ5NQ5pwpb\n\twERUa0w+WuKX9vKlLN0ZHMypZWMQ20PL+SQd1X90rqICkRsrzcfA9qjMdWOATBJr\n\t+8jbdzOw2oeBBoZd8ChL/FmOX+Bs9LEgagXDDZxYaLvD4zECYhB4PPAIw0N6jSil\n\tgmg7xOfBGMMQOXH76DI+qQc0or0=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:from:to:references:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=Cvu/0yiwwCjDe6v4mUBjOw\n\t0qYaw=; b=n185oVtOFQx04Ms/sbs5UUZ5zwIOwpeBWG3yaTawjepwrOWzGlhMFO\n\tNXzuTlDIsbLuXepIxgFQfVybeAhlxo/uTV+pSLEZ8JrgoxfPYLyZXhkThHhqyNU3\n\thtJ+jfY1o9YGuDhoOIoLHj4BhtlzE+lAAd17EcbjEYn5aVpN3+KV4=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-1.4 required=5.0 tests=BAYES_00,\n\tRCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM,\n\tSPF_PASS autolearn=no version=3.3.2 spammy=Hx-languages-length:1699,\n\tHTo:D*oracle.com, HContent-Transfer-Encoding:8bit","X-HELO":"mail-qt0-f176.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:from:to:references:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=r0LgxI4gAgm2nR9EJdzEvK/9QF+K8p2YbP00xE+003w=;\n\tb=oxmJiJW1DIzbbpgzrNdPbdnQRROTAZoZsXuRix2Ud4kXB42n6aBNKyKHJAyuM+7u3Y\n\tTYvr3ltxXSwtVavSnyrilhn2cWd2Px4PvDKskmRV0/VLXwiYCfud/A7asGf3FJE43Y0u\n\tLqAKNsRQnURMrFOfQAmgllFXvGg5aAIm4KZ4tpRxitgDNzdH9LPfnjATN7Evvviprqw9\n\t50xMRqFK2fbuWANq6ZeLAgvHVJMtc4T0yPYXZ3jJ5vHhkAJctZ6Z8ts2lCMJjcKPA1fU\n\th8WIUpUgk4/NkL/uVXBfs9lVk9w1bkMF9lW0mwsg+k2vDTGX7EpelI/cUWJLoh9+UdKr\n\tnJkw==","X-Gm-Message-State":"AMCzsaU1vyza08LhzRgT9a5fkRuA5YJZhClxe62PQjE8pR187HE8fpEN\n\tmhqdLp7a+AobYCCVt9kuYaH+KAfXKt0=","X-Google-Smtp-Source":"AOwi7QDWDoCHe93FTNEViTdorwpjIZvWGSTzaMusBJuYRT6XKbMmK+k9NQ4qDc0K97f490Ony64w1w==","X-Received":"by 10.237.38.68 with SMTP id z62mr1121483qtc.297.1507211690586; \n\tThu, 05 Oct 2017 06:54:50 -0700 (PDT)","Subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","From":"Adhemerval Zanella <adhemerval.zanella@linaro.org>","To":"libc-alpha@sourceware.org,\n\tPatrick McGehearty <patrick.mcgehearty@oracle.com>","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>\n\t<20170927.214103.2236958753795210322.davem@davemloft.net>\n\t<1f543a82-5816-11f1-d615-a5b4a07c8392@oracle.com>\n\t<5de85da5-b994-1619-a682-7d1fcd2179f6@linaro.org>","Message-ID":"<a1761f9f-e5ef-0c95-62be-60b965c0950b@linaro.org>","Date":"Thu, 5 Oct 2017 10:54:45 -0300","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<5de85da5-b994-1619-a682-7d1fcd2179f6@linaro.org>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"8bit"}},{"id":1790759,"web_url":"http://patchwork.ozlabs.org/comment/1790759/","msgid":"<c3b177a8-f20e-b5c7-16dd-9b4440b31bd2@oracle.com>","list_archive_url":null,"date":"2017-10-19T16:46:37","subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","submitter":{"id":72081,"url":"http://patchwork.ozlabs.org/api/people/72081/","name":"Patrick McGehearty","email":"patrick.mcgehearty@oracle.com"},"content":"On 10/5/2017 7:19 AM, Adhemerval Zanella wrote:\n>\n> On 04/10/2017 18:07, Patrick McGehearty wrote:\n>> On 9/27/2017 11:41 PM, David Miller wrote:\n>>> From: Patrick McGehearty <patrick.mcgehearty@oracle.com>\n>>> Date: Wed, 27 Sep 2017 16:09:56 -0400\n>>>\n>>>> The following patch set provides optimized versions of\n>>>> memcpy/mempcpy/memmove/memset/bzero for Sparc versions M7 (and later).\n>>>> Support for recognizing M7 is also provided.\n>>>> An assembly version of memmove for ultra1+ is provided.\n>>>>\n>>>> Jose E. Marchesi (2):\n>>>>     sparc: support the ADP hw capability.\n>>>>     sparc: assembly version of memmove for ultra1+\n>>>>\n>>>> Patrick McGehearty (1):\n>>>>     sparc: M7 optimized memcpy/mempcpy/memmove/memset/bzero.\n>>> Looks good to me.\n>> Could someone install the 9/28/2017 sparc M7 optimized memcpy/memset\n>> patches to the repository?\n>>\n>> As a new submitter, I don't have permissions.\n> What about https://sourceware.org/ml/libc-alpha/2017-10/msg00125.html ?\n> I am finishing up the ifunc C implementation and I plan to send it\n> to review today.\nIn https://sourceware.org/ml/libc-alpha/2017-10/msg00125.html,\nI see three issues which I will cover here.\n\nPerformance:\n\nI reported:\n >>> For memcpy/mempcpy/memmove, performance comparison with niagara4 code:\n >>> Long word aligned data\n >>>    0-127 bytes - minimal changes\n >>>    128-1023 bytes - 7-30% gain\n >>>    1024+ bytes - 1-7% gain (in cache); 30-100% gain (out of cache)\n >>> Word aligned data\n >>>    0-127 bytes - 50%+ gain\n >>>    128-1023 bytes - 10-200% gain\n >>>    1024+ bytes - 0-15% gain (in cache); 5-50% gain (out of cache)\n >>> Unaligned data\n >>>    0-127 bytes - 0-70%+ gain\n >>>    128-447 bytes - 40-80%+ gain\n >>>    448-511 bytes - 1-3% loss\n >>>    512-4096 bytes - 2-3% gain (in cache); 0-20% gain (out of cache)\n >>>    4096+ bytes - +/- 3% (in cache); 20-50% gain (out of cache)\n >>>\n >>> For memset/bzero, performance comparison with niagara4 code:\n >>> For memset nonzero data,\n >>>    256-1023 bytes - 60-90% gain (in cache); 5% gain (out of cache)\n >>>    1K+ bytes - 80-260% gain (in cache); 40-80% gain (out of cache)\n >>> For memset zero data (and bzero),\n >>>    256-1023 bytes - 80-120% gain (in cache), 0% gain (out of cache)\n >>>    1024+ bytes - 2-4x gain (in cache), 10-35% gain (out of cache)\n\nAdhemerval asked:\n >Which benchmark did you use to get theses values? If it where obtained\n >with benchtests one please attach the resulting files.  If not, please\n >either indicate how to reproduce the data or work to improve benchtests\n >with required datapoints.\n\nA fair question. As noted, the performance comparisions are with the\nniagara4 code for memcpy and memset, the current default for m7/t7/s7\nsparc platforms.\n\nI used a personal perf test suite that I developed over a period of\nyears while tuning memcpy/memset for Sparc/Solaris for most Sparc\nplatforms going back to UltraSparc IV. The tests are run in isolation\nand not quickly adaptable to the existing Linux bench tests\nstructure. I also ran the Linux bench tests. The results from\nthe Linux bench tests are generally similar to the numbers shown\nabove, with some individual differences due to different ordering\nof test sizes which causes different branch prediction and cache\nwarmth behavior. Because these tests give similar results, I see\nno particular need to add my tests to the Linux bench tests.\nI've continued to use my tests because of my long familiarity them.\n\nAs possible interest for those designing \"out of cache\" tests, the\napproach used in my personal tests is to allocate a \"cache clearing\nbuffer\" at least 4 times the size of the largest cache on the system\nunder test. In these tests, the L3 cache size is 64 MBytes and my\nbuffer size was 256 MBytes. Before each set of timing runs,\nmy program wrote new data to each long word address of the\ncache clearing buffer. Then, during the timing test for each\ncombination of src and destination alignments and test lengths,\nsuccessive copies were executed with each successive src and dest\nstarted at least 512 bytes after the end of the previous copy.\nThe innermost loop did 20 copies. Each timing test was repeated\n7 times with the median being used to minimize noise effects\nof other system activity.\n\n > Adhemerval asked that memcpy and memset be in separate patches\n > within the patch set.\n\nIf it is necessary to resubmit the patch set for other reasons,\nI will split memcpy and memset. Without the need to resubmit,\nit feels like 'make work' in my opinion. The optimizations to both\nfiles are logically similar and driven by the architectural\nchanges in the Block Init Store (BIS) instruction.\n\n > Adhemerval asked that the ifunc selector code use C instead of assembly.\n > He has prepared changes to replace all assembly uses of ifunc with C.\n\nThe existing ifunc code in that directory uses assembly.\nAdhemerval's changes were not available when I submitted the patch.\nAs far as I understand, they are still not available in the main branch.\nMaking those changes increases risk for my memcpy/memset optimizations.\nI consider such work, while worthy in its own right, to be out of\nscope for my patch set.\n\nRespectively,\n- Patrick McGehearty","headers":{"Return-Path":"<libc-alpha-return-86104-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-86104-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"oNJkMMTy\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3yHvwX3G8Kz9tX7\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 20 Oct 2017 03:47:08 +1100 (AEDT)","(qmail 61931 invoked by alias); 19 Oct 2017 16:46:48 -0000","(qmail 61875 invoked by uid 89); 19 Oct 2017 16:46:47 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=ZYg4iW2dyQq/lPKP\n\t2UQWmo2qeCBDrI88UfBj0MhpNbBFxBISvF8Ph6BG2X65NUekgzx8LzooTFnDhePq\n\t7LEjfALg7DsaGyqgZSSkMpiTkjbk5THmy4UPj64TKY30oUK9pvqIwOzr7GVZrOim\n\tCbMgj91rZo8LYGS52naqUUDm8Fc=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=C+HFoCW15zFeqjYNnYx4rq\n\t7L/Ag=; b=oNJkMMTysLlmTyo4HULAK965ddX+npsnjY23u21qYOHBNZjS18+6oS\n\tujqnsWwXJxf4mbIyV/hNi2EP0+ImjGfASZ5MyHqpyJ+IhEcKYBDZChmvrZKTS3bq\n\tOM2QdAhi3xbyBk9wpk4ygT1t84uGMde/mlIxRqQo98WUMoWOpz/qk=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-0.9 required=5.0 tests=BAYES_00,\n\tKAM_LAZY_DOMAIN_SECURITY,\n\tRP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=015, 2050,\n\tmiller, jose","X-HELO":"userp1040.oracle.com","Subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","To":"libc-alpha@sourceware.org","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>\n\t<20170927.214103.2236958753795210322.davem@davemloft.net>\n\t<1f543a82-5816-11f1-d615-a5b4a07c8392@oracle.com>\n\t<5de85da5-b994-1619-a682-7d1fcd2179f6@linaro.org>","From":"Patrick McGehearty <patrick.mcgehearty@oracle.com>","Message-ID":"<c3b177a8-f20e-b5c7-16dd-9b4440b31bd2@oracle.com>","Date":"Thu, 19 Oct 2017 11:46:37 -0500","User-Agent":"Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101\n\tThunderbird/52.4.0","MIME-Version":"1.0","In-Reply-To":"<5de85da5-b994-1619-a682-7d1fcd2179f6@linaro.org>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"8bit"}},{"id":1794434,"web_url":"http://patchwork.ozlabs.org/comment/1794434/","msgid":"<da5e9e31-4323-0415-4d35-d956d5f9546b@linaro.org>","list_archive_url":null,"date":"2017-10-26T19:39:19","subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","submitter":{"id":66065,"url":"http://patchwork.ozlabs.org/api/people/66065/","name":"Adhemerval Zanella Netto","email":"adhemerval.zanella@linaro.org"},"content":"On 19/10/2017 14:46, Patrick McGehearty wrote:\n> On 10/5/2017 7:19 AM, Adhemerval Zanella wrote:\n>>\n>> On 04/10/2017 18:07, Patrick McGehearty wrote:\n>>> On 9/27/2017 11:41 PM, David Miller wrote:\n>>>> From: Patrick McGehearty <patrick.mcgehearty@oracle.com>\n>>>> Date: Wed, 27 Sep 2017 16:09:56 -0400\n>>>>\n>>>>> The following patch set provides optimized versions of\n>>>>> memcpy/mempcpy/memmove/memset/bzero for Sparc versions M7 (and later).\n>>>>> Support for recognizing M7 is also provided.\n>>>>> An assembly version of memmove for ultra1+ is provided.\n>>>>>\n>>>>> Jose E. Marchesi (2):\n>>>>>     sparc: support the ADP hw capability.\n>>>>>     sparc: assembly version of memmove for ultra1+\n>>>>>\n>>>>> Patrick McGehearty (1):\n>>>>>     sparc: M7 optimized memcpy/mempcpy/memmove/memset/bzero.\n>>>> Looks good to me.\n>>> Could someone install the 9/28/2017 sparc M7 optimized memcpy/memset\n>>> patches to the repository?\n>>>\n>>> As a new submitter, I don't have permissions.\n>> What about https://sourceware.org/ml/libc-alpha/2017-10/msg00125.html ?\n>> I am finishing up the ifunc C implementation and I plan to send it\n>> to review today.\n> In https://sourceware.org/ml/libc-alpha/2017-10/msg00125.html,\n> I see three issues which I will cover here.\n> \n> Performance:\n> \n> I reported:\n>>>> For memcpy/mempcpy/memmove, performance comparison with niagara4 code:\n>>>> Long word aligned data\n>>>>    0-127 bytes - minimal changes\n>>>>    128-1023 bytes - 7-30% gain\n>>>>    1024+ bytes - 1-7% gain (in cache); 30-100% gain (out of cache)\n>>>> Word aligned data\n>>>>    0-127 bytes - 50%+ gain\n>>>>    128-1023 bytes - 10-200% gain\n>>>>    1024+ bytes - 0-15% gain (in cache); 5-50% gain (out of cache)\n>>>> Unaligned data\n>>>>    0-127 bytes - 0-70%+ gain\n>>>>    128-447 bytes - 40-80%+ gain\n>>>>    448-511 bytes - 1-3% loss\n>>>>    512-4096 bytes - 2-3% gain (in cache); 0-20% gain (out of cache)\n>>>>    4096+ bytes - +/- 3% (in cache); 20-50% gain (out of cache)\n>>>>\n>>>> For memset/bzero, performance comparison with niagara4 code:\n>>>> For memset nonzero data,\n>>>>    256-1023 bytes - 60-90% gain (in cache); 5% gain (out of cache)\n>>>>    1K+ bytes - 80-260% gain (in cache); 40-80% gain (out of cache)\n>>>> For memset zero data (and bzero),\n>>>>    256-1023 bytes - 80-120% gain (in cache), 0% gain (out of cache)\n>>>>    1024+ bytes - 2-4x gain (in cache), 10-35% gain (out of cache)\n> \n> Adhemerval asked:\n>>Which benchmark did you use to get theses values? If it where obtained\n>>with benchtests one please attach the resulting files.  If not, please\n>>either indicate how to reproduce the data or work to improve benchtests\n>>with required datapoints.\n> \n> A fair question. As noted, the performance comparisions are with the\n> niagara4 code for memcpy and memset, the current default for m7/t7/s7\n> sparc platforms.\n> \n> I used a personal perf test suite that I developed over a period of\n> years while tuning memcpy/memset for Sparc/Solaris for most Sparc\n> platforms going back to UltraSparc IV. The tests are run in isolation\n> and not quickly adaptable to the existing Linux bench tests\n> structure. I also ran the Linux bench tests. The results from\n> the Linux bench tests are generally similar to the numbers shown\n> above, with some individual differences due to different ordering\n> of test sizes which causes different branch prediction and cache\n> warmth behavior. Because these tests give similar results, I see\n> no particular need to add my tests to the Linux bench tests.\n> I've continued to use my tests because of my long familiarity them.\n\nI presume by 'Linux bench tests' you referring to glibc benchtests,\nright? Usually with performance enhancement is usual to send the\nbenchmark data from improved symbols along with the patch submission.\n\n> \n> As possible interest for those designing \"out of cache\" tests, the\n> approach used in my personal tests is to allocate a \"cache clearing\n> buffer\" at least 4 times the size of the largest cache on the system\n> under test. In these tests, the L3 cache size is 64 MBytes and my\n> buffer size was 256 MBytes. Before each set of timing runs,\n> my program wrote new data to each long word address of the\n> cache clearing buffer. Then, during the timing test for each\n> combination of src and destination alignments and test lengths,\n> successive copies were executed with each successive src and dest\n> started at least 512 bytes after the end of the previous copy.\n> The innermost loop did 20 copies. Each timing test was repeated\n> 7 times with the median being used to minimize noise effects\n> of other system activity.\n\nIf you could improve the mem* benchtests with this suggestion by\nsending patches to either benchmark changes or new benchmarks\nit will be welcome.\n\n> \n>> Adhemerval asked that memcpy and memset be in separate patches\n>> within the patch set.\n> \n> If it is necessary to resubmit the patch set for other reasons,\n> I will split memcpy and memset. Without the need to resubmit,\n> it feels like 'make work' in my opinion. The optimizations to both\n> files are logically similar and driven by the architectural\n> changes in the Block Init Store (BIS) instruction.\n> \n>> Adhemerval asked that the ifunc selector code use C instead of assembly.\n>> He has prepared changes to replace all assembly uses of ifunc with C.\n> \n> The existing ifunc code in that directory uses assembly.\n> Adhemerval's changes were not available when I submitted the patch.\n> As far as I understand, they are still not available in the main branch.\n> Making those changes increases risk for my memcpy/memset optimizations.\n> I consider such work, while worthy in its own right, to be out of\n> scope for my patch set.\n> \n> Respectively,\n> - Patrick McGehearty\n\nI just sent a patchset to refactor all remaining IFUNC resolver still\nin assembly to C, including all the missing sparc ones.  \n\nAlso, I adjusted your patches to my refactor in personal branch [2] and\nI also split the patch in memcpy/memmove and memset/bzero. It simplifies \na lot new ifunc inclusions, for instance the memcpy part is just:\n\n---\ndiff --git a/sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h b/sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h\nindex 46f3795..dbdad2d 100644 (file)\n--- a/sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h\n+++ b/sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h\n@@ -19,6 +19,7 @@\n \n #include <ifunc-init.h>\n \n+extern __typeof (REDIRECT_NAME) OPTIMIZE (niagara7) attribute_hidden;\n extern __typeof (REDIRECT_NAME) OPTIMIZE (niagara4) attribute_hidden;\n extern __typeof (REDIRECT_NAME) OPTIMIZE (niagara2) attribute_hidden;\n extern __typeof (REDIRECT_NAME) OPTIMIZE (niagara1) attribute_hidden;\n@@ -28,6 +29,8 @@ extern __typeof (REDIRECT_NAME) OPTIMIZE (ultra1) attribute_hidden;\n static inline void *\n IFUNC_SELECTOR (int hwcap)\n {\n+  if (hwcap & HWCAP_SPARC_ADP)\n+    return OPTIMIZE (niagara7);\n   if (hwcap & HWCAP_SPARC_CRYPTO)\n     return OPTIMIZE (niagara4);\n   if (hwcap & HWCAP_SPARC_N2)\n---\n\nSo if you could help with any review I will be thankful. I would expect\nthe memcpy/memmove and memset/bzero refactor to be straightforward.\n\n[1] https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/azanella/ifunc-c-sparc-m7","headers":{"Return-Path":"<libc-alpha-return-86428-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-86428-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"YHMZaETQ\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3yNHQL197Sz9t66\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 27 Oct 2017 06:39:37 +1100 (AEDT)","(qmail 48060 invoked by alias); 26 Oct 2017 19:39:30 -0000","(qmail 46858 invoked by uid 89); 26 Oct 2017 19:39:29 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=M9aUsXps4H0fQuDr\n\tTbGq+eNg1sAzQB+BM8fng319N7ZLpCb5dtow5j6rU0PjONzyMtZ3hhGgCtilti/Z\n\tYmznLzfydqlcb5WJvgaNQIPCT4xfEQ9gbbJkiishplyyVz6+YHp7V869fYAan/Es\n\t//VXicu/hPgy4sgMQOYUGWbZ9gk=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=UL98ESAeop16nsFODPReHr\n\tuYjY8=; b=YHMZaETQ9IzqqCmU7Z3bW0iLAeqrXINlbsI8RUnFSBUpsyfM/jSRVm\n\tKDW5fQpS2uG+wM5AWGfvWX4OxjjofUNhJYCoxVykIcY1WeC//eNetZJzk91albs5\n\tb+AQZMYXbQygsKlq0K00nL5XV858u/wNotFb83arohWesFK1sazbc=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-26.4 required=5.0 tests=BAYES_00, GIT_PATCH_0,\n\tGIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_SORBS_SPAM,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=1035, developed,\n\tthankful, 020","X-HELO":"mail-qk0-f196.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=r7M6uutptInd/d+4ORhlLy7COCrgM75l5UXpmsSVGkM=;\n\tb=g1YaL2of6IWCa/roJhRypTBrd+6LsDn3qjgeG8tCM9YKPyFo4mvnKnU1X9Vc85eQ05\n\tqiI/Cixi+OvGhSKAVCCAdNBaDR+JAY/zn56OR5/zYVyLDBMue66DJllhJ6QfnjfT8/HX\n\tVRvG2woYMb9U6gNK7jOIPtecVTsZoLm6o57os5mQ+AgEF4ziXeCJkZf/Ue2bGsav4s4U\n\tlrLFBF/rLDXQWdiP9MwVEUKfgBpHqf2oDH0Y7tqkVZ1LDFk6cfWt86BRToCTiBD2bmn/\n\tVeGE/8Pri9jeYL09msyZ/bQaKnyq3phBREr4ge1XrZKSjR2VuWUDn8kQa7UJW9fHwmmB\n\tm4Jw==","X-Gm-Message-State":"AMCzsaWHXIJy3LXXqexP1fABuIGPu4XW/Dw2au/vPdnPAZihzWIYyI81\n\tb6gJ9o1GAOK3gqWBEOa4a3nTav5hD6A=","X-Google-Smtp-Source":"ABhQp+QiAW+4JNvRG62RTpL9IRdiizrhwRA8I9i6nYj/0NPqwEaM5ZCPh5urR4k/ry+71+D/sXjdFg==","X-Received":"by 10.55.156.210 with SMTP id f201mr9169300qke.283.1509046764426;\n\tThu, 26 Oct 2017 12:39:24 -0700 (PDT)","Subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","To":"libc-alpha@sourceware.org","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>\n\t<20170927.214103.2236958753795210322.davem@davemloft.net>\n\t<1f543a82-5816-11f1-d615-a5b4a07c8392@oracle.com>\n\t<5de85da5-b994-1619-a682-7d1fcd2179f6@linaro.org>\n\t<c3b177a8-f20e-b5c7-16dd-9b4440b31bd2@oracle.com>","From":"Adhemerval Zanella <adhemerval.zanella@linaro.org>","Message-ID":"<da5e9e31-4323-0415-4d35-d956d5f9546b@linaro.org>","Date":"Thu, 26 Oct 2017 17:39:19 -0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.4.0","MIME-Version":"1.0","In-Reply-To":"<c3b177a8-f20e-b5c7-16dd-9b4440b31bd2@oracle.com>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"8bit"}},{"id":1797990,"web_url":"http://patchwork.ozlabs.org/comment/1797990/","msgid":"<4b693056-34e6-f4be-4161-59503de32e8a@oracle.com>","list_archive_url":null,"date":"2017-11-02T15:17:43","subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","submitter":{"id":72081,"url":"http://patchwork.ozlabs.org/api/people/72081/","name":"Patrick McGehearty","email":"patrick.mcgehearty@oracle.com"},"content":"On 10/26/2017 2:39 PM, Adhemerval Zanella wrote:\n>\n> On 19/10/2017 14:46, Patrick McGehearty wrote:\n>\n>>> Adhemerval asked that the ifunc selector code use C instead of assembly.\n>>> He has prepared changes to replace all assembly uses of ifunc with C.\n>> The existing ifunc code in that directory uses assembly.\n>> Adhemerval's changes were not available when I submitted the patch.\n>> As far as I understand, they are still not available in the main branch.\n>> Making those changes increases risk for my memcpy/memset optimizations.\n>> I consider such work, while worthy in its own right, to be out of\n>> scope for my patch set.\n>>\n>> Respectively,\n>> - Patrick McGehearty\n> I just sent a patchset to refactor all remaining IFUNC resolver still\n> in assembly to C, including all the missing sparc ones.\n>\n> Also, I adjusted your patches to my refactor in personal branch [2] and\n> I also split the patch in memcpy/memmove and memset/bzero. It simplifies\n> a lot new ifunc inclusions, for instance the memcpy part is just:\n>\n> ---\n> diff --git a/sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h b/sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h\n> index 46f3795..dbdad2d 100644 (file)\n> --- a/sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h\n> +++ b/sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h\n> @@ -19,6 +19,7 @@\n>   \n>   #include <ifunc-init.h>\n>   \n> +extern __typeof (REDIRECT_NAME) OPTIMIZE (niagara7) attribute_hidden;\n>   extern __typeof (REDIRECT_NAME) OPTIMIZE (niagara4) attribute_hidden;\n>   extern __typeof (REDIRECT_NAME) OPTIMIZE (niagara2) attribute_hidden;\n>   extern __typeof (REDIRECT_NAME) OPTIMIZE (niagara1) attribute_hidden;\n> @@ -28,6 +29,8 @@ extern __typeof (REDIRECT_NAME) OPTIMIZE (ultra1) attribute_hidden;\n>   static inline void *\n>   IFUNC_SELECTOR (int hwcap)\n>   {\n> +  if (hwcap & HWCAP_SPARC_ADP)\n> +    return OPTIMIZE (niagara7);\n>     if (hwcap & HWCAP_SPARC_CRYPTO)\n>       return OPTIMIZE (niagara4);\n>     if (hwcap & HWCAP_SPARC_N2)\n> ---\n>\n> So if you could help with any review I will be thankful. I would expect\n> the memcpy/memmove and memset/bzero refactor to be straightforward.\n>\n> [1] https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/azanella/ifunc-c-sparc-m7\nI've reviewed Adhemerval's changes including building\nand running on my sparc s7 system. They look good to me.\nOnly issue I see is a naming difference in sysdeps/sparc/sparc64/multiarch\nbetween:\nifunc-memmove.c\nmemcpy.c\nmempcpy.c\nmemset.c\n\nPerhaps ifunc-memmove.c should be named memmove.c for consistency\nwith memset.c, mempcpy.c and memcpy.c?  Or all named ifunc-mem*.c?\n\n- Patrick McGehearty","headers":{"Return-Path":"<libc-alpha-return-86677-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-86677-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"VLmJJqaF\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3ySTHB10MWz9sNc\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  3 Nov 2017 02:17:57 +1100 (AEDT)","(qmail 10020 invoked by alias); 2 Nov 2017 15:17:51 -0000","(qmail 10010 invoked by uid 89); 2 Nov 2017 15:17:50 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=qsYWiDwBWkaAxqEI\n\te5YU3OacTVKBa6FC20+6Ka5tE1kmt2/Ky85H2hWC/WcWME17qA371sbxqWq5GiBq\n\t4PO+Lk9URsvJKS/ShTrTM3/UtOfxDSJ+VzJmZ899lRfRAOEl0IzU5rvq5QbkICHL\n\tpiTMK+h9GtaH2O8eX1sCFogrDlM=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=b7ytrF+Z7UJKievfZ5u1HD\n\t6Frpk=; b=VLmJJqaFNTkYcBMkRGy38vP0z8Rd0l0nmvO6d+l/ukM9P+6IFzKc+i\n\tXZ2F8W7KJOiL6wS5JVrtmvhPEaxQKNSiLVpONa/j9eFBnE7/TmEglL2qZIfnhjtx\n\tETlgxyrkUzmhTYIajG6GYhieoXHm2WCpkUUYPZFssu/wKXSvnwzwI=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0,\n\tGIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RP_MATCHES_RCVD,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=H*UA:6.3, H*u:6.3,\n\theads, azanella","X-HELO":"aserp1040.oracle.com","Subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","To":"libc-alpha@sourceware.org","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>\n\t<20170927.214103.2236958753795210322.davem@davemloft.net>\n\t<1f543a82-5816-11f1-d615-a5b4a07c8392@oracle.com>\n\t<5de85da5-b994-1619-a682-7d1fcd2179f6@linaro.org>\n\t<c3b177a8-f20e-b5c7-16dd-9b4440b31bd2@oracle.com>\n\t<da5e9e31-4323-0415-4d35-d956d5f9546b@linaro.org>","From":"Patrick McGehearty <patrick.mcgehearty@oracle.com>","Message-ID":"<4b693056-34e6-f4be-4161-59503de32e8a@oracle.com>","Date":"Thu, 2 Nov 2017 10:17:43 -0500","User-Agent":"Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101\n\tThunderbird/52.4.0","MIME-Version":"1.0","In-Reply-To":"<da5e9e31-4323-0415-4d35-d956d5f9546b@linaro.org>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"8bit"}},{"id":1798997,"web_url":"http://patchwork.ozlabs.org/comment/1798997/","msgid":"<c6bcc423-3082-8f20-ba7c-d14fff89f547@linaro.org>","list_archive_url":null,"date":"2017-11-03T23:51:12","subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","submitter":{"id":66065,"url":"http://patchwork.ozlabs.org/api/people/66065/","name":"Adhemerval Zanella Netto","email":"adhemerval.zanella@linaro.org"},"content":"On 02/11/2017 13:17, Patrick McGehearty wrote:\n> On 10/26/2017 2:39 PM, Adhemerval Zanella wrote:\n>>\n>> On 19/10/2017 14:46, Patrick McGehearty wrote:\n>>\n>>>> Adhemerval asked that the ifunc selector code use C instead of assembly.\n>>>> He has prepared changes to replace all assembly uses of ifunc with C.\n>>> The existing ifunc code in that directory uses assembly.\n>>> Adhemerval's changes were not available when I submitted the patch.\n>>> As far as I understand, they are still not available in the main branch.\n>>> Making those changes increases risk for my memcpy/memset optimizations.\n>>> I consider such work, while worthy in its own right, to be out of\n>>> scope for my patch set.\n>>>\n>>> Respectively,\n>>> - Patrick McGehearty\n>> I just sent a patchset to refactor all remaining IFUNC resolver still\n>> in assembly to C, including all the missing sparc ones.\n>>\n>> Also, I adjusted your patches to my refactor in personal branch [2] and\n>> I also split the patch in memcpy/memmove and memset/bzero. It simplifies\n>> a lot new ifunc inclusions, for instance the memcpy part is just:\n>>\n>> ---\n>> diff --git a/sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h b/sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h\n>> index 46f3795..dbdad2d 100644 (file)\n>> --- a/sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h\n>> +++ b/sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h\n>> @@ -19,6 +19,7 @@\n>>     #include <ifunc-init.h>\n>>   +extern __typeof (REDIRECT_NAME) OPTIMIZE (niagara7) attribute_hidden;\n>>   extern __typeof (REDIRECT_NAME) OPTIMIZE (niagara4) attribute_hidden;\n>>   extern __typeof (REDIRECT_NAME) OPTIMIZE (niagara2) attribute_hidden;\n>>   extern __typeof (REDIRECT_NAME) OPTIMIZE (niagara1) attribute_hidden;\n>> @@ -28,6 +29,8 @@ extern __typeof (REDIRECT_NAME) OPTIMIZE (ultra1) attribute_hidden;\n>>   static inline void *\n>>   IFUNC_SELECTOR (int hwcap)\n>>   {\n>> +  if (hwcap & HWCAP_SPARC_ADP)\n>> +    return OPTIMIZE (niagara7);\n>>     if (hwcap & HWCAP_SPARC_CRYPTO)\n>>       return OPTIMIZE (niagara4);\n>>     if (hwcap & HWCAP_SPARC_N2)\n>> ---\n>>\n>> So if you could help with any review I will be thankful. I would expect\n>> the memcpy/memmove and memset/bzero refactor to be straightforward.\n>>\n>> [1] https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/azanella/ifunc-c-sparc-m7\n> I've reviewed Adhemerval's changes including building\n> and running on my sparc s7 system. They look good to me.\n> Only issue I see is a naming difference in sysdeps/sparc/sparc64/multiarch\n> between:\n> ifunc-memmove.c\n> memcpy.c\n> mempcpy.c\n> memset.c\n> \n> Perhaps ifunc-memmove.c should be named memmove.c for consistency\n> with memset.c, mempcpy.c and memcpy.c?  Or all named ifunc-mem*.c?\n\nIndeed this naming is a mistake and I will correct it before send it upstream\n(sysdeps/sparc/sparc64/multiarch/ifunc-memmove.c should be indded\nsysdeps/sparc/sparc64/multiarch/memmove.c).\nIt also shown a missing #endif at the end the file, thanks.","headers":{"Return-Path":"<libc-alpha-return-86760-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-86760-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"xHhiQUJ+\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3yTJdG0lWJz9sNr\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat,  4 Nov 2017 10:51:29 +1100 (AEDT)","(qmail 90901 invoked by alias); 3 Nov 2017 23:51:21 -0000","(qmail 90851 invoked by uid 89); 3 Nov 2017 23:51:21 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=cIVNuYpg+hAX2PPr\n\t3hxjtofAX5CH89XYvGA6uH5CCJWF0OnCUgloro2q+ChwHcupXXnap/zBryHaMK24\n\texvnLtBNBOI5mYJHkRfReNACB7c/hs1fO+E3FxaUNzc+A55yKYeCqk8msWtohuM0\n\tiILTdMVLGWWZDCeOAUn+Jmv2vos=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=BmnCAOmNTazdqTC4/iibXy\n\tLosvs=; b=xHhiQUJ+3Br9TG+R6MM22/ZOuUgiHprkzO9I8APYxiQDGeobFywkSR\n\t97S1Ym1S9Beovo8iz+jUDsGI66Wi5hp0nZWo8Oy7Taf5huJIQ3mjLGORZHdwyENK\n\tMTWf+Q8MT9Q2HP25C4tJnPej/xekiZnomx/yVeB6CQNMTxVYVRzRo=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-26.1 required=5.0 tests=AWL, BAYES_00,\n\tGIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3,\n\tRCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=worthy, personal","X-HELO":"mail-qt0-f193.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:references:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-language\n\t:content-transfer-encoding;\n\tbh=VY8r0uSMVL7cJqZARAOzry81i7KcmpynwwUXzmL3QX4=;\n\tb=ZjIrjPZBcjO8tQTfn+vkq80I6c/uWuwIqhiVYZIwDi2g9mZKhknNtRAO0zsQv0h43/\n\tDFaeGGp9qn6lnLhfACcp+6B9VI4k42Wf0VIYYV5lELlJW9XrBrT0RohXgsS/A8S8z8sY\n\tTbBzOMvOzmNfG7LRzixPy7EaNo23p+jBz3YZ9Cn+JWH8AjaLU7qW5HSJSO3ZhDne2rwR\n\tZMZWgOLhdn7HOss16UTlLupYj/yzJS20BucEDWDAWp0Dnz+lw/3QKBR6liBQP9d7iWSv\n\t9pUpxFWARcl0yRKP4D+mG8Lk4WL3Qs7e1ZihsOI70u7kWUzh6IoPwrgXuMfqJQPzDqP3\n\tI6VQ==","X-Gm-Message-State":"AMCzsaWjcFyCQLTX5IaT+7dKRRVB3dsvzznyowiofZXKlk8NHF5l7FUs\n\tmi8gbBRgxramWESTR4hQAw4m7yTpE6Q=","X-Google-Smtp-Source":"ABhQp+T6ZtihwHL+B/XU2lnWUM5w/EVygZO/mEwgCvRoFXwqOzr1cwaxtWhRx6/5T0wBlr77WktqUA==","X-Received":"by 10.200.35.248 with SMTP id r53mr12219317qtr.110.1509753077142;\n\tFri, 03 Nov 2017 16:51:17 -0700 (PDT)","Subject":"Re: [PATCH 0/3] sparc M7 optimized memcpy/memset","To":"libc-alpha@sourceware.org","References":"<1506542999-97895-1-git-send-email-patrick.mcgehearty@oracle.com>\n\t<20170927.214103.2236958753795210322.davem@davemloft.net>\n\t<1f543a82-5816-11f1-d615-a5b4a07c8392@oracle.com>\n\t<5de85da5-b994-1619-a682-7d1fcd2179f6@linaro.org>\n\t<c3b177a8-f20e-b5c7-16dd-9b4440b31bd2@oracle.com>\n\t<da5e9e31-4323-0415-4d35-d956d5f9546b@linaro.org>\n\t<4b693056-34e6-f4be-4161-59503de32e8a@oracle.com>","From":"Adhemerval Zanella <adhemerval.zanella@linaro.org>","Message-ID":"<c6bcc423-3082-8f20-ba7c-d14fff89f547@linaro.org>","Date":"Fri, 3 Nov 2017 21:51:12 -0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.4.0","MIME-Version":"1.0","In-Reply-To":"<4b693056-34e6-f4be-4161-59503de32e8a@oracle.com>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"8bit"}}]