Skip to content
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

runtime: remove VZEROUPPER patch once Darwin <10.15.6 is not supported #41152

Open
cuonglm opened this issue Sep 1, 2020 · 6 comments
Open

runtime: remove VZEROUPPER patch once Darwin <10.15.6 is not supported #41152

cuonglm opened this issue Sep 1, 2020 · 6 comments

Comments

@cuonglm
Copy link
Member

@cuonglm cuonglm commented Sep 1, 2020

Split out from #37174 (comment)

So once we stop supporting releases <10.15.6, we can get rid of the VZEROUPPER patch.

cc @randall77 @dmitshur

@cuonglm cuonglm changed the title runtime: remove VZEROUPPER patch once 10.15.6 is deprecated runtime: remove VZEROUPPER patch once Darwin <10.15.6 is not supported Sep 1, 2020
@randall77 randall77 added this to the Go1.17 milestone Sep 1, 2020
@dmitshur
Copy link
Contributor

@dmitshur dmitshur commented Sep 1, 2020

Apple has been making a new major macOS version each year, and Go has been dropping support for old macOS versions at the same rate. So we can estimate.

Go 1.11 started to require macOS 10.10 or later.
Go 1.13 started to require macOS 10.11 or later.
Go 1.15 started to require macOS 10.12 or later.
If that rate doesn't change, Go 1.23 will start to require macOS 10.16 (aka macOS 11.0) or later, and this optimization can be applied then.

@HenkPoley
Copy link

@HenkPoley HenkPoley commented Nov 13, 2020

Potentially this issue was reintroduced (elsewhere?) in macOS 10.15.7 (19H15?): https://twitter.com/Cyan4973/status/1327023284974538754

@randall77
Copy link
Contributor

@randall77 randall77 commented Dec 4, 2020

For future self, make sure the reproducers in #37174 perform ok before removing the VZEROUPPER.

@randall77
Copy link
Contributor

@randall77 randall77 commented Dec 25, 2020

Just upgraded to 10.15.7 and it looks still fixed to me.
(The C/asm reproducer runs at the same speed regardless of whether the vzeroupper is commented out or not.)

@mdempsky
Copy link
Member

@mdempsky mdempsky commented Apr 29, 2021

According to https://golang.org/doc/go1.16, Go 1.17 will still support macOS 10.13. So should this be deferred to Go 1.18 (or Go 1.23, per @dmitshur)?

@dmitshur
Copy link
Contributor

@dmitshur dmitshur commented Apr 29, 2021

I understand this isn't so critical that we need to re-evaluate and bump every 6 months, so I'll put this in a future Go 1.23 milestone. If something changes before then, we can revisit this.

@dmitshur dmitshur removed this from the Go1.17 milestone Apr 29, 2021
@dmitshur dmitshur added this to the Go1.23 milestone Apr 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants