Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
kernel: smp: Optimize delivery of IPIs #69770
kernel: smp: Optimize delivery of IPIs #69770
Changes from all commits
1a06d30
c5707b9
69c0862
2703f8c
05c473a
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can it use
ALWAYS_INLINE
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
arch_sched_broadcast_ipi() I don't think should be using ALWAYS_INLINE as it is not being called from anywhere else in this file. Although arch_sched_directed_ipi() could, I don't think it would get us too much--probably better to let the compiler determine if arch_sched_broadcast_ipi() inlines arch_sched_directed_ipi() or makes a call out to it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style nit: the platform maintainers might prefer to see each arch get support added in a separate patch instead of all at once, but that's not really for me to say.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FWIW x86 would seem like an obvious candidate to support this. Local APIC interrupts are trivially targetted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was originally thinking that that would be outside the scope of this set of changes. I am glad to learn that it is also possible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would still seem important to get arch layers on board before merge. Again, x86 should be relatively straightforward (and in Intel's wheelhouse, heh). And in any case, getting back to the API naming: having a directed IPI that "actually" does a broadcast seems like the worst of all worlds: we pay the extra scheduler CPU time and latency and get no benefit. If we're going to have architectures that are still broadcast-only, they should never be able to turn on the new code.