From owner-dev-commits-src-main@freebsd.org Mon Feb 8 23:13:19 2021 Return-Path: Delivered-To: dev-commits-src-main@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C2582545626 for ; Mon, 8 Feb 2021 23:13:19 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Received: from mail-yb1-xb2d.google.com (mail-yb1-xb2d.google.com [IPv6:2607:f8b0:4864:20::b2d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4DZMJb52C1z3JcH for ; Mon, 8 Feb 2021 23:13:19 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Received: by mail-yb1-xb2d.google.com with SMTP id l8so3948332ybe.12 for ; Mon, 08 Feb 2021 15:13:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kev009.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=dtqMVTHuWRHAqa5igx+7KUMxAugygD6giRPjnLurKrs=; b=YpunP0Z5P6KGYIJeY/udor51yvgbGS8x5WQa4TzOPY/zeAwtBGta6p7i2LpIts5REj RQkRiyRYipywbufv+Gxuvb5xVMG11UkY44fORPJIbCsjCrcWEioFuhdBnKCz8oTG3hsb Dl195sEBK16rILJRJCg+mllSCUpdyKTNuAri0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=dtqMVTHuWRHAqa5igx+7KUMxAugygD6giRPjnLurKrs=; b=e6zUzOkOQOgqXuFvp/Z33JX7HCsjsf7cevSKawy7RHZQwbvd1CfO11T8d7i2MlDFBX Wt8M7K840z/u60RGY3PTIK3Jxr99OMd44sn6MPySo7I62zsQ0iysaXqtmIScbG3O55Ft W0eG40lUYGpJnXvuId3Y1DaPrcn+asQANp1fznW/rGmyzT02J1lxmfvWiCohRAe5Yvya aoLuCtMOgpped/M7Za7IBWQpyeLC8LpR7ItxzWMs2zWVv8njmz/hueIiSW9VvkIzN4j+ oA4ywjCX4kkxQByJJ96OwUfCwavRWcN9TxT4RUxQa/PryK8v3mPM5SA1y1Ihlhy0iEmU I8cg== X-Gm-Message-State: AOAM531huW5N1OLh4hW7v69MXWylRtzwcVrSy8TNbT0jm6wbR72WIid8 ahfcpkVtNEfE6HmpzSLkNFzaMoST2k7jG/UEcPkCKWZZ3+eq0w== X-Google-Smtp-Source: ABdhPJztm59NWBttU3jOstBzSK0WaOi5dttUFKysUZW0IEUBGlrdkHwE6SuTNrcJSuEGAjkYE9gR42oLD7OVmnuoX9c= X-Received: by 2002:a25:7453:: with SMTP id p80mr28199124ybc.297.1612825998183; Mon, 08 Feb 2021 15:13:18 -0800 (PST) MIME-Version: 1.0 References: <202102081915.118JFXkJ067892@gitrepo.freebsd.org> <3E64387A-42DD-4470-8893-5B774F19754E@freebsd.org> In-Reply-To: <3E64387A-42DD-4470-8893-5B774F19754E@freebsd.org> From: Kevin Bowling Date: Mon, 8 Feb 2021 16:13:05 -0700 Message-ID: Subject: Re: git: af366d353b84 - main - amd64: implement strlen in assembly To: Jessica Clarke Cc: Mateusz Guzik , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4DZMJb52C1z3JcH X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: dev-commits-src-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for the main branch of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Feb 2021 23:13:19 -0000 FreeBSD does not require pre-commit approval unless called out specifically. Are you volunteering to review the changes, and if so where is your guidance? These messages are otherwise unhelpful. On Mon, Feb 8, 2021 at 12:37 PM Jessica Clarke wrote: > > On 8 Feb 2021, at 19:15, Mateusz Guzik wrote: > > > > The branch main has been updated by mjg: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=af366d353b84bdc4e730f0fc563853abc338271c > > > > commit af366d353b84bdc4e730f0fc563853abc338271c > > Author: Mateusz Guzik > > AuthorDate: 2021-02-08 17:01:48 +0000 > > Commit: Mateusz Guzik > > CommitDate: 2021-02-08 19:15:21 +0000 > > > > amd64: implement strlen in assembly > > > > The C variant in libkern performs excessive branching to find the > > non-zero byte instead of using the bsfq instruction. The same code > > patched to use it is still slower than the routine implemented here > > as the compiler keeps neglecting to perform certain optimizations > > (like using leaq). > > > > On top of that the routine can is a starting point for copyinstr > > which operates on words instead of bytes. > > > > Tested with glibc test suite. > > > > Sample results (calls/s): > > > > Haswell: > > $(perl -e "print 'A' x 3"): > > stock: 211198039 > > patched:338626619 > > asm: 465609618 > > > > $(perl -e "print 'A' x 100"): > > stock: 83151997 > > patched: 98285919 > > asm: 120719888 > > > > AMD EPYC 7R32: > > $(perl -e "print 'A' x 3"): > > stock: 282523617 > > asm: 491498172 > > > > $(perl -e "print 'A' x 100"): > > stock: 114857172 > > asm: 112082057 > > No Reviewed by? More than one pair of eyes on non-trivial assembly is > almost always a good idea. > > Jess > > _______________________________________________ > dev-commits-src-main@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main > To unsubscribe, send any mail to "dev-commits-src-main-unsubscribe@freebsd.org"