• Michael Guralnik's avatar
    RDMA/mlx5: Add handling for memory scheme page fault events · e4fda232
    Michael Guralnik authored
    
    
    The memory scheme page fault event is a new approch in handling page fault
    on mkeys using the on-demand-paging feature.
    The major shift in handling the page fault in this scheme is that the HW
    is taking responsibilty for parsing the faulted mkey instead of the
    previous approach where the driver would read and parse the wqes and
    query the mkeys to get to the direct mkey that we need to handle.
    
    Therefore, the event we get from FW in this scheme will contain the
    direct mkey and address we need to handle and require much less work
    from driver.
    
    Additionally, to optimize performance, the FW can generate the event on
    a memory area that is larger than the faulted memory operation is
    requiring, to 'prefetch' memory that is around it and will likely be
    used soon.
    
    Unlike previous types of page fault, the memory page scheme fault does
    not always require a resume command after handling the page fault as the FW
    can post multiple events on same mkey and will set the 'last' flag only on
    the page fault that requires the resume command.
    Signed-off-by: default avatarMichael Guralnik <michaelgur@nvidia.com>
    Link: https://patch.msgid.link/20240909100504.29797-7-michaelgur@nvidia.com
    
    Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
    e4fda232
odp.c 51.6 KB