• Changbin Du's avatar
    drm/i915/gvt: Manage shadow pages with radix tree · b6c126a3
    Changbin Du authored
    We don't know how many page tables will be shadowed. It varies
    considerably corresponding to guest load. Radix tree is a better
    choice for us. Since Page Frame Number is used as key so most of
    the bits are common.
    Here is some performance data (duration in us) of looking up a
    Before: (aka. ppgtt_find_shadow_page)
     0.308 0.292 0.246 0.432 0.143 ... 0.311 0.225 0.382 0.199 0.325
    After: (aka. intel_vgpu_find_spt_by_mfn)
     0.106 0.106 0.107 0.106 0.105 0.107 ... 0.107 0.109 0.105 0.108
    This time I didn't get the early data of hash table. The data is
    measured when desktop is shown.
    As last change, the overall benchmark almost is not changed, but
    we get better scalability.
    Signed-off-by: default avatarChangbin Du <changbin.du@intel.com>
    Signed-off-by: Zhenyu Wang's avatarZhenyu Wang <zhenyuw@linux.intel.com>
gtt.c 59.9 KB