Skip to content

rtio: Add a context pool #92852

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

teburd
Copy link
Contributor

@teburd teburd commented Jul 8, 2025

Adds a context pool that can be used when a number of threads may be dynamically created to use with RTIO. While the pool has a small cost to it, the cost of verifying a statically declared kobject likely makes it worth avoiding dynamically allocating these with the typical kobject_alloc method. Instead this arena style pool of objects can be used where the kobject validation uses the gperf hash created at build time.

Copy link

@lgirdwood lgirdwood left a comment

Choose a reason for hiding this comment

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

LGTM - very simple and easy to use.

@teburd teburd force-pushed the rtio_pool branch 3 times, most recently from 963cdd6 to 7f0df4a Compare July 10, 2025 21:39
@teburd teburd force-pushed the rtio_pool branch 2 times, most recently from fb9cd40 to c85b3ae Compare July 22, 2025 17:21
@teburd
Copy link
Contributor Author

teburd commented Jul 22, 2025

Update 1:

Misra rule fix moved to #93530 so sonar might complain but this is being fixed, didn't want to muddle the PRs.

This PR now builds and mostly passes its tests, need to fix a semaphore permission issue.

@teburd teburd assigned kv2019i and unassigned teburd Jul 23, 2025
Adds a context pool that can be used when a number of threads may be
dynamically created to use with RTIO. While the pool has a small cost to
it, the cost of verifying a statically declared kobject likely makes it
worth avoiding dynamically allocating these with the typical
kobject_alloc method. Instead this arena style pool of objects can be
used where the kobject validation uses the gperf hash created at build
time.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants