• Xin Zhao's avatar
    Poke progress engine in RMA op/sync routines when state is not satisfied. · 14cf7757
    Xin Zhao authored
    
    
    Here we modify MPIDI_CH3I_RMA_Make_progress_target function and
    MPIDI_CH3I_RMA_Make_progress_win function so that they will poke
    the progress engine once if the current window/target state is not
    satisfied for issuing operations.
    
    Note that MPIDI_CH3I_RMA_Make_progress_target is only called from
    operation routines (MPI_PUT,MPI_GET,...) and MPIDI_CH3I_RMA_Make_progress_win
    is only called from synchronization routines (MPI_WIN_FENCE,
    MPI_WIN_LOCK,...). They cannot be called from the RMA progress engine.
    
    issue_ops_target(), issue_ops_win(), check_and_switch_target_state(),
    check_and_switch_win_state() are core functions, and they are called
    by MPIDI_CH3I_RMA_Make_progress_target(), MPIDI_CH3I_RMA_Make_progress_win()
    and RMA progress engine.
    Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@anl.gov>
    14cf7757
ch3u_rma_progress.c 34.8 KB