[igt-dev] [PATCH i-g-t] lib/intel_batchbuffer: Use detected start offset in intel-bb instead 0x0

Dixit, Ashutosh ashutosh.dixit at intel.com
Wed May 25 06:41:48 UTC 2022


On Tue, 24 May 2022 04:18:36 -0700, Zbigniew Kempczyński wrote:
>
> On some platforms (like on ATS) 0x0 may not be available so allocator
> should be instantiated with safe start offset to avoid getting -ENOSPC.
> Change require also relaxation of automatic range selection in the
> allocator.

The patch LGTM:

Reviewed-by: Ashutosh Dixit <ashutosh.dixit at intel.com>

Do other callers of intel_allocator_open_full() also need to be modified to
provide a safe start offset?

>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> Cc: Ashutosh Dixit <ashutosh.dixit at intel.com>
> Cc: Dominik Grzegorzek <dominik.grzegorzek at intel.com>
> ---
>  lib/intel_allocator.c   | 2 +-
>  lib/intel_batchbuffer.c | 3 +++
>  2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/lib/intel_allocator.c b/lib/intel_allocator.c
> index 340b888286..7882e484b5 100644
> --- a/lib/intel_allocator.c
> +++ b/lib/intel_allocator.c
> @@ -909,7 +909,7 @@ static uint64_t __intel_allocator_open_full(int fd, uint32_t ctx,
>	struct alloc_resp resp;
>	uint64_t gtt_size;
>
> -	if (!start && !end) {
> +	if (!end) {
>		igt_assert_f(can_report_gtt_size(fd), "Invalid fd\n");
>		gtt_size = gem_aperture_size(fd);
>		if (!gem_uses_full_ppgtt(fd))
> diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
> index 8680c9ba93..555618e463 100644
> --- a/lib/intel_batchbuffer.c
> +++ b/lib/intel_batchbuffer.c
> @@ -1359,6 +1359,9 @@ __intel_bb_create(int i915, uint32_t ctx, uint32_t size, bool do_relocs,
>	if (!ibb->uses_full_ppgtt)
>		do_relocs = true;
>
> +	/* Use safe start offset instead assuming 0x0 is safe */
> +	start = max_t(uint64_t, start, gem_detect_safe_start_offset(i915));
> +
>	/* if relocs are set we won't use an allocator */
>	if (do_relocs)
>		allocator_type = INTEL_ALLOCATOR_NONE;
> --
> 2.32.0
>


More information about the igt-dev mailing list