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 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.