diff options
author | eadler <eadler@FreeBSD.org> | 2015-04-05 05:07:24 +0000 |
---|---|---|
committer | eadler <eadler@FreeBSD.org> | 2015-04-05 05:07:24 +0000 |
commit | 41fc5228f63567d1397273306932b8e0684da7a4 (patch) | |
tree | cf8a24b71fb5d62d52332d1045cf915c5431ceba | |
parent | 64b4dcc337956b31cd7fb57bf3530b5a56cb6a1e (diff) | |
download | FreeBSD-src-41fc5228f63567d1397273306932b8e0684da7a4.zip FreeBSD-src-41fc5228f63567d1397273306932b8e0684da7a4.tar.gz |
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@pix.net
Reviewed by: adrian
PR: 199151
MFC After: 1 month
-rw-r--r-- | sys/amd64/amd64/support.S | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/amd64/amd64/support.S b/sys/amd64/amd64/support.S index f8b75ff..04aea18 100644 --- a/sys/amd64/amd64/support.S +++ b/sys/amd64/amd64/support.S @@ -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 |