Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: igt-dev@lists.freedesktop.org,
	Alan Previn <alan.previn.teres.alexis@intel.com>,
	Petri Latvala <petri.latvala@intel.com>
Subject: Re: [igt-dev] [PATCH i-g-t 1/8] tests/i915/gem_pxp: Add LOCAL_ UAPI defines
Date: Wed, 06 Oct 2021 11:09:02 -0700	[thread overview]
Message-ID: <8735pevxdt.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <YV3eyVZxDM6/fSZI@intel.com>

On Wed, 06 Oct 2021 10:37:13 -0700, Rodrigo Vivi wrote:
>
> On Wed, Oct 06, 2021 at 01:25:28PM -0400, Rodrigo Vivi wrote:
> > On Wed, Oct 06, 2021 at 10:17:41AM -0700, Dixit, Ashutosh wrote:
> > > On Wed, 06 Oct 2021 09:14:37 -0700, Rodrigo Vivi wrote:
> > > >
> > > > While the UAPI changes don't propagate to drm-next we should
> > > > have that as LOCAL_ ones.
> > >
> > > Please add these in lib/i915/i915_drm_local.h as follows:
> >
> > Could we move this file to the include directory and document it
> > in the README.md along with the uapi sync mention?
> >
> > >
> > > /*
> > >  * It is necessary on occasion to add uapi declarations to IGT before they
> > >  * appear in imported kernel uapi headers. This header is provided for this
> > >  * purpose.
> > >
> > >  * Early uapi declarations should be added here exactly as they are
> > >  * expected to appear in the kernel uapi headers, i.e. without the LOCAL_
> > >  * or local_ prefix and without any #ifndef's. Attempt should be made to
> > >  * clean these up when kernel uapi headers are sync'd.
> > >  */
>
> I'd like to highlight that I have a concern with this approach without
> the local_ prefix.

See the commit message for bb1c96b29234 where i915_drm_local.h was
introduced for the rationale for this approach.

> This approach would force anyone that is syncing the header to solve
> everyone's else updates.

As long as there are no conflicts (say between i915_drm.h and
i915_drm_local.h) there is no problem since the compiler silently ignores
identical duplicate declarations. If there is a conflict and it is not
clear what to do then the developers will need to communicate and resolve
the conflict. We haven't seen this yet so let's see if this causes problems
and then revisit I think.

> It gets even worse and uglier when the api in here diverged from the
> actually merged upstream. Okay, one can say this is really rare.
>
> I'm okay with a centralized place for the locals... I believe we even
> had that in the past. But I don't like the idea of the lack of prefix.

The thinking was that the lack of local_ or LOCAL_ prefix actually makes it
easier to catch conflicts between what got merged into the kernel and what
was originally added to IGT since the compiler will warn us about it. So
it helps to convert a possible run time failure into a compile time
failure. Anyway I was tired of seeing so many stale LOCAL declarations
lying around so we are trying this out and asking people to use it whenever
we spot this in their patches :)

  reply	other threads:[~2021-10-06 18:23 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-06 16:14 [igt-dev] [PATCH i-g-t 0/8] drm-uapi clean-up Rodrigo Vivi
2021-10-06 16:14 ` [igt-dev] [PATCH i-g-t 1/8] tests/i915/gem_pxp: Add LOCAL_ UAPI defines Rodrigo Vivi
2021-10-06 17:17   ` Dixit, Ashutosh
2021-10-06 17:25     ` Rodrigo Vivi
2021-10-06 17:32       ` Dixit, Ashutosh
2021-10-06 17:40         ` Teres Alexis, Alan Previn
2021-10-07  8:19         ` Petri Latvala
2021-10-06 17:37       ` Rodrigo Vivi
2021-10-06 18:09         ` Dixit, Ashutosh [this message]
2021-10-06 19:40           ` Vivi, Rodrigo
2021-10-06 20:19             ` Dixit, Ashutosh
2021-10-06 16:14 ` [igt-dev] [PATCH i-g-t 2/8] Revert "i915_drm.h sync" Rodrigo Vivi
2021-10-06 16:14 ` [igt-dev] [PATCH i-g-t 3/8] i915_drm.h sync with drm-next Rodrigo Vivi
2021-10-07 12:34   ` Petri Latvala
2021-10-06 16:14 ` [igt-dev] [PATCH i-g-t 4/8] tests/gem_userptr_blits: Remove LOCAL_ Rodrigo Vivi
2021-10-07 12:36   ` Petri Latvala
2021-10-06 16:14 ` [igt-dev] [PATCH i-g-t 5/8] include/drm-uapi: Sync with drm-next Rodrigo Vivi
2021-10-07 12:35   ` Petri Latvala
2021-10-06 16:14 ` [igt-dev] [PATCH i-g-t 6/8] README.md: Detail the drm-uapi headers sync Rodrigo Vivi
2021-10-07  8:27   ` Petri Latvala
2021-10-06 16:14 ` [igt-dev] [PATCH i-g-t 7/8] include: Introduce linux-uapi for non-drm-uapi files Rodrigo Vivi
2021-10-06 17:39   ` Dixit, Ashutosh
2021-10-06 17:56     ` Vivi, Rodrigo
2021-10-06 18:25       ` Dixit, Ashutosh
2021-10-07  8:23         ` Petri Latvala
2021-10-07 12:33   ` Petri Latvala
2021-10-06 16:14 ` [igt-dev] [PATCH i-g-t 8/8] README.md: Accept the i915_drm.h standalone update Rodrigo Vivi
2021-10-07  8:27   ` Petri Latvala
2021-10-07 17:09     ` Rodrigo Vivi
2021-10-06 17:16 ` [igt-dev] ✓ Fi.CI.BAT: success for drm-uapi clean-up Patchwork
2021-10-06 20:10 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork

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=8735pevxdt.wl-ashutosh.dixit@intel.com \
    --to=ashutosh.dixit@intel.com \
    --cc=alan.previn.teres.alexis@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=petri.latvala@intel.com \
    --cc=rodrigo.vivi@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox