• Thomas Hellstrom's avatar
    drm/ttm: Fix up io_mem_reserve / io_mem_free calling · eba67093
    Thomas Hellstrom authored
    This patch attempts to fix up shortcomings with the current calling
    sequences.
    
    1) There's a fastpath where no locking occurs and only io_mem_reserved is
       called to obtain needed info for mapping. The fastpath is set per
       memory type manager.
    2) If the fastpath is disabled, io_mem_reserve and io_mem_free will be exactly
       balanced and not called recursively for the same struct ttm_mem_reg.
    3) Optionally the driver can choose to enable a per memory type manager LRU
       eviction mechanism that, when io_mem_reserve returns -EAGAIN will attempt
       to kill user-space mappings of memory in that manager to free up needed
       resources
    Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: default avatarBen Skeggs <bskeggs@redhat.com>
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    eba67093
ttm_bo_driver.h 34.1 KB