Skip to content

runtime: use vDSO clock_gettime on linux/mips64x #35181

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

xen0n
Copy link
Member

@xen0n xen0n commented Oct 26, 2019

Speed up nanotime1 and walltime1 on MIPS64 with vDSO, just like the
other vDSO-enabled targets.

Benchmark numbers on Loongson 3A3000 (GOARCH=mips64le, 1.4GHz) against
current master:

benchmark old ns/op new ns/op delta
BenchmarkNow 868 293 -66.24%
BenchmarkNowUnixNano 851 296 -65.22%

Performance hit on fallback case, tested by using a wrong vDSO symbol name:

benchmark old ns/op new ns/op delta
BenchmarkNow 868 889 +2.42%
BenchmarkNowUnixNano 851 893 +4.94%

@googlebot googlebot added the cla: yes Used by googlebot to label PRs as having a valid CLA. The text of this label should not change. label Oct 26, 2019
@gopherbot
Copy link
Contributor

This PR (HEAD: 1e9d3a5) has been imported to Gerrit for code review.

Please visit https://go-review.googlesource.com/c/go/+/203578 to see it.

Tip: You can toggle comments from me using the comments slash command (e.g. /comments off)
See the Wiki page for more info

@gopherbot
Copy link
Contributor

Message from Gobot Gobot:

Patch Set 1:

Congratulations on opening your first change. Thank you for your contribution!

Next steps:
Within the next week or so, a maintainer will review your change and provide
feedback. See https://golang.org/doc/contribute.html#review for more info and
tips to get your patch through code review.

Most changes in the Go project go through a few rounds of revision. This can be
surprising to people new to the project. The careful, iterative review process
is our way of helping mentor contributors and ensuring that their contributions
have a lasting impact.

During May-July and Nov-Jan the Go project is in a code freeze, during which
little code gets reviewed or merged. If a reviewer responds with a comment like
R=go1.11, it means that this CL will be reviewed as part of the next development
cycle. See https://golang.org/s/release for more details.


Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

This PR (HEAD: c8f27c3) has been imported to Gerrit for code review.

Please visit https://go-review.googlesource.com/c/go/+/203578 to see it.

Tip: You can toggle comments from me using the comments slash command (e.g. /comments off)
See the Wiki page for more info

@gopherbot
Copy link
Contributor

This PR (HEAD: e489f57) has been imported to Gerrit for code review.

Please visit https://go-review.googlesource.com/c/go/+/203578 to see it.

Tip: You can toggle comments from me using the comments slash command (e.g. /comments off)
See the Wiki page for more info

@gopherbot
Copy link
Contributor

Message from WANG Xuerui:

Patch Set 4: Commit message was updated.


Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Meng Zhuo:

Patch Set 6:

(4 comments)


Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Cherry Zhang:

Patch Set 6: Run-TryBot+1

(4 comments)


Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Gobot Gobot:

Patch Set 6:

TryBots beginning. Status page: https://farmer.golang.org/try?commit=a4a0dce4


Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Cherry Zhang:

Patch Set 6:

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Gobot Gobot:

Patch Set 6: TryBot-Result+1

TryBots are happy.


Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Cherry Zhang:

Patch Set 6:

LGTM with a minor comment. Thanks.


Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

Speed up nanotime1 and walltime1 on MIPS64 with vDSO, just like the
other vDSO-enabled targets.

Benchmark numbers on Loongson 3A3000 (GOARCH=mips64le, 1.4GHz) against
current master:

benchmark                old ns/op     new ns/op     delta
BenchmarkNow             868           293           -66.24%
BenchmarkNowUnixNano     851           296           -65.22%
@gopherbot
Copy link
Contributor

This PR (HEAD: 03a58ac) has been imported to Gerrit for code review.

Please visit https://go-review.googlesource.com/c/go/+/203578 to see it.

Tip: You can toggle comments from me using the comments slash command (e.g. /comments off)
See the Wiki page for more info

@gopherbot
Copy link
Contributor

Message from WANG Xuerui:

Patch Set 7:

(5 comments)

Patch Set 6:

(1 comment)

While applying suggestions from reviews, I also moved the unconditional branch to fallback code path. This shaved another 4~6 ns off the non-fallback case.


Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Tobias Klauser:

Patch Set 7: Run-TryBot+1

TRY=linux-mips64le-mengzhuo


Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Brad Fitzpatrick:

Patch Set 9: Run-TryBot+1

TRY=linux-mips64le-mengzhuo


Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Gobot Gobot:

Patch Set 9:

SlowBots beginning. Status page: https://farmer.golang.org/try?commit=8ac92817


Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Gobot Gobot:

Patch Set 9: TryBot-Result+1

SlowBots are happy.
Extra slowbot builds that ran:

  • linux-mips64le-mengzhuo

Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Cherry Zhang:

Patch Set 9: Code-Review+2


Please don’t reply on this GitHub thread. Visit golang.org/cl/203578.
After addressing review feedback, remember to publish your drafts!

gopherbot pushed a commit that referenced this pull request Nov 4, 2019
Speed up nanotime1 and walltime1 on MIPS64 with vDSO, just like the
other vDSO-enabled targets.

Benchmark numbers on Loongson 3A3000 (GOARCH=mips64le, 1.4GHz) against
current master:

benchmark                old ns/op     new ns/op     delta
BenchmarkNow             868           293           -66.24%
BenchmarkNowUnixNano     851           296           -65.22%

Performance hit on fallback case, tested by using a wrong vDSO symbol name:

benchmark                old ns/op     new ns/op     delta
BenchmarkNow             868           889           +2.42%
BenchmarkNowUnixNano     851           893           +4.94%

Change-Id: Ibfb48893cd060536359863ffee7624c00def646b
GitHub-Last-Rev: 03a58ac
GitHub-Pull-Request: #35181
Reviewed-on: https://go-review.googlesource.com/c/go/+/203578
Run-TryBot: Brad Fitzpatrick <[email protected]>
TryBot-Result: Gobot Gobot <[email protected]>
Reviewed-by: Cherry Zhang <[email protected]>
@gopherbot
Copy link
Contributor

This PR is being closed because golang.org/cl/203578 has been merged.

@gopherbot gopherbot closed this Nov 4, 2019
@xen0n xen0n deleted the mips64-vdso branch January 22, 2022 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes Used by googlebot to label PRs as having a valid CLA. The text of this label should not change.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants