<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc/string/strlen.c, branch releng/9.3</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F9.3</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F9.3'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2010-03-13T00:15:06Z</updated>
<entry>
<title>Correct bugs fixed but not merged from my own tree.</title>
<updated>2010-03-13T00:15:06Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2010-03-13T00:15:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=87c88b26325c08173dc3dec064b116c1714af857'/>
<id>urn:sha1:87c88b26325c08173dc3dec064b116c1714af857</id>
<content type='text'>
Pointy hat to:	delphij
MFC after:	1 month
</content>
</entry>
<entry>
<title>Follow up commit to reindent the code.</title>
<updated>2010-03-12T21:15:35Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2010-03-12T21:15:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=51e48ff21b8defa72236137ad0503e0a62a4c04b'/>
<id>urn:sha1:51e48ff21b8defa72236137ad0503e0a62a4c04b</id>
<content type='text'>
MFC after:	1 month
</content>
</entry>
<entry>
<title>Two optimizations to MI strlen(3) inspired by David S. Miller's</title>
<updated>2010-03-12T21:14:56Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2010-03-12T21:14:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=dabae22639255b300cb7e9001d37583446d42342'/>
<id>urn:sha1:dabae22639255b300cb7e9001d37583446d42342</id>
<content type='text'>
blog posting [1].

 - Use word-sized test for unaligned pointer before working
   the hard way.

   Memory page boundary is always integral multiple of a word
   alignment boundary.  Therefore, if we can access memory
   referenced by pointer p, then (p &amp; ~word mask) must be also
   accessible.

 - Better utilization of multi-issue processor's ability of
   concurrency.

   The previous implementation utilized a formular that must be
   executed sequentially.  However, the ~, &amp; and - operations can
   actually be caculated at the same time when the operand were
   different and unrelated.

   The original Hacker's Delight formular also offered consistent
   performance regardless whether the input would contain
   characters with their highest-bit set, as it catches real
   nul characters only.

These two optimizations has shown further improvements over the
previous implementation on microbenchmarks on i386 and amd64 CPU
including Pentium 4, Core Duo 2 and i7.

[1] http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2010/03/08#strlen_1

MFC after:	1 month
</content>
</entry>
<entry>
<title> - Fix grammar. [1]</title>
<updated>2009-01-26T07:31:28Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2009-01-26T07:31:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=481101b823ef51e0f8463ee2ca38ae58b8c50ab8'/>
<id>urn:sha1:481101b823ef51e0f8463ee2ca38ae58b8c50ab8</id>
<content type='text'>
 - Use the correct term 'long mode'. [2]
 - style(9) for return value. [3]

Submitted by:	Ben Kaduk &lt;minimarmot gmail com&gt; [1],
		obrien [2], scf [3]
</content>
</entry>
<entry>
<title>Rewrite of MI strlen(3) in a way that can better utilize modern hardware by</title>
<updated>2009-01-25T23:08:47Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2009-01-25T23:08:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4c6a60218c9c3ae155159abd672526a5432dacff'/>
<id>urn:sha1:4c6a60218c9c3ae155159abd672526a5432dacff</id>
<content type='text'>
reducing branches and doing word-sized operation.

The idea is taken from J.T. Conklin's x86_64 optimized version of strlen(3)
for NetBSD, and reimplemented in C by me.

Discussed on:	-arch@
</content>
</entry>
<entry>
<title>Per Regents of the University of Calfornia letter, remove advertising</title>
<updated>2007-01-09T00:28:16Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2007-01-09T00:28:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c879ae3536e6d92b8d96c8965c5b05fcb9541520'/>
<id>urn:sha1:c879ae3536e6d92b8d96c8965c5b05fcb9541520</id>
<content type='text'>
clause.

# If I've done so improperly on a file, please let me know.
</content>
</entry>
<entry>
<title>Remove 'register' keyword.</title>
<updated>2002-03-21T18:49:23Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2002-03-21T18:49:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8fb3f3f68288ae2b1b53dd65e3dd673d83c80f4c'/>
<id>urn:sha1:8fb3f3f68288ae2b1b53dd65e3dd673d83c80f4c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rcsid[]-&gt;__FBSDID</title>
<updated>2001-11-07T19:55:16Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2001-11-07T19:55:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=de5fe5d53b634e506f94a6df3a9261aa20fa152f'/>
<id>urn:sha1:de5fe5d53b634e506f94a6df3a9261aa20fa152f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make the rcsid and FreeBSD IDs more sane in the wcs* and wmem* files.</title>
<updated>2001-05-24T08:47:42Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2001-05-24T08:47:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5864b79cd2852339f3025ee81769233071d60934'/>
<id>urn:sha1:5864b79cd2852339f3025ee81769233071d60934</id>
<content type='text'>
Do the same for the non-wcs*/wmem* files while I'm here.
</content>
</entry>
<entry>
<title>BSD 4.4 Lite Lib Sources</title>
<updated>1994-05-27T05:00:24Z</updated>
<author>
<name>Rodney W. Grimes</name>
<email>rgrimes@FreeBSD.org</email>
</author>
<published>1994-05-27T05:00:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=58f0484fa251c266ede97b591b499fe3dd4f578e'/>
<id>urn:sha1:58f0484fa251c266ede97b591b499fe3dd4f578e</id>
<content type='text'>
</content>
</entry>
</feed>
