Both of these types (mca_pml_endpoint_t and mca_pml_base_endpoint_t) are
meaningless, they can safely be replaced by void*. We have them clearly typed
(but with just for the sake of understanding, so one can easily figure out what
is supposed to be stored in this specific field. As such, we can remove one of
them (mca_pml_base_endpoint_t) and use the other one (mca_pml_endpoint_t)
everywhere.
George, thank you for clarification! For me it sound like a good idea to
leave only one of them.
I wonder what is exactly the reason that drives your questions?
The question was raised during internal top-down code review.
Regards,
Pasha
George,
Actually My original question was correct.
In the ompi code base I found ONLY two places where we "use" the structure.
Actually we only assign values for the pointer in DR and CM PML:
ompi/mca/pml/cm/pml_cm.c:145: procs[i]->proc_pml = (struct
mca_pml_base_endpoint_t*) endpoints[i];
ompi/mca/pml/dr/pml_dr.c:264: procs[i]->proc_pml = (struct
mca_pml_base_endpoint_t*) endpoint;
I do not see any struct definiton/declaration mca_pml_base_endpoint_t in the
OMPI code at all.
But I do see the "struct mca_pml_endpoint_t;" declaration in pml.h. As well, I comment
that says: "A pointer to an mca_pml_endpoint_t is maintained on each ompi_proc_t". So it
looks that the idea was to use use mca_pml_endpoint_t on the ompi_proc_t and not
mca_pml_base_endpoint_t, is not it ?
Thanks !
Pasha
George Bosilca wrote:
Actually your answer is correct. The endpoint is defined down below in the PML.
In addition, I think only the MTL and the DR PML use it, all OB1 derivative
completely ignore it.
george.
On Dec 7, 2009, at 08:30 , Timothy Hayes wrote:
Sorry, I think I read your question too quickly. Ignore me. :-)
2009/12/7 Timothy Hayes <haye...@tcd.ie>
Is it not a forward definition and then defined in the PML components
individually based on their own requirements?
2009/12/7 Pavel Shamis (Pasha) <pash...@gmail.com>
In the ompi_proc_t structure (ompi/proc/proc.h:54) we keep pointer to proc_pml - "struct
mca_pml_base_endpoint_t* proc_pml" . I tired to find definition for "struct
mca_pml_base_endpoint_t" , but I failed. Does somebody know where is it defined ?
Regards,
Pasha
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel