[mirror] Home of the go.dev and golang.org websites
Перейти к файлу
Michael Anthony Knyszek 0c12b63ef2 _content/doc: update huge page details with max_ptes_none workarounds
Go 1.21.1 and Go 1.22 have ceased working around an issue with Linux
kernel defaults for transparent huge pages that can result in excessive
memory overheads. (https://bugzilla.kernel.org/show_bug.cgi?id=93111)

Many Linux distributions disable huge pages altogether these days, so
this problem isn't quite as far-reaching as it used to be. Also, the
problem only affects Go programs with very particular memory usage
patterns.

That being said, because the runtime used to actively deal with this
problem (but with some unpredictable behavior), it's preventing users
that don't have a lot of control over their execution environment from
upgrading to Go beyond Go 1.20.

This adds documentation about this change in behavior in both the GC
guide and the Go 1.21 release notes.

For golang/go#64332.

Change-Id: I29baaffcc678d08255364a3cd6f11211ce4164ba
Reviewed-on: https://go-review.googlesource.com/c/website/+/547675
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Mauri de Souza Meneguzzo <mauri870@gmail.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-03-11 20:22:55 +00:00
_content _content/doc: update huge page details with max_ptes_none workarounds 2024-03-11 20:22:55 +00:00
_later/security go.dev: merge go.dev/_content into root _content 2021-11-22 16:42:59 +00:00
cmd internal/history: remove draft notice, update deployment, add Go 1.22 2024-02-06 21:41:58 +00:00
internal all: close HTML tags 2024-03-08 01:59:20 +00:00
tour all: fix a lot of typos 2022-06-15 16:32:49 +00:00
.eslintrc.yaml _content: update header nav with dropdowns and subnavs 2022-10-31 17:00:13 +00:00
.gitattributes blog: delete per-repo files, update README.md, go.mod 2021-05-26 13:23:13 +00:00
.prettierrc.yaml go.dev: merge go.dev/_content into root _content 2021-11-22 16:42:59 +00:00
.stylelintrc.yaml website: fixed stylelint dependency 2022-01-11 22:47:06 +00:00
CONTRIBUTING.md initial commit 2019-01-04 09:34:42 -05:00
LICENSE initial commit 2019-01-04 09:34:42 -05:00
PATENTS initial commit 2019-01-04 09:34:42 -05:00
README.md website: add support for JS/TS unit testing 2022-01-11 22:46:10 +00:00
codereview.cfg x/website: add code and static files for website 2019-01-08 18:22:29 +00:00
content.go internal/tour: include _content/images/icons 2023-09-12 19:08:23 +00:00
go-app-deploy.sh website: publish all commits, eliminating Website-Publish+1 vote 2021-12-06 20:46:19 +00:00
go.mod go.mod: update golang.org/x dependencies 2024-03-05 16:01:41 +00:00
go.sum go.mod: update golang.org/x dependencies 2024-03-05 16:01:41 +00:00
jest-transform.cjs website: add support for JS/TS unit testing 2022-01-11 22:46:10 +00:00
npm website: add support for JS/TS unit testing 2022-01-11 22:46:10 +00:00
npx website: add support for JS/TS unit testing 2022-01-11 22:46:10 +00:00
package-lock.json website: ran npm audit fix 2022-03-10 16:48:22 +00:00
package.json website: fixed stylelint dependency 2022-01-11 22:47:06 +00:00
tsconfig.json website: add support for JS/TS unit testing 2022-01-11 22:46:10 +00:00

README.md

Go website

Go Reference

This repo holds content and serving programs for the go.dev and golang.org web sites.

Content is in _content/ (go.dev) and tour/ (go.dev/tour). Server code is in cmd/ and internal/.

To run the combined go.dev+golang.org server to preview local content changes, use:

go run ./cmd/golangorg

The supporting programs cmd/admingolangorg and cmd/googlegolangorg are the servers for admin.golang.org and google.golang.org. (They do not use the _content/ directories.)

Each command directory has its own README.md explaining deployment.

JS/TS/CSS Formatting

This repository uses eslint to format JS and TS files, and stylelint to format CSS files.

See also:

It is encouraged that all JS, TS, and CSS code be run through formatters before submitting a change. However, it is not a strict requirement enforced by CI.

Installing npm Dependencies:

  1. Install docker
  2. Create a .gitignore file at repo root
  3. Add .gitignore and node_modules to .gitignore
  4. Run ./npm install

Run ESlint

./npx eslint [options] [file] [dir]

Run Stylelint

./npx stylelint [input] [options]

TypeScript Support

TypeScript files served from _content are transformed into JavaScript. Reference .ts files in html templates as module code.

<script type="module" src="/ts/filename.ts">

Write unit tests for TypeScript code using the jest testing framework.

Run Jest

./npx jest [TestPathPattern]

Deploying

Each time a CL is reviewed and submitted, the code is deployed to App Engine. See cmd/golangorg/README.md for details.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.

The main issue tracker for the website repository is located at https://github.com/golang/go/issues. Prefix your issue with "x/website:" in the subject line, so it is easy to find.