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

coll/base: call coll_module_disable only once per module #11126

Closed
wants to merge 1 commit into from

Conversation

gkatev
Copy link
Contributor

@gkatev gkatev commented Nov 29, 2022

Adjust the call to coll_module_disable, so that it only happens once per module (that supports it), instead of once per each coll function that the module provides. The current code does not cause an issue as all components that implement an xx_module_disable correctly zero-out their data after freeing it, but I'd argue that calling it once is more appropriate/safe. I also took the liberty of replacing the list operations with less verbose ones using the opal_list macros.

Signed-off-by: George Katevenis gkatev@ics.forth.gr

@ompiteam-bot
Copy link

Can one of the admins verify this patch?

@gkatev gkatev changed the title coll/base: call coll_module_disable (only) once per module coll/base: call coll_module_disable only once per module Nov 29, 2022
Signed-off-by: George Katevenis <gkatev@ics.forth.gr>
@bosilca
Copy link
Member

bosilca commented Apr 22, 2024

In today's collective initialization, a module does not know how many references it has (aka how many of its functions are still in the communicator function pointer table), which means there is no safe way to release a module as long as we don't move the refcount accounting in a safe and consistent place.

@bosilca bosilca closed this Apr 22, 2024
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.

None yet

3 participants