Date: Mon, 8 Feb 2021 16:16:44 -0700 From: Warner Losh <imp@bsdimp.com> To: Kevin Bowling <kevin.bowling@kev009.com> Cc: Jessica Clarke <jrtc27@freebsd.org>, Mateusz Guzik <mjg@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@freebsd.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@freebsd.org> Subject: Re: git: af366d353b84 - main - amd64: implement strlen in assembly Message-ID: <CANCZdfqWPxdOhk9nJ44y9ZqV%2BffR_nfHFjNEvq%2Bk97UDYJCRsA@mail.gmail.com> In-Reply-To: <CAK7dMtA5rbT6QoCK2HQfzLY2f%2B3kbhdJp0ERmRpc_CVAog%2B6bg@mail.gmail.com> References: <202102081915.118JFXkJ067892@gitrepo.freebsd.org> <3E64387A-42DD-4470-8893-5B774F19754E@freebsd.org> <CAK7dMtA5rbT6QoCK2HQfzLY2f%2B3kbhdJp0ERmRpc_CVAog%2B6bg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
To be fair, though, FreeBSD has been moving to a culture where people seek out reviews because they produce better results. It would be better for complex changes, like this, if they underwent some kind of review... While the tone of the message Jessica sent might not be to your liking, the notion that people should seek out more review isn't wrong... Warner On Mon, Feb 8, 2021 at 4:13 PM Kevin Bowling <kevin.bowling@kev009.com> wrote: > 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 <jrtc27@freebsd.org> wrote: > > > > On 8 Feb 2021, at 19:15, Mateusz Guzik <mjg@FreeBSD.org> wrote: > > > > > > The branch main has been updated by mjg: > > > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=af366d353b84bdc4e730f0fc563853abc338271c > > > > > > commit af366d353b84bdc4e730f0fc563853abc338271c > > > Author: Mateusz Guzik <mjg@FreeBSD.org> > > > AuthorDate: 2021-02-08 17:01:48 +0000 > > > Commit: Mateusz Guzik <mjg@FreeBSD.org> > > > 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" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfqWPxdOhk9nJ44y9ZqV%2BffR_nfHFjNEvq%2Bk97UDYJCRsA>