From: Sean Paul <seanpaul@chromium.org>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
Ben Skeggs <bskeggs@redhat.com>,
DRI Development <dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH 10/24] drm: Remove drm_pending_event->pid
Date: Mon, 13 Mar 2017 13:05:27 -0400 [thread overview]
Message-ID: <20170313170527.GK20329@art_vandelay> (raw)
In-Reply-To: <20170308141257.12119-11-daniel.vetter@ffwll.ch>
On Wed, Mar 08, 2017 at 03:12:43PM +0100, Daniel Vetter wrote:
> We might as well dump the drm_file pointer, that's about as useful
> a cookie as the pid. Noticed while typing docs for drm_file and friends.
>
> Since the only consumer of this is the tracepoints I think we can safely
> change this - those tracepoints should not be uapi relevant at all. It
> all goes back to
>
> commit b9c2c9ae882f058084e13e339925dbf8d2d20271
> Author: Jesse Barnes <jbarnes@virtuousgeek.org>
> Date: Thu Jul 1 16:48:09 2010 -0700
>
> drm: add per-event vblank event trace points
>
> which doesn't give a special justification for using pid over a pointer.
Well, it's friendlier to look at, I suppose.
>
> Also note that the nouveau code setting it is entirely pointless:
> Since this isn't a vblank event, it will never hit the vblank
> tracepoints.
>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
> drivers/gpu/drm/drm_irq.c | 5 ++---
> drivers/gpu/drm/drm_trace.h | 20 ++++++++++----------
> drivers/gpu/drm/nouveau/nouveau_usif.c | 1 -
> include/drm/drm_file.h | 2 --
> 4 files changed, 12 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> index 1906723af389..9bdca69f754c 100644
> --- a/drivers/gpu/drm/drm_irq.c
> +++ b/drivers/gpu/drm/drm_irq.c
> @@ -978,7 +978,7 @@ static void send_vblank_event(struct drm_device *dev,
> e->event.tv_sec = now->tv_sec;
> e->event.tv_usec = now->tv_usec;
>
> - trace_drm_vblank_event_delivered(e->base.pid, e->pipe,
> + trace_drm_vblank_event_delivered(e->base.file_priv, e->pipe,
> e->event.sequence);
>
> drm_send_event_locked(dev, &e->base);
> @@ -1505,7 +1505,6 @@ static int drm_queue_vblank_event(struct drm_device *dev, unsigned int pipe,
> }
>
> e->pipe = pipe;
> - e->base.pid = current->pid;
Do you think it would be worthwhile to output the pid:file_priv mapping here in
case someone is using pid?
Regardless, the code looks correct, and I don't any skin in this game, so I'll
add my R-b and let you decide what to do if no one else complains.
Reviewed-by: Sean Paul <seanpaul@chromium.org>
> e->event.base.type = DRM_EVENT_VBLANK;
> e->event.base.length = sizeof(e->event);
> e->event.user_data = vblwait->request.signal;
> @@ -1534,7 +1533,7 @@ static int drm_queue_vblank_event(struct drm_device *dev, unsigned int pipe,
> DRM_DEBUG("event on vblank count %u, current %u, crtc %u\n",
> vblwait->request.sequence, seq, pipe);
>
> - trace_drm_vblank_event_queued(current->pid, pipe,
> + trace_drm_vblank_event_queued(file_priv, pipe,
> vblwait->request.sequence);
>
> e->event.sequence = vblwait->request.sequence;
> diff --git a/drivers/gpu/drm/drm_trace.h b/drivers/gpu/drm/drm_trace.h
> index ce3c42813fbb..14c5a777682e 100644
> --- a/drivers/gpu/drm/drm_trace.h
> +++ b/drivers/gpu/drm/drm_trace.h
> @@ -24,36 +24,36 @@ TRACE_EVENT(drm_vblank_event,
> );
>
> TRACE_EVENT(drm_vblank_event_queued,
> - TP_PROTO(pid_t pid, int crtc, unsigned int seq),
> - TP_ARGS(pid, crtc, seq),
> + TP_PROTO(struct drm_file *file, int crtc, unsigned int seq),
> + TP_ARGS(file, crtc, seq),
> TP_STRUCT__entry(
> - __field(pid_t, pid)
> + __field(struct drm_file *, file)
> __field(int, crtc)
> __field(unsigned int, seq)
> ),
> TP_fast_assign(
> - __entry->pid = pid;
> + __entry->file = file;
> __entry->crtc = crtc;
> __entry->seq = seq;
> ),
> - TP_printk("pid=%d, crtc=%d, seq=%u", __entry->pid, __entry->crtc, \
> + TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \
> __entry->seq)
> );
>
> TRACE_EVENT(drm_vblank_event_delivered,
> - TP_PROTO(pid_t pid, int crtc, unsigned int seq),
> - TP_ARGS(pid, crtc, seq),
> + TP_PROTO(struct drm_file *file, int crtc, unsigned int seq),
> + TP_ARGS(file, crtc, seq),
> TP_STRUCT__entry(
> - __field(pid_t, pid)
> + __field(struct drm_file *, file)
> __field(int, crtc)
> __field(unsigned int, seq)
> ),
> TP_fast_assign(
> - __entry->pid = pid;
> + __entry->file = file;
> __entry->crtc = crtc;
> __entry->seq = seq;
> ),
> - TP_printk("pid=%d, crtc=%d, seq=%u", __entry->pid, __entry->crtc, \
> + TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \
> __entry->seq)
> );
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_usif.c b/drivers/gpu/drm/nouveau/nouveau_usif.c
> index afbdbed1a690..9dc10b17ad34 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_usif.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_usif.c
> @@ -211,7 +211,6 @@ usif_notify_get(struct drm_file *f, void *data, u32 size, void *argv, u32 argc)
> goto done;
> ntfy->p->base.event = &ntfy->p->e.base;
> ntfy->p->base.file_priv = f;
> - ntfy->p->base.pid = current->pid;
> ntfy->p->e.base.type = DRM_NOUVEAU_EVENT_NVIF;
> ntfy->p->e.base.length = sizeof(ntfy->p->e.base) + ntfy->reply;
>
> diff --git a/include/drm/drm_file.h b/include/drm/drm_file.h
> index d1a25cc17fd1..4e347399a7bd 100644
> --- a/include/drm/drm_file.h
> +++ b/include/drm/drm_file.h
> @@ -75,8 +75,6 @@ struct drm_pending_event {
> struct list_head link;
> struct list_head pending_link;
> struct drm_file *file_priv;
> - pid_t pid; /* pid of requester, no guarantee it's valid by the time
> - we deliver the event, for tracing only */
> };
>
> /** File private data */
> --
> 2.11.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-03-13 17:05 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-08 14:12 [PATCH 00/24] more docs and header splits Daniel Vetter
2017-03-08 14:12 ` [PATCH 01/24] drm/doc: Add todo about connector_list_iter Daniel Vetter
2017-03-08 15:12 ` [Intel-gfx] " Sean Paul
2017-03-08 14:12 ` [PATCH 02/24] drm: Extract drm_prime.h Daniel Vetter
2017-03-08 14:57 ` Gustavo Padovan
2017-03-13 16:42 ` Sean Paul
2017-03-14 9:12 ` [Intel-gfx] " Daniel Vetter
2017-03-14 15:42 ` Sean Paul
2017-03-08 14:12 ` [PATCH 03/24] drm: Move drm_lock_data out of drmP.h Daniel Vetter
2017-03-08 14:58 ` Gustavo Padovan
2017-03-08 14:12 ` [PATCH 04/24] drm: Extract drm_pci.h Daniel Vetter
2017-03-08 14:59 ` [Intel-gfx] " Gustavo Padovan
2017-03-08 14:12 ` [PATCH 05/24] drm: Remove drmP.h include from drm_kms_helper_common.c Daniel Vetter
2017-03-08 15:00 ` [Intel-gfx] " Gustavo Padovan
2017-03-08 14:12 ` [PATCH 06/24] drm/doc: document fallback behaviour for atomic events Daniel Vetter
2017-03-08 14:57 ` Laurent Pinchart
2017-03-08 14:12 ` [PATCH 07/24] drm: rename drm_fops.c to drm_file.c Daniel Vetter
2017-03-08 15:02 ` [Intel-gfx] " Gustavo Padovan
2017-03-08 14:12 ` [PATCH 08/24] drm: Remove DRM_MINOR_CNT Daniel Vetter
2017-03-08 14:14 ` David Herrmann
2017-03-13 16:56 ` Sean Paul
2017-03-08 14:12 ` [PATCH 09/24] drm: Extract drm_file.h Daniel Vetter
2017-03-08 15:05 ` Gustavo Padovan
2017-03-09 10:52 ` Daniel Vetter
2017-03-08 14:12 ` [PATCH 10/24] drm: Remove drm_pending_event->pid Daniel Vetter
2017-03-13 17:05 ` Sean Paul [this message]
2017-03-14 13:20 ` [Intel-gfx] " Daniel Vetter
2017-03-08 14:12 ` [PATCH 11/24] drm/doc: Document drm_file.[hc] Daniel Vetter
2017-03-13 17:53 ` Sean Paul
2017-03-14 13:25 ` Daniel Vetter
2017-03-14 13:27 ` Daniel Vetter
2017-03-08 14:12 ` [PATCH 12/24] drm/i915: Merge pre/postclose hooks Daniel Vetter
2017-03-08 15:07 ` Chris Wilson
2017-03-08 15:45 ` Daniel Vetter
2017-03-14 13:38 ` Daniel Vetter
2017-03-08 14:12 ` [PATCH 13/24] drm/msm: switch to postclose Daniel Vetter
2017-03-13 18:59 ` Sean Paul
[not found] ` <20170308141257.12119-1-daniel.vetter-/w4YWyX8dFk@public.gmane.org>
2017-03-08 14:12 ` [PATCH 14/24] drm/nouveau: Merge pre/postclose hooks Daniel Vetter
[not found] ` <20170308141257.12119-15-daniel.vetter-/w4YWyX8dFk@public.gmane.org>
2017-03-13 19:07 ` Sean Paul
2017-03-08 14:12 ` [PATCH 15/24] drm/radeon: " Daniel Vetter
[not found] ` <20170308141257.12119-16-daniel.vetter-/w4YWyX8dFk@public.gmane.org>
2017-03-08 14:25 ` Christian König
[not found] ` <79dc5480-6354-2379-8a7a-a2c099209256-5C7GfCeVMHo@public.gmane.org>
2017-03-09 3:58 ` Alex Deucher
2017-03-08 14:12 ` [PATCH 19/24] drm/amdgpu: " Daniel Vetter
2017-03-08 14:12 ` [PATCH 16/24] drm/tegra: switch to postclose Daniel Vetter
[not found] ` <20170308141257.12119-17-daniel.vetter-/w4YWyX8dFk@public.gmane.org>
2017-03-13 19:10 ` Sean Paul
2017-03-08 14:12 ` [PATCH 17/24] drm/vgem: " Daniel Vetter
2017-03-13 19:11 ` Sean Paul
2017-03-14 13:27 ` Daniel Vetter
2017-03-08 14:12 ` [PATCH 18/24] drm/etnaviv: " Daniel Vetter
2017-03-08 16:09 ` Lucas Stach
2017-03-08 18:15 ` Daniel Vetter
2017-03-09 10:03 ` Lucas Stach
2017-03-08 14:12 ` [PATCH 20/24] drm/exynos: Merge pre/postclose hooks Daniel Vetter
2017-03-13 19:18 ` [Intel-gfx] " Sean Paul
2017-03-14 13:28 ` Daniel Vetter
2017-03-15 0:54 ` Inki Dae
2017-03-15 9:09 ` [Intel-gfx] " Inki Dae
2017-03-15 9:52 ` Daniel Vetter
2017-03-08 14:12 ` [PATCH 21/24] drm/msm: Simplify vblank event delivery Daniel Vetter
2017-03-13 19:26 ` Sean Paul
2017-03-08 14:12 ` [PATCH 22/24] drm: Nerf the preclose callback for modern drivers Daniel Vetter
2017-03-09 10:48 ` Daniel Vetter
2017-03-13 19:29 ` [Intel-gfx] " Sean Paul
2017-03-14 13:50 ` Daniel Vetter
2017-03-08 14:12 ` [PATCH 23/24] drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers Daniel Vetter
2017-03-13 17:11 ` Liviu Dudau
2017-03-13 19:31 ` [Intel-gfx] " Sean Paul
2017-03-13 19:33 ` Sean Paul
2017-03-08 14:12 ` [PATCH 24/24] drm/gem: Add DEFINE_DRM_GEM_FOPS Daniel Vetter
2017-03-13 19:35 ` Sean Paul
2017-03-14 13:31 ` Daniel Vetter
2017-03-08 17:52 ` ✓ Fi.CI.BAT: success for more docs and header splits 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=20170313170527.GK20329@art_vandelay \
--to=seanpaul@chromium.org \
--cc=bskeggs@redhat.com \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.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.