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

core: Add endpoint options for max message size and inject size #10070

Merged
merged 1 commit into from
Jun 11, 2024

Commits on Jun 11, 2024

  1. core: Add endpoint options for max message size and inject size

    Today, `ep_attr->max_msg_size` and `tx_attr->inject_size` define the
    transport's size limitation for a single data transfer operation. It lacks
    the flexibility to allow providers having different limits on different
    categories of operations (msg/tagged/rma/atomic). At the same time,
    applications can't express usage models that have very different size
    limits (e.g, only need small send/recv, but want large RMA).
    
    Here a set of options are added to the fi_getopt()/fi_setopt() interface.
    These options allow the maximum message size and inject size be retrieved
    or set independently for msg/tagged/rma/atomci operations. The existing
    definition of `ep_attr->max_msg_size` and `tx_attr->inject_size` remain
    unchanged -- they are the upper bound of the limits for all the data
    transfer functions.
    
    A typical application will call fi_getopt() to retrieve the default values
    first, and call fi_setopt() if lower values are desired. If -FI_ENOPROTOOPT
    is returned, `ep_attr->max_msg_size` and `tx_attr->inject_size` should be
    used.
    
    Signed-off-by: Jianxin Xiong <jianxin.xiong@intel.com>
    j-xiong committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    66af0ce View commit details
    Browse the repository at this point in the history