svn commit: r281100 - head/sys/amd64/amd64

Eitan Adler eadler at FreeBSD.org
Sun Apr 5 05:07:25 UTC 2015


Author: eadler
Date: Sun Apr  5 05:07:24 2015
New Revision: 281100
URL: https://svnweb.freebsd.org/changeset/base/281100

Log:
  head/sys/amd64/amd64/support.S: unroll loop
  	unroll the loop in ENTRY(pagezero)
  	acc' to the submitter this results in a reproducible 1% perf
  	improvement under buildworld like workload
  
  	I validated correctness and run-testing, but not performance impact
  
  Submitted by:	lidl at pix.net
  Reviewed by:	adrian
  PR:		199151
  MFC After:	1 month

Modified:
  head/sys/amd64/amd64/support.S

Modified: head/sys/amd64/amd64/support.S
==============================================================================
--- head/sys/amd64/amd64/support.S	Sun Apr  5 05:00:25 2015	(r281099)
+++ head/sys/amd64/amd64/support.S	Sun Apr  5 05:07:24 2015	(r281100)
@@ -73,7 +73,11 @@ ENTRY(pagezero)
 	movnti	%rax,8(%rdi,%rdx)
 	movnti	%rax,16(%rdi,%rdx)
 	movnti	%rax,24(%rdi,%rdx)
-	addq	$32,%rdx
+	movnti	%rax,32(%rdi,%rdx)
+	movnti	%rax,40(%rdi,%rdx)
+	movnti	%rax,48(%rdi,%rdx)
+	movnti	%rax,56(%rdi,%rdx)
+	addq	$64,%rdx
 	jne	1b
 	sfence
 	POP_FRAME_POINTER


More information about the svn-src-all mailing list