• David Dillow's avatar
    IB/srp: rework mapping engine to use multiple FMR entries · 8f26c9ff
    David Dillow authored
    Instead of forcing all of the S/G entries to fit in one FMR, and falling
    back to indirect descriptors if that fails, allow the use of as many
    FMRs as needed to map the request. This lays the groundwork for allowing
    indirect descriptor tables that are larger than can fit in the command
    IU, but should marginally improve performance now by reducing the number
    of indirect descriptors needed.
    
    We increase the minimum page size for the FMR pool to 4K, as larger
    pages help increase the coverage of each FMR, and it is rare that the
    kernel would send down a request with scattered 512 byte fragments.
    
    This patch also move some of the target initialization code afte the
    parsing of options, to keep it together with the new code that needs to
    allocate memory based on the options given.
    Signed-off-by: default avatarDavid Dillow <dillowda@ornl.gov>
    8f26c9ff
ib_srp.c 61.6 KB