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

providers/mana: RC QPs #1461

Merged
merged 12 commits into from
Jul 7, 2024
Merged

Commits on Jul 1, 2024

  1. providers/mana: move CQs and work requests to separate files

    Re-organize code to have cq.c and wr.c with CQ and WR code, respectively.
    
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Konstantin Taranov committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    f0be938 View commit details
    Browse the repository at this point in the history
  2. providers/mana: fix align_hw_size and improve get_wqe_size

    Mana HW expects buffers to be a power of 2 and be at least 4KB.
    The existing align_hw_size returns 1 when input is 0, providing
    incorrect buffer size for empty queues.
    Change the order of align and pow to get 4096 for the input 0,
    which is expected by the HW.
    
    Use uint32_t in the get_wqe_size helper.
    
    Fixes: 443f196 ("mana: Microsoft Azure Network Adapter (MANA) RDMA provider")
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Konstantin Taranov committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    f79e367 View commit details
    Browse the repository at this point in the history
  3. providers/mana: Create RNIC CQs

    Implement creation and destruction of RNIC cqs.
    
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Konstantin Taranov committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    e3ddaeb View commit details
    Browse the repository at this point in the history
  4. providers/mana: Introduce doorbells

    Implement writing to doorbells for different queue types.
    
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Konstantin Taranov committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    a8e4f0f View commit details
    Browse the repository at this point in the history
  5. providers/mana: Introduce a struct for raw QPs

    Define struct for fields related to raw QPs.
    
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Konstantin Taranov committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    7314f71 View commit details
    Browse the repository at this point in the history
  6. providers/mana: Add shadow queues

    Implement shadow queues to store pending WQEs.
    
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Konstantin Taranov committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    d47badd View commit details
    Browse the repository at this point in the history
  7. providers/mana: PSN arithmetic

    Introduce helpers to work with PSNs.
    
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Konstantin Taranov committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    eb0a1f4 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2024

  1. providers/mana: Add QP table

    Implement a table for finding QPs using receive queue ids.
    
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Konstantin Taranov committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    7de7c4e View commit details
    Browse the repository at this point in the history
  2. providers/mana: Create and destroy RC QP

    Implement creation and destruction of RC QPs.
    Add helpers to work with rollback memory regions.
    
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Konstantin Taranov committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    2de0bda View commit details
    Browse the repository at this point in the history
  3. providers/mana: Implement modify QP state

    Implement modify QP for RC QPs.
    
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Konstantin Taranov committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    166c46b View commit details
    Browse the repository at this point in the history
  4. providers/mana: Post recv and post send

    Implement work posting and define HW structures.
    
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Konstantin Taranov committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    ec26fed View commit details
    Browse the repository at this point in the history
  5. providers/mana: CQ polling

    Implement polling of CQs and arming CQs.
    Add processing of CQEs for RC QPs.
    
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Konstantin Taranov committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    1ef7c56 View commit details
    Browse the repository at this point in the history