Order the operations more carefully:
Supply receive buffer at same time as send, with MPI_Sendrecv:
Use non-blocking operations:
Use MPI_Bsend