All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Sean Paul <seanpaul@chromium.org>
Cc: "DRM maintainer tools announcements, discussion,
	and development" <dim-tools@lists.freedesktop.org>,
	Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Daniele Castagna <dcastagna@google.com>
Subject: Re: [PULL] drm-misc-next
Date: Wed, 7 Mar 2018 09:19:22 +0100	[thread overview]
Message-ID: <CAKMK7uHx5Ksp=7mBAnC4TwSFpVPCua2a+tRmsZcc0hUbQPkCuQ@mail.gmail.com> (raw)
In-Reply-To: <20180306192012.GV223881@art_vandelay>

On Tue, Mar 6, 2018 at 8:20 PM, Sean Paul <seanpaul@chromium.org> wrote:
> On Tue, Mar 06, 2018 at 09:07:52PM +0200, Ville Syrjälä wrote:
>> On Tue, Mar 06, 2018 at 02:01:21PM -0500, Sean Paul wrote:
>> > On Tue, Mar 06, 2018 at 07:42:53AM +0100, Daniel Vetter wrote:
>> > > On Tue, Mar 6, 2018 at 12:20 AM, Sean Paul <seanpaul@chromium.org> wrote:
>> > > > On Mon, Mar 5, 2018 at 12:10 AM, Daniel Vetter <daniel@ffwll.ch> wrote:
>> > > >> On Fri, Mar 02, 2018 at 04:22:15PM -0500, Sean Paul wrote:
>> > > >>> On Wed, Feb 28, 2018 at 3:34 PM, Sean Paul <seanpaul@chromium.org> wrote:
>> > > >>> >
>> > > >>> > Hi Dave,
>> > > >>> > Here's this weeks pull, relatively small when you pull out the trivial fixes.
>> > > >>> >
>> > > >>> > drm-misc-next-2018-02-28:
>> > > >>> > drm-misc-next for 4.17:
>> > > >>> >
>> > > >>> > UAPI Changes:
>> > > >>> >  Fix drm_color_ctm matrix docs to match usage and change the type to
>> > > >>> >  __u64 make it obvious (Ville)
>> > > >>>
>> > > >>> Hi Dave,
>> > > >>> Could you please hold off on pulling this? I'd like to sort out this
>> > > >>> change a bit more. We're already using the __s64 in chrome, and not
>> > > >>> explicitly sign-magnitude. I think it would be prudent to hash this
>> > > >>> out a little more.
>> > > >>>
>> > > >>> https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/drm_device.cc?l=161
>> > > >>
>> > > >> That code seems to be doing the exact same fun s.u63 math. This all looks
>> > > >> consistent to me.
>> > > >
>> > > > Hmm, yeah, I skimmed too quickly last week.
>> > > >
>> > > >>
>> > > >> Now in hindsight ofc we've screwed up the uapi, but well can't fix that
>> > > >> now again ...
>> > > >
>> > > > Yeah, I'm not convinced we should be changing the type. It's great to
>> > > > clarify the documentation to let userspace know it's sign-magnitude,
>> > > > but changing the type in-flight with users seems wrong.
>> > >
>> > > But everyone must do unsigned bit ops to get this right, the s64 is
>> > > completely meaningless at best, and very likely will confuse someone.
>> >
>> > It's definitely a good change to clarify the usage of the field, I'm not arguing
>> > against that.
>> >
>> > > What do we benefit by not changing it?
>> >
>> > In the kernel, nothing. However changing uapi structs out from under userspace
>> > requires userspace updates. In order for that to happen, they need to be
>> > aware of the change and coordinate its rollout kernel/libdrm/compositor. At
>> > least in CrOS, Chrome people don't follow kernel changes, so they'll discover
>> > this with a compiler warning (hopefully) and have to backtrack what happened.
>> >
>> > Given that everybody seems to be using this struct correctly, what do we benefit
>> > from changing it? Wouldn't a comment be sufficient? Perhaps a union of
>> > __s64/__u64 would be less disruptive.
>>
>> Umm. What exactly broke? The code behind your link even casts the final
>> value to unsigned. So now the struct actually matches the code.
>
> We haven't pulled the change back, so nothing has changed in cros. You're right
> that the code already does the right thing. So perhaps I'm just tilting at
> windmills here, but this type of churn seemed unsettling to me.

