• Changbin Du's avatar
    drm/i915/gvt: Optimize MMIO register handling for some large MMIO blocks · 65f9f6fe
    Changbin Du authored
    Some of traced MMIO registers are a large continuous section. These
    stuffed the MMIO lookup hash table and so waste lots of memory and
    get much lower lookup performance.
    
    Here we picked out these sections by special handling. These sections
    include:
      o Display pipe registers, total 768.
      o The PVINFO page, total 1024.
      o MCHBAR_MIRROR, total 65536.
      o CSR_MMIO, total 3072.
    
    So we removed 70,400 items from the hash table, and speed up guest
    boot time by ~500ms.
    
    v2:
      o add a local function find_mmio_block().
      o fix comments.
    Signed-off-by: default avatarChangbin Du <changbin.du@intel.com>
    Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
    65f9f6fe
handlers.c 95.6 KB