Opened 9 years ago

Closed 5 years ago

#673 closed feature (wontfix)

MSMPI code merge - trace macros

Reported by: jayesh Owned by: jayesh
Priority: major Milestone: future
Component: mpich Keywords:
Cc:

Description (last modified by balaji)

To track integration of trace macros from the MSMPI code base,

# We can ignore the MS trace macro header files (*.tmh) for now. (A modification of windows configure script can add these trace macro header files)

# Expand the existing *FUNC_ENTER()/*FUNC_EXIT() macros to include tracing (The tracing would include funcname, value of input args to func, value of output args/intersting args),

#if defined(USE_MACROS_VA_ARGS)
        #define *FUNC_ENTER     /* func_using_va_args(char *funcname, ...){... MPIU_DBG_MSG() ...} */
        #define *FUNC_EXIT      /* func_using_va_args(char *funcname, ...){... MPIU_DBG_MSG() ...} */
#else
        #define *FUNC_ENTER(FUNCNAME, ...) /* MPIU_DBG_MSG() */
        #define *FUNC_EXIT(FUNCNAME, ...) /* MPIU_DBG_MSG() */
#endif

# Introduce a new label for successful exit from a function, fn_success. This will help in adding trace macros for successful func exits.

fn_success:
        /* success */
        /* Add modified FUNC_EXIT macro with trace for success */
        goto fn_exit;
fn_exit:
        /* common code for failure & success */
        return;
fn_fail:
        /* error */
        /* Add modified FUNC_EXIT macro with trace for failure */
        goto fn_exit;

We need to continue discussion on whether we need to support compilers that don't support varargs.

-jayesh

Change History (7)

comment:1 Changed 9 years ago by goodell

It might be a good idea to collect knowledge of various compiler shortcomings somewhere. I've started a wiki page for this purpose and seeded it with a couple of random tidbits that I could think of off the top of my head. Any time that anyone runs across compiler deficiencies, please document them there (with version info) if you can remember to.

http://wiki.mcs.anl.gov/mpich2/index.php/Compiler_Quirks

I'd really like to know which (if any) compilers that we care about still don't support varargs macros or don't support them correctly.

-Dave

comment:2 Changed 9 years ago by balaji

  • Description modified (diff)

Can't we provide additional tracing information for compilers which provide VA_ARGS and basic tracing (like we currently do) for other compilers by ignoring the remaining arguments?

comment:3 Changed 9 years ago by jayesh

  • Milestone changed from mpich2-1.1.1 to mpich2-1.1.2

Yeah... I think we will take that approach for now (it doesn't hurt adding basic tracing for compilers that don't support VA_ARGS)

Moving this ticket to 1.1.2 - I am not sure whether I will be able to get to this ticket by 1.1.1 release.

-Jayesh

comment:4 Changed 9 years ago by balaji

  • Milestone changed from mpich2-1.1.2 to mpich2-1.2

Milestone mpich2-1.1.2 deleted

comment:5 Changed 9 years ago by jayesh

  • Milestone changed from mpich2-1.2.1 to mpich2-1.3

comment:6 Changed 8 years ago by jayesh

  • Milestone changed from mpich2-1.3 to future

comment:7 Changed 5 years ago by balaji

  • Description modified (diff)
  • Resolution set to wontfix
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.