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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Fix max. number of tail calls #15162

Merged
merged 1 commit into from
Mar 4, 2021

Conversation

pchaigno
Copy link
Member

@pchaigno pchaigno commented Mar 2, 2021

The Linux kernel allows for 33 chained tail calls, not 32 as currently documented. The difference comes from what looks like an off-by-one error that was then generalized to all JIT compilers. Our documentation is used as a reference for papers and blog posts, so let's make sure this incorrect assumption doesn't propagate further.

Yoann, if you're reading this, the source code is the source of truth, not the documentation 馃槣

@pchaigno pchaigno added area/documentation Impacts the documentation, including textual changes, sphinx, or other doc generation code. sig/datapath Impacts bpf/ or low-level forwarding details, including map management and monitor messages. release-note/misc This PR makes changes that have no direct user impact. needs-backport/1.9 labels Mar 2, 2021
@pchaigno pchaigno requested a review from a team March 2, 2021 08:48
@pchaigno pchaigno requested a review from a team as a code owner March 2, 2021 08:48
@maintainer-s-little-helper maintainer-s-little-helper bot added this to In progress in 1.10.0 Mar 2, 2021
@maintainer-s-little-helper maintainer-s-little-helper bot added this to Needs backport from master in 1.9.5 Mar 2, 2021
Documentation/bpf.rst Outdated Show resolved Hide resolved
@aanm aanm added the dont-merge/needs-rebase This PR needs to be rebased because it has merge conflicts. label Mar 2, 2021
@pchaigno pchaigno removed the dont-merge/needs-rebase This PR needs to be rebased because it has merge conflicts. label Mar 2, 2021
The Linux kernel allows for 33 chained tail calls, not 32 as currently
documented. The difference comes from what looks like an off-by-one error
that was then generalized to all JIT compilers [1].

1 - https://lore.kernel.org/bpf/20191218095825.GA15840@Omicron/T/
Signed-off-by: Paul Chaignon <paul@cilium.io>
Copy link
Member

@qmonnet qmonnet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@pchaigno pchaigno added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Mar 3, 2021
@qmonnet

This comment has been minimized.

@qmonnet qmonnet removed their assignment Mar 3, 2021
@aanm aanm merged commit 7715446 into cilium:master Mar 4, 2021
1.10.0 automation moved this from In progress to Done Mar 4, 2021
@pchaigno pchaigno deleted the fix-bpf-docs-33-tail-calls branch March 4, 2021 10:33
@maintainer-s-little-helper maintainer-s-little-helper bot moved this from Needs backport from master to Backport pending to v1.9 in 1.9.5 Mar 8, 2021
@maintainer-s-little-helper maintainer-s-little-helper bot moved this from Backport pending to v1.9 to Backport done to v1.9 in 1.9.5 Mar 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/documentation Impacts the documentation, including textual changes, sphinx, or other doc generation code. ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/misc This PR makes changes that have no direct user impact. sig/datapath Impacts bpf/ or low-level forwarding details, including map management and monitor messages.
Projects
No open projects
1.9.5
Backport done to v1.9
Development

Successfully merging this pull request may close these issues.

None yet

7 participants