-
Notifications
You must be signed in to change notification settings - Fork 321
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
[DNM] POC: ] Direct use of cached / not-cached shared memory alias instead of coherent.h in case of buffers #8013
Conversation
@marcinszkudlinski I assume you will continue with updates for teh TODOs here so that CI will turn all Green ? |
11e19cf
to
eebc9ba
Compare
This commit is a POC that removes coherent.h from struct comp_buffer As sharing status of a buffer is known at creation time, it is enough to create a buffer in shared (not cached mem alias) when it will be used by several cores Signed-off-by: Marcin Szkudlinski <[email protected]>
Removes all instances of buffer_acquire function usage Signed-off-by: Tobiasz Dryjanski <[email protected]>
Source/sink interfce will be treated in the same way as buffers, either cached or not as needed Sparse markings should be removed Signed-off-by: Marcin Szkudlinski <[email protected]>
Source/sink interfce will be treated in the same way as buffers, either cached or not as needed Sparse markings should be removed Signed-off-by: Marcin Szkudlinski <[email protected]>
audio stream is no longer required to have __sparse mark remove __sparse from container_of Signed-off-by: Marcin Szkudlinski <[email protected]>
audio stream is no longer required to have __sparse mark remove __sparse from all audio_stream functions Signed-off-by: Marcin Szkudlinski <[email protected]>
Signed-off-by: Tobiasz Dryjanski <[email protected]>
Signed-off-by: Tobiasz Dryjanski <[email protected]>
Signed-off-by: Tobiasz Dryjanski <[email protected]>
Signed-off-by: Tobiasz Dryjanski <[email protected]>
buffer_acquire and buffer_release are no longer in use remove stubs from the code Signed-off-by: Marcin Szkudlinski <[email protected]>
@@ -319,7 +319,7 @@ __must_check static inline struct coherent __sparse_cache *coherent_acquire(stru | |||
dcache_invalidate_region(cc, size); | |||
} | |||
|
|||
return (__sparse_force struct coherent __sparse_cache *)c; | |||
return c; |
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.
why these changes? I'd expect coherent.h to remain unchanged, unless there are bugs there, but fixing any would be a separate piece of work?
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.
@lyakh I should not use this branch for CI check ;)
You're right, this change is incorrect
eebc9ba
to
be92e40
Compare
Closing this POC as it was accidently used as CI test branch |
This PR is a quick POC for discussuion #8006
There are a lot of TODOs, yet it is ready to be tested in IPC4/MTL
TODOs:
In not-shared there's no need for locks because LLs are processed one by one in a single thread