Commit 6f304b2c authored by David Goodell's avatar David Goodell
Browse files

[svn-r7373] add TODOs for BG optimization opportunities

No reviewer.
parent b148a64b
...@@ -313,6 +313,8 @@ typedef OPA_int_t MPIU_Handle_ref_count; ...@@ -313,6 +313,8 @@ typedef OPA_int_t MPIU_Handle_ref_count;
* It is also assumed that any object being reference counted via these macros * It is also assumed that any object being reference counted via these macros
* will have a valid value in the handle field, even if it is * will have a valid value in the handle field, even if it is
* HANDLE_SET_KIND(0, HANDLE_KIND_INVALID) */ * HANDLE_SET_KIND(0, HANDLE_KIND_INVALID) */
/* TODO profile and examine the assembly that is generated for this if() on Blue
* Gene (and elsewhere). We may need to mark it unlikely(). */
#define MPIU_Object_add_ref(objptr_) \ #define MPIU_Object_add_ref(objptr_) \
do { \ do { \
int handle_kind_ = HANDLE_GET_KIND((objptr_)->handle); \ int handle_kind_ = HANDLE_GET_KIND((objptr_)->handle); \
......
...@@ -369,6 +369,9 @@ void *MPIU_Handle_indirect_init( void *(**)[], int *, int, int, int, int ); ...@@ -369,6 +369,9 @@ void *MPIU_Handle_indirect_init( void *(**)[], int *, int, int, int, int );
int MPIU_Handle_free( void *((*)[]), int ); int MPIU_Handle_free( void *((*)[]), int );
*/ */
/* Convert Handles to objects for MPI types that have predefined objects */ /* Convert Handles to objects for MPI types that have predefined objects */
/* TODO examine generated assembly for this construct, it's probably suboptimal
* on Blue Gene. An if/else if/else might help the compiler out. It also lets
* us hint that one case is likely(), usually the BUILTIN case. */
#define MPID_Getb_ptr(kind,a,bmsk,ptr) \ #define MPID_Getb_ptr(kind,a,bmsk,ptr) \
{ \ { \
switch (HANDLE_GET_KIND(a)) { \ switch (HANDLE_GET_KIND(a)) { \
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment