Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prov/net: Updates from v1.17.x branch back into main #8283

Merged
merged 10 commits into from Dec 1, 2022
Merged

Conversation

shefty
Copy link
Member

@shefty shefty commented Nov 30, 2022

Look-ahead patch series 'front'-ported to main, with conflicts from io_uring changes resolved.

Allow dumping message details for sent and received data transfers and
completions for debug purposes.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
This is a simple rename of the structures to indicate that
these messages are actives.  A separate change can reuse
these structures to track other active messages (i.e.
unexpected receives).

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Move common functionality from xnet_match_claim and xnet_match_rx_tag
into a common function.  This will be reused in a later patch as well.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
There's only 1 unexpected list associated with the progress structure.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Handle 0-byte messages with claim/discard.  Avoid trying to
allocate 0-bytes.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Rename function, as it will be re-used later, and remove the
match handler.  That tool will be needed to simplify matching
in a future patch.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
If we're waiting for an ACK or an RMA read response, it may be
blocked behind a unexpected receive message.  Unfortunately, this
is a common MPI flow:

    for each rank
        RMA read()
    barrier()

The barrier messages may begin to show up from peers before
the local rank has finished its RMA read operations.  And the
local rank won't post the receive message for the barrier until
the RMA read operations have completed.

There seems to be some sort of assumption that RMA read responses
have a separate from from messages, which is true when using an
RDMA device.  However, it's not true for tcp streams.  To handle
this case, we need to look ahead in the tcp stream for the response,
queuing the barrier message.

To minimize the changes to the provider and avoid re-introducing
unexpected message buffering at the receiver, we limit peeking
ahead in the tcp stream to a single 0-byte tagged message (what MPI
uses for barrier), at least for now.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
We need the saved_entry not unexp_entry.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
If we have a saved rx entry, remove the ep from the progress'
saved list.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant