All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: "Zbigniew Kempczyński" <zbigniew.kempczynski@intel.com>
Cc: igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH i-g-t 1/7] lib/gem_submission: Add kernel exec object alignment capability
Date: Thu, 14 Oct 2021 00:22:28 -0700	[thread overview]
Message-ID: <87y26wgjez.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <20211014071446.GA3617@zkempczy-mobl2>

On Thu, 14 Oct 2021 00:14:46 -0700, Zbigniew Kempczyński wrote:
>
> On Wed, Oct 13, 2021 at 07:26:28PM -0700, Dixit, Ashutosh wrote:
> > On Tue, 12 Oct 2021 22:27:45 -0700, Zbigniew Kempczyński wrote:
> > >
> > > On Tue, Oct 12, 2021 at 09:47:18PM -0700, Dixit, Ashutosh wrote:
> > > > On Thu, 07 Oct 2021 23:54:26 -0700, Zbigniew Kempczyński wrote:
> > > > >
> > > > > +bool gem_allows_passing_alignment(int fd)
> > > > > +{
> > > > > +	struct drm_i915_gem_exec_object2 obj = {
> > > > > +		.handle = gem_create(fd, 4096),
> > > > > +	};
> > > > > +	struct drm_i915_gem_execbuffer2 execbuf = {
> > > > > +		.buffers_ptr = to_user_pointer(&obj),
> > > > > +		.buffer_count = 1,
> > > > > +	};
> > > > > +	bool ret;
> > > > > +	const uint32_t bbe = MI_BATCH_BUFFER_END;
> > > > > +
> > > > > +	gem_write(fd, obj.handle, 0, &bbe, sizeof(bbe));
> > > > > +	gem_execbuf(fd, &execbuf);
> > > > > +
> > > > > +	obj.alignment = 0x2000;
> > > >
> > > > 8K? Shouldn't this be less than 4K?
> > >
> > > I'm not sure how kernel check will look like so positive value larger
> > > than 4K is sane for me. For example if in the kernel we will have:
> > >
> > > if (entry->alignment != 0 && entry->alignment != 0x1000)
> > >	return -EINVAL;
> >
> > Sorry I am still not following why the alignment has to be > 4K. Since for
> > alignment we generally consider aligned to a 4K page, so an alignment value
> > which is multiple of 4K might not even be a correct test. I would just use
> > an alignment value of 64 here (kernel requires it to be a power of
> > 2). Wouldn't that work? Thanks.
>
> Agree, on input any value which is power of two is correct. I just choosen
> 8K because it is a) page aligned b) power of two so definitely this value
> can be used within kernel.
>
> alignment = 64 is a little bit tricky - it is correct but will be changed
> to minimum alignment before pinning so I would like to avoid such values.
> I've spent some time to go over the pinning path according what has happen
> with that 64 and I was surprised it is not used at all anywhere.
>
> Resume: any value which is power of two is correct here, I just took 8K.

Yes I saw gem_exec_alignment later and it is using similar alignment
values. So I need to look some more to understand what this alignment is.

So please change the name to either gem_allows_obj_alignment or
gem_has_obj_alignment whichever you prefer. No need to resend the series,
please go ahead and merge the R-b patches. This one is also:

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

  reply	other threads:[~2021-10-14  7:41 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-08  6:54 [igt-dev] [PATCH i-g-t 0/7] Prepare IGTs to allow only zero alignment Zbigniew Kempczyński
2021-10-08  6:54 ` [igt-dev] [PATCH i-g-t 1/7] lib/gem_submission: Add kernel exec object alignment capability Zbigniew Kempczyński
2021-10-13  4:47   ` Dixit, Ashutosh
2021-10-13  5:27     ` Zbigniew Kempczyński
2021-10-14  2:26       ` Dixit, Ashutosh
2021-10-14  7:14         ` Zbigniew Kempczyński
2021-10-14  7:22           ` Dixit, Ashutosh [this message]
2021-10-08  6:54 ` [igt-dev] [PATCH i-g-t 2/7] lib/intel_batchbuffer: Detect and use kernel " Zbigniew Kempczyński
2021-10-14  2:37   ` Dixit, Ashutosh
2021-10-14  7:25     ` Zbigniew Kempczyński
2021-10-14  7:22       ` Dixit, Ashutosh
2021-10-08  6:54 ` [igt-dev] [PATCH i-g-t 3/7] tests/gem_exec_alignment: Add prerequisite alignment condition Zbigniew Kempczyński
2021-10-14  4:12   ` Dixit, Ashutosh
2021-10-14  7:27     ` Zbigniew Kempczyński
2021-10-08  6:54 ` [igt-dev] [PATCH i-g-t 4/7] tests/gem_evict_alignment: Skip if kernel doesn't support passing alignment Zbigniew Kempczyński
2021-10-14  4:14   ` Dixit, Ashutosh
2021-10-08  6:54 ` [igt-dev] [PATCH i-g-t 5/7] tests/i915_pm_rpm: Fix invalid alignment Zbigniew Kempczyński
2021-10-14  4:18   ` Dixit, Ashutosh
2021-10-08  6:54 ` [igt-dev] [PATCH i-g-t 6/7] benchmarks/gem_exec_fault: Add timeout argument Zbigniew Kempczyński
2021-10-14  4:24   ` Dixit, Ashutosh
2021-10-14  7:47     ` Zbigniew Kempczyński
2021-10-14  7:30       ` Dixit, Ashutosh
2021-10-08  6:54 ` [igt-dev] [PATCH i-g-t 7/7] benchmarks/gem_exec_fault: Add softpin mode to support gens with ppgtt Zbigniew Kempczyński
2021-10-14  5:01   ` Dixit, Ashutosh
2021-10-14  5:06     ` Dixit, Ashutosh
2021-10-14  8:11     ` Zbigniew Kempczyński
2021-10-08  7:48 ` [igt-dev] ✓ Fi.CI.BAT: success for Prepare IGTs to allow only zero alignment Patchwork
2021-10-08  9:02 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2021-10-14  8:19 [igt-dev] [PATCH i-g-t 0/7] " Zbigniew Kempczyński
2021-10-14  8:19 ` [igt-dev] [PATCH i-g-t 1/7] lib/gem_submission: Add kernel exec object alignment capability Zbigniew Kempczyński

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y26wgjez.wl-ashutosh.dixit@intel.com \
    --to=ashutosh.dixit@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=zbigniew.kempczynski@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.