The attached patches add functionality to the MPI barriers in Carpet:
[PATCH 1/2] Add parameter sync_barriers to insert an MPI barrier before every sync
This causes each process to wait for all the others to reach this point in the execution. This will happen anyway (for most of the processes) during the sync, and adding this barrier means that this time is not included in the sync timer. Also add a new timer to time this barrier.
[PATCH 2/2] Carpet: Add a timer around the scheduled functions barrier
OK to apply?