[igt-dev] [PATCH i-g-t 7/7] benchmarks/gem_exec_fault: Add softpin mode to support gens with ppgtt
Dixit, Ashutosh
ashutosh.dixit at intel.com
Thu Oct 14 05:01:22 UTC 2021
On Thu, 07 Oct 2021 23:54:32 -0700, Zbigniew Kempczyński wrote:
>
> + /*
> + * For older gens .alignment = 1ull << 63 lead do bind/unbind,
> + * what doesn't work for newer gens with ppgtt.
> + * For ppgtt case we use reloc allocator which would just assigns
> + * new offset for each batch. This way we enforce bind/unbind vma
> + * for each execbuf.
So assigning a new offset will cause a new fault-in (bind) but not sure if
it will cause an actual fault-out (unbind). Though I am not sure if there
is actually a way to force it to happen if this doesn't work? Is there a
way to verify that the unbind is actually happening?
Neither I am sure how setting the 'alignment = 1ull << 63' caused a fault
out in the older code.
> + */
> + has_ppgtt = gem_uses_full_ppgtt(fd);
> + if (has_ppgtt) {
> + igt_info("Using softpin mode\n");
> + intel_allocator_multiprocess_start();
> + } else {
> + igt_assert(gem_allows_passing_alignment(fd));
I think this should be igt_require for the test to skip rather than fail.
> +/*
> + * NOTE: Ensure prove locking in the kernel is off, otherwise results
> + * would be inaccurate.
> + */
This is really a debug setting, any such setting (say lockdep, kmemchek
etc.) will affect benchmarks. So not sure if this specifically needs to be
called out.
More information about the igt-dev
mailing list