drm/i915/gvt: Add helper for tuning MMIO hash table
We count all the tracked virtual MMIO registers, which can help us to tune the MMIO hash table. v2: Move num_tracked_mmio into gvt structure. Signed-off-by: Changbin Du <changbin.du@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
This commit is contained in:
parent
5c6d4c676d
commit
fbfd76c374
@ -215,6 +215,7 @@ struct intel_gvt_mmio {
|
|||||||
#define F_UNALIGN (1 << 6)
|
#define F_UNALIGN (1 << 6)
|
||||||
|
|
||||||
DECLARE_HASHTABLE(mmio_info_table, INTEL_GVT_MMIO_HASH_BITS);
|
DECLARE_HASHTABLE(mmio_info_table, INTEL_GVT_MMIO_HASH_BITS);
|
||||||
|
unsigned int num_tracked_mmio;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct intel_gvt_firmware {
|
struct intel_gvt_firmware {
|
||||||
|
@ -124,6 +124,7 @@ static int new_mmio_info(struct intel_gvt *gvt,
|
|||||||
gvt->mmio.mmio_attribute[info->offset / 4] = flags;
|
gvt->mmio.mmio_attribute[info->offset / 4] = flags;
|
||||||
INIT_HLIST_NODE(&info->node);
|
INIT_HLIST_NODE(&info->node);
|
||||||
hash_add(gvt->mmio.mmio_info_table, &info->node, info->offset);
|
hash_add(gvt->mmio.mmio_info_table, &info->node, info->offset);
|
||||||
|
gvt->mmio.num_tracked_mmio++;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -2931,6 +2932,9 @@ int intel_gvt_setup_mmio_info(struct intel_gvt *gvt)
|
|||||||
if (ret)
|
if (ret)
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gvt_dbg_mmio("traced %u virtual mmio registers\n",
|
||||||
|
gvt->mmio.num_tracked_mmio);
|
||||||
return 0;
|
return 0;
|
||||||
err:
|
err:
|
||||||
intel_gvt_clean_mmio_info(gvt);
|
intel_gvt_clean_mmio_info(gvt);
|
||||||
|
Loading…
Reference in New Issue
Block a user