From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: "Vivi, Rodrigo" <rodrigo.vivi@intel.com>
Cc: "igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>,
"Teres Alexis, Alan Previn" <alan.previn.teres.alexis@intel.com>,
"Latvala, Petri" <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 13:19:42 -0700 [thread overview]
Message-ID: <87tuhtvrc1.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <49591b5a838cdda9298bda1c395de9353ce38f38.camel@intel.com>
On Wed, 06 Oct 2021 12:40:01 -0700, Vivi, Rodrigo wrote:
>
> On Wed, 2021-10-06 at 11:09 -0700, Dixit, Ashutosh wrote:
> > 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.
>
> I had identical declarations of a struct and it caused conflict for me.
You are right, compiler will complain about identical duplicate structs,
just not about identical duplicate #define's :(
Probably not a bad idea since it will force stuff to be deleted from
i915_drm_local.h :)
> This is why I had to squash the changes of patches 1 to the revert on
> the other patch to revert the i915_drm.h:
>
> https://patchwork.freedesktop.org/patch/457774/
>
> That's why I came to vent :)
>
> But anyway, I got the point and I believe it is a good thing overall.
>
> Could you please help with the review of the patch in this link above?
>
> > 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 :)
>
next prev parent reply other threads:[~2021-10-06 20:19 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
2021-10-06 19:40 ` Vivi, Rodrigo
2021-10-06 20:19 ` Dixit, Ashutosh [this message]
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=87tuhtvrc1.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