Yeah I'm not seeing any issue you want to prevent by rolling out this
header change to userspace first. There's two cases:
- Observed uapi or uabi actually changes. "Observed" here means any of
the existing open source users would change behaviour in a way that
could be noticed by users, testsuites. If that's the case we can't do
it, a coordinated roll-out wont help. Extending a struct size isn't
such a thing, assuming all our padding code works. Changing the layout
is, just as an example.
- Observed uapi behaviour doesn't change. If it doesn't change it also
doesn't matter which version userspace is using for compilation. And
there's no need at all for a coordinated roll-out.

s64 vs. u64 only affects sign extension and wrap-around behavior (it's
undefined on signed ints). Because our only existing userspace does
none of that (in the uapi struct itself), there's no observable
behaviour difference possible, and the change is safe.

Agree with that? If so, please tell Dave to unblock this pull request.

Thanks, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2018-03-07  8:19 UTC|newest]

Thread overview: 314+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-28 20:34 [PULL] drm-misc-next Sean Paul
2018-03-02 21:22 ` Sean Paul
2018-03-05  8:10   ` Daniel Vetter
2018-03-05 23:20     ` Sean Paul
2018-03-06  6:42       ` Daniel Vetter
2018-03-06 19:01         ` Sean Paul
2018-03-06 19:07           ` Ville Syrjälä
2018-03-06 19:20             ` Sean Paul
2018-03-07  8:19               ` Daniel Vetter [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-04-25 14:39 Maarten Lankhorst
2024-04-19 12:04 Maarten Lankhorst
2024-04-10 14:59 Maarten Lankhorst
2024-04-05 12:36 Maarten Lankhorst
2024-03-28 11:22 Maarten Lankhorst
2024-03-21 13:56 Maarten Lankhorst
2024-02-29  8:48 Thomas Zimmermann
2024-02-22 13:58 Thomas Zimmermann
2024-02-26  9:41 ` Daniel Vetter
2024-02-15 13:26 Thomas Zimmermann
2024-02-09 16:32 Thomas Zimmermann
2024-01-11 15:49 Thomas Zimmermann
2024-01-11 15:49 ` Thomas Zimmermann
2023-12-14  9:34 Maxime Ripard
2023-12-14  9:34 ` Maxime Ripard
2023-12-07  9:59 Maxime Ripard
2023-11-30  9:15 Maxime Ripard
2023-11-23 12:58 Maxime Ripard
2023-11-23 19:40 ` Daniel Vetter
2023-11-17  9:41 Maxime Ripard
2023-11-20  9:31 ` Daniel Vetter
2023-11-03 16:37 David Edelsohn
2023-11-06 10:01 ` Thomas Hellström
2023-11-06 10:20   ` Maxime Ripard
2023-11-06 10:37     ` Thomas Hellström
2023-11-06 10:47       ` Thomas Hellström
2023-11-06 10:55       ` Maxime Ripard
2023-11-06 14:57         ` David Edelsohn
2023-10-27  7:17 Maarten Lankhorst
2023-10-19 11:40 Maarten Lankhorst
2023-10-12  9:40 Maarten Lankhorst
2023-10-06  8:37 Maarten Lankhorst
2023-09-27 10:09 Maarten Lankhorst
2023-09-11 12:45 Maarten Lankhorst
2023-08-14 22:17 Helen Koike
2023-08-14 22:17 ` Helen Koike
2023-08-14 23:49 ` Helen Mae Koike Fornazier
2023-08-14 23:49   ` Helen Mae Koike Fornazier
2023-08-10  8:45 Thomas Zimmermann
2023-08-03 15:01 Thomas Zimmermann
2023-07-21 14:50 Maxime Ripard
2023-07-27 13:00 ` Daniel Vetter
2023-07-13  9:08 Thomas Zimmermann
2023-07-18 10:25 ` Daniel Vetter
2023-06-07  8:56 Thomas Zimmermann
2023-06-01 11:22 Thomas Zimmermann
2023-05-24 12:42 Thomas Zimmermann
2023-05-11  7:28 Maxime Ripard
2023-05-17 16:44 ` Thomas Zimmermann
2023-04-12 13:32 Maarten Lankhorst
2023-04-12 14:24 ` Daniel Vetter
2023-03-31 15:42 Maarten Lankhorst
2023-04-03  8:24 ` Daniel Vetter
2023-03-23 11:08 Maarten Lankhorst
2023-03-24 19:21 ` Daniel Vetter
2023-03-16 15:39 Maarten Lankhorst
2023-03-07 10:14 Maarten Lankhorst
2023-01-26  8:15 Thomas Zimmermann
2023-01-24 20:02 Thomas Zimmermann
2023-01-19  8:47 Thomas Zimmermann
2023-01-23 15:00 ` John Paul Adrian Glaubitz
2023-01-23 15:13   ` Thomas Zimmermann
2023-01-23 15:23     ` John Paul Adrian Glaubitz
2023-01-23 15:35       ` Thomas Zimmermann
2023-01-23 15:48         ` John Paul Adrian Glaubitz
2023-02-02 14:54   ` Deucher, Alexander
2023-01-24 16:56 ` Daniel Vetter
2023-01-12 12:56 Thomas Zimmermann
2023-01-03 10:51 Thomas Zimmermann
2023-01-04 15:18 ` Daniel Vetter
2022-11-24  7:46 Maxime Ripard
2022-11-17  8:36 Maxime Ripard
2022-11-10  8:36 Maxime Ripard
2022-11-03  8:34 Maxime Ripard
2022-10-27  7:34 Maxime Ripard
2022-10-20  7:24 Maxime Ripard
2022-09-30  8:54 Maarten Lankhorst
2022-09-23  7:39 Maxime Ripard
2022-09-09  8:46 Maarten Lankhorst
2022-09-06  6:53 Maarten Lankhorst
2022-09-06 15:20 ` Daniel Vetter
2022-07-07  7:13 Thomas Zimmermann
2022-06-30  7:19 Thomas Zimmermann
2022-06-23  8:02 Thomas Zimmermann
2022-06-23  8:07 ` Thomas Zimmermann
2022-06-23  8:26   ` Jani Nikula
2022-06-23  8:36     ` Thomas Zimmermann
2022-06-23  8:56       ` Jani Nikula
2022-06-24 22:12         ` Daniel Vetter
2022-06-17  7:21 Thomas Zimmermann
2022-06-08 10:34 Thomas Zimmermann
2022-06-15 18:14 ` Daniel Vetter
2022-05-05 13:11 Maxime Ripard
2022-04-28  7:52 Maxime Ripard
2022-04-21  6:59 Maxime Ripard
2022-04-14  7:38 Maxime Ripard
2022-04-07  8:59 Maxime Ripard
2022-03-03  9:28 Maarten Lankhorst
2022-02-23 12:49 Maarten Lankhorst
2022-01-27 11:57 Maarten Lankhorst
2022-02-01  6:38 ` Dave Airlie
2022-02-01  8:17   ` Maarten Lankhorst
2022-02-01 11:14     ` Thomas Zimmermann
2022-02-22 20:17     ` Thomas Zimmermann
2021-12-16 14:34 Thomas Zimmermann
2021-12-09 11:46 Thomas Zimmermann
2021-11-29  8:56 Thomas Zimmermann
2021-12-14  8:53 ` Daniel Vetter
2021-11-18  9:13 Thomas Zimmermann
2021-10-14 12:04 Maxime Ripard
2021-10-06 10:48 Maarten Lankhorst
2021-09-30 11:27 Maxime Ripard
2021-09-23  7:45 Maxime Ripard
2021-09-16  7:31 Maxime Ripard
2021-09-20 22:29 ` Rob Herring
2021-09-22  7:44   ` Maxime Ripard
2021-08-12 19:34 Maarten Lankhorst
2021-08-05 10:22 Maarten Lankhorst
2021-07-29 20:57 Maarten Lankhorst
2021-07-22 10:46 Maarten Lankhorst
2021-07-16 11:07 Maarten Lankhorst
2021-07-21  4:03 ` Dave Airlie
2021-07-21  8:44   ` Thomas Zimmermann
2021-06-10 11:15 Thomas Zimmermann
2021-06-10 13:32 ` Daniel Vetter
2021-06-11  6:53   ` Thomas Zimmermann
2021-06-09  7:42 Thomas Zimmermann
2021-06-01 15:11 Thomas Zimmermann
2021-05-17 13:17 Thomas Zimmermann
2021-05-17 13:25 ` Thomas Zimmermann
2021-05-12 14:19 Thomas Zimmermann
2021-04-09  9:00 Maxime Ripard
2021-04-01 11:05 Maxime Ripard
2021-03-25  9:47 Maxime Ripard
2021-03-16  8:03 Maxime Ripard
2021-03-03 10:06 Maxime Ripard
2021-01-19 11:39 Maarten Lankhorst
2021-01-20 12:11 ` Daniel Vetter
2021-01-06 11:13 Maarten Lankhorst
2021-01-07 12:42 ` Daniel Vetter
2020-12-17 10:12 Maarten Lankhorst
2021-01-07  9:59 ` Daniel Vetter
2020-11-27  8:30 Thomas Zimmermann
2020-11-18 12:32 Thomas Zimmermann
2020-11-12  8:01 Thomas Zimmermann
2020-11-05 10:16 Thomas Zimmermann
2020-10-27 10:09 Thomas Zimmermann
2020-10-27 10:11 ` Thomas Zimmermann
2020-09-21 15:29 Maxime Ripard
2020-09-18  8:11 Maxime Ripard
2020-09-10  8:18 Maxime Ripard
2020-09-03 16:06 Maxime Ripard
2020-08-27 15:55 Maxime Ripard
2020-08-20 12:56 Maxime Ripard
2020-08-26 10:02 ` Jani Nikula
2020-08-30  6:05   ` Daniel Vetter
2020-07-22 10:38 Maarten Lankhorst
2020-07-16 11:42 Maarten Lankhorst
2020-06-26 10:52 Maarten Lankhorst
2020-06-19 15:19 Maarten Lankhorst
2020-05-14  7:08 Thomas Zimmermann
2020-05-07  7:25 Thomas Zimmermann
2020-04-23  8:34 Thomas Zimmermann
2020-04-14  9:07 Thomas Zimmermann
2020-04-21 12:46 ` Thomas Zimmermann
2020-04-21 13:41   ` Daniel Vetter
2020-04-21 14:05     ` Thomas Zimmermann
2020-03-17  8:28 Maxime Ripard
2020-03-09 13:54 Maxime Ripard
2020-02-27 11:32 Maxime Ripard
2020-02-21 10:09 Maxime Ripard
2020-02-10  9:34 Maxime Ripard
2020-01-10 11:50 Maarten Lankhorst
2020-01-07 11:50 Maarten Lankhorst
2020-01-07 15:25 ` Daniel Vetter
2020-01-02 13:06 Maarten Lankhorst
2019-12-17  8:48 Maarten Lankhorst
2019-12-17 12:59 ` Daniel Vetter
2019-10-31 19:30 Sean Paul
2019-10-24 15:55 Sean Paul
2019-10-24 15:55 ` Sean Paul
2019-10-17 19:26 Sean Paul
2019-10-18 13:45 ` Tomi Valkeinen
2019-10-18 20:11   ` Sean Paul
2019-10-21  8:09     ` Tomi Valkeinen
2019-10-21 15:48       ` Sean Paul
2019-10-09 15:08 Sean Paul
2019-08-23  8:35 Maxime Ripard
2019-08-19 14:19 Maxime Ripard
2019-08-16 11:32 Maxime Ripard
2019-08-16 11:47 ` Chris Wilson
2019-08-19 14:19   ` Maxime Ripard
2019-08-08 12:14 Maxime Ripard
2019-08-03 10:47 Maxime Ripard
2019-08-06  0:33 ` Dave Airlie
2019-08-06  7:34   ` Daniel Vetter
2019-08-06  9:40     ` Emil Velikov
2019-08-06  9:49       ` Daniel Vetter
2019-08-06  9:54         ` Emil Velikov
2019-08-06  9:58           ` Daniel Vetter
2019-08-06 10:12             ` Daniel Stone
2019-08-06 10:27               ` Emil Velikov
2019-08-06 10:48                 ` Jani Nikula
2019-08-06  9:55         ` Daniel Vetter
2019-08-06 14:25     ` Rob Herring
2019-08-06 14:55       ` Daniel Vetter
2019-08-06 16:01   ` Maxime Ripard
2019-08-06 16:11     ` Daniel Vetter
2019-08-07 12:02       ` Maxime Ripard
2019-08-07 12:30         ` Daniel Vetter
2019-08-08 15:29           ` Maxime Ripard
2019-06-20 15:42 Maarten Lankhorst
2019-06-14  8:57 Maarten Lankhorst
2019-06-14  9:35 ` Daniel Vetter
2019-06-05  9:17 Maarten Lankhorst
2019-05-23 15:47 Maarten Lankhorst
2019-05-23 15:53 ` Sean Paul
2019-05-23 15:55   ` Daniel Vetter
2019-05-23 15:55     ` Daniel Vetter
2019-04-18  9:05 Maarten Lankhorst
2019-04-10 19:49 Sean Paul
2019-04-04 20:10 Sean Paul
2019-03-28 15:33 Sean Paul
2019-03-28 16:03 ` Daniel Vetter
2019-03-21 17:08 Sean Paul
2019-03-25 10:37 ` Daniel Vetter
     [not found] <20190211095220.3oeodszr2dgxrwqq@flea>
2019-02-14 13:07 ` Daniel Vetter
2019-02-01 14:47 Maxime Ripard
2019-01-23 11:03 Maxime Ripard
2019-01-16 20:04 Maxime Ripard
2019-01-15 10:56 Maxime Ripard
2019-01-16  9:36 ` Daniel Vetter
2019-01-07 18:03 Maxime Ripard
2018-12-06  9:44 Maarten Lankhorst
2018-11-28  9:36 Maarten Lankhorst
2018-11-21 10:44 Maarten Lankhorst
2018-11-08 16:05 Maarten Lankhorst
2018-11-07 11:58 Maarten Lankhorst
2018-11-07 20:18 ` Daniel Vetter
2018-11-07 20:29   ` Sean Paul
2018-11-07 20:31     ` Daniel Vetter
2018-11-07 20:48       ` Sean Paul
2018-11-08  7:56         ` Christian König
2018-11-08  8:05           ` Daniel Vetter
2018-11-08  8:37         ` Maarten Lankhorst
2018-09-27  9:39 Sean Paul
2018-09-19 20:03 Sean Paul
2018-09-13 13:02 Sean Paul
2018-09-05 20:22 Sean Paul
2018-07-18 20:08 Gustavo Padovan
2018-07-12  1:11 Gustavo Padovan
2018-07-04 23:46 Gustavo Padovan
2018-06-28  1:00 Gustavo Padovan
2018-06-21 10:54 Gustavo Padovan
2018-06-22  3:11 ` Dave Airlie
2018-06-22  9:19   ` Christian König
2018-06-21  0:58 Gustavo Padovan
2018-06-21 10:01 ` Christian König
2018-05-15  8:17 Maarten Lankhorst
2018-05-11  7:43 Maarten Lankhorst
2018-05-11 20:25 ` Eric Anholt
2018-05-04  9:54 Maarten Lankhorst
2018-04-26 10:53 Maarten Lankhorst
2018-06-06  3:37 ` Dave Airlie
2018-06-06  7:49   ` Maarten Lankhorst
2018-03-21 14:49 Sean Paul
2018-03-09 18:04 Sean Paul
2018-02-21 20:36 Sean Paul
2018-01-08 13:45 Gustavo Padovan
2017-12-21 17:04 Gustavo Padovan
2017-12-14 17:46 Gustavo Padovan
2017-12-07 11:06 Gustavo Padovan
2017-10-20 13:39 Daniel Vetter
2017-10-16  9:35 Daniel Vetter
2017-10-12 12:05 Daniel Vetter
2017-10-13 14:08 ` Maarten Lankhorst
2017-10-13 14:24   ` Benjamin Gaignard
2017-10-05  5:36 Daniel Vetter
2017-09-20 17:33 Daniel Vetter
2017-09-20 18:42 ` Daniel Vetter
2017-08-18 17:00 Sean Paul
2017-08-16 20:42 Sean Paul
2017-08-08 19:50 Sean Paul
2017-07-18 18:42 Sean Paul
2017-07-18 18:49 ` Sean Paul
2017-06-15 20:52 Sean Paul
2017-06-02 20:55 Sean Paul
2017-05-26 20:58 Sean Paul
2017-05-29  6:57 ` Daniel Vetter
2017-05-16 14:55 Sean Paul
2017-03-31 15:23 Sean Paul
2017-03-21  9:06 Daniel Vetter
2017-03-20 15:30 Daniel Vetter
2017-03-21  7:23 ` Daniel Vetter
2017-03-12 12:57 Daniel Vetter
2017-03-06  9:54 Daniel Vetter
2017-01-30  8:58 Daniel Vetter
2017-01-23  7:35 Daniel Vetter
2017-01-09 19:15 Daniel Vetter
2016-12-30 10:35 Daniel Vetter
2016-12-08 10:16 Daniel Vetter
2016-11-29 10:13 Daniel Vetter
2016-11-29 11:17 ` Daniel Vetter
2016-11-29 21:01   ` Stephen Rothwell
2016-11-16 17:11 Daniel Vetter

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='CAKMK7uHx5Ksp=7mBAnC4TwSFpVPCua2a+tRmsZcc0hUbQPkCuQ@mail.gmail.com' \
    --to=daniel@ffwll.ch \
    --cc=dcastagna@google.com \
    --cc=dim-tools@lists.freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=maxime.ripard@bootlin.com \
    --cc=oleksandr_andrushchenko@epam.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=rodrigosiqueiramelo@gmail.com \
    --cc=seanpaul@chromium.org \
    /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.