Skip to content

arch: x86: Inline direct ISR functions. #20447

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

Merged

Conversation

stephanosio
Copy link
Member

This commit inlines the direct ISR functions that were previously
implemented in irq_manage.c, since the PR #20119 resolved the circular
dependency between arch.h and kernel_structs.h described in the issue
#3056.

Signed-off-by: Stephanos Ioannidis [email protected]

@stephanosio
Copy link
Member Author

p.s. In the wake of all the FIXMEs in this PR, I think we should really re-assess the use of inline functions here; possible alternatives would be: 1) macros, 2) link-time optimisation

@zephyrbot zephyrbot added area: X86 x86 Architecture (32-bit) area: API Changes to public APIs labels Nov 8, 2019
@zephyrbot
Copy link
Collaborator

zephyrbot commented Nov 8, 2019

All checks are passing now.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

This commit inlines the direct ISR functions that were previously
implemented in irq_manage.c, since the PR zephyrproject-rtos#20119 resolved the circular
dependency between arch.h and kernel_structs.h described in the issue
zephyrproject-rtos#3056.

Signed-off-by: Stephanos Ioannidis <[email protected]>
@andrewboie
Copy link
Contributor

p.s. In the wake of all the FIXMEs in this PR, I think we should really re-assess the use of inline functions here; possible alternatives would be: 1) macros,

Well, one of the reasons inlines are nice is because you get type safety...but since these APIs are not directly application facing I'm not opposed to this.

  1. link-time optimisation

Yes definitely. I remember a few years ago we had a developer look into this but nothing came out of it. I think we could get some impressive footprint gains if we could get LTO working!

@carlescufi carlescufi merged commit 9695763 into zephyrproject-rtos:master Nov 8, 2019
@stephanosio stephanosio deleted the resolve_gh_3056_x86 branch November 8, 2019 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: API Changes to public APIs area: X86 x86 Architecture (32-bit)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants