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

layered: Don't dispatch to LO_FALLBACK_DSQ #442

Merged
merged 1 commit into from
Jul 20, 2024
Merged

layered: Don't dispatch to LO_FALLBACK_DSQ #442

merged 1 commit into from
Jul 20, 2024

Conversation

Byte-Lab
Copy link
Contributor

Non-kthreads with custom affinities in non-open layers are dispatched into a LO_FALLBACK_DSQ, with the idea being that they're penalized for their custom affinities. When a host is fully utilized, these tasks can end up being starved due to LO_FALLBACK_DSQ being consumed only when there are no other layers to consume from. In internal workloads at Meta, we've observed that this can happen in practice.

Longer term, we can probably address this by implementing layer weights and applying that to fallback DSQs to avoid starvation. For now, let's just dispatch them to the same fallback DSQ to avoid this starvation issue.

@Byte-Lab Byte-Lab requested a review from htejun July 19, 2024 22:30
@htejun
Copy link
Contributor

htejun commented Jul 19, 2024

Oh, let's keep it and just replace the enqueue on LO with HI with comment explaining what's wrong. We want to come back to this later and it'd be better to have documentation on what we wanted but didn't work.

@Byte-Lab Byte-Lab changed the title layered: Remove LO_FALLBACK_DSQ layered: Don't dispatch to LO_FALLBACK_DSQ Jul 20, 2024
@Byte-Lab
Copy link
Contributor Author

Forgot to add a comment, will do that and repush shortly

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
Non-kthreads with custom affinities in non-open layers are dispatched into a
LO_FALLBACK_DSQ, with the idea being that they're penalized for their custom
affinities. When a host is fully utilized, these tasks can end up being starved
due to LO_FALLBACK_DSQ being consumed only when there are no other layers to
consume from. In internal workloads at Meta, we've observed that this can
happen in practice.

Longer term, we can probably address this by implementing layer weights and
applying that to fallback DSQs to avoid starvation. For now, let's just
dispatch them to HI_FALLBACK_DSQ to avoid this starvation issue.

Signed-off-by: David Vernet <void@manifault.com>
@htejun htejun merged commit b517882 into main Jul 20, 2024
1 check passed
@htejun htejun deleted the layered_hidsq branch July 20, 2024 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants