A method of data transfer in a data processing network comprising a home node (106, 108) and a request node (102, 104) coupled via an interconnect fabric, the method comprising: receiving, by the home node, a write request (206, 506) from the request node; determining whether there is congestion in the interconnect fabric; when there is congestion in the interconnect fabric: sending a combined response from the home node to the request node via the interconnect fabric when a data buffer is available at the home node and the home node has completed a coherence action, where the combined response comprises an identifier of the data buffer and an indication that the coherence action is complete, when there is no congestion in the interconnect fabric: sending a first response from the home node to the request node via the interconnect fabric when the data buffer is available at the home node, where the first response comprises an identifier of the data buffer; and sending a second response to the request node via the interconnect fabric when the home node has completed the coherence action, where the second response comprises an indication that the coherence action is complete, receiving, by the request node, a response to the write request, the response sent from the home node via the interconnect fabric, the response comprising the first response or the combined response; and when the response comprises the combined response: coalescing, by the request node, a completion acknowledge message with one or more beats of the data to be written to the home node to form one or more coalesced data beats; and sending the one or more coalesced data beats (512, 514) from the request node to the home node via the interconnect fabric, and when the response comprises the first response: sending the data to be written as one or more data beats (212, 214) from the request node to the home node via the interconnect fabric; and sending the completion acknowledge message from the request node to the home node via the interconnect fabric. receiving, by the home node, a write request (206, 506) from the request node; determining whether there is congestion in the interconnect fabric; when there is congestion in the interconnect fabric: sending a combined response from the home node to the request node via the interconnect fabric when a data buffer is available at the home node and the home node has completed a coherence action, where the combined response comprises an identifier of the data buffer and an indication that the coherence action is complete, when there is no congestion in the interconnect fabric: sending a first response from the home node to the request node via the interconnect fabric when the data buffer is available at the home node, where the first response comprises an identifier of the data buffer; and sending a second response to the request node via the interconnect fabric when the home node has completed the coherence action, where the second response comprises an indication that the coherence action is complete, sending a first response from the home node to the request node via the interconnect fabric when the data buffer is available at the home node, where the first response comprises an identifier of the data buffer; and sending a second response to the request node via the interconnect fabric when the home node has completed the coherence action, where the second response comprises an indication that the coherence action is complete, receiving, by the request node, a response to the write request, the response sent from the home node via the interconnect fabric, the response comprising the first response or the combined response; and when the response comprises the combined response: coalescing, by the request node, a completion acknowledge message with one or more beats of the data to be written to the home node to form one or more coalesced data beats; and sending the one or more coalesced data beats (512, 514) from the request node to the home node via the interconnect fabric, and coalescing, by the request node, a completion acknowledge message with one or more beats of the data to be written to the home node to form one or more coalesced data beats; and sending the one or more coalesced data beats (512, 514) from the request node to the home node via the interconnect fabric, and when the response comprises the first response: sending the data to be written as one or more data beats (212, 214) from the request node to the home node via the interconnect fabric; and sending the completion acknowledge message from the request node to the home node via the interconnect fabric. sending the data to be written as one or more data beats (212, 214) from the request node to the home node via the interconnect fabric; and sending the completion acknowledge message from the request node to the home node via the interconnect fabric.