All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@redhat.com>
To: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: "Arnaldo Carvalho de Melo" <acme@kernel.org>,
	"Ingo Molnar" <mingo@kernel.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Jiri Olsa" <jolsa@kernel.org>,
	"Namhyung Kim" <namhyung@kernel.org>,
	"Clark Williams" <williams@redhat.com>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	"Adrian Hunter" <adrian.hunter@intel.com>,
	"Brendan Gregg" <brendan.d.gregg@gmail.com>,
	"Christian König" <christian.koenig@amd.com>,
	"Chunming Zhou" <david1.zhou@amd.com>,
	"Dave Airlie" <airlied@redhat.com>,
	"Luis Cláudio Gonçalves" <lclaudio@redhat.com>
Subject: Re: [PATCH 25/44] tools headers UAPI: Sync drm/drm.h with the kernel
Date: Tue, 28 May 2019 09:53:03 -0300	[thread overview]
Message-ID: <20190528125303.GA2935@redhat.com> (raw)
In-Reply-To: <9dac0e36-237f-34a5-1791-e5e45e0dcc4e@intel.com>

Em Tue, May 28, 2019 at 09:07:03AM +0100, Lionel Landwerlin escreveu:
> On 27/05/2019 23:37, Arnaldo Carvalho de Melo wrote:
> >From: Arnaldo Carvalho de Melo <acme@redhat.com>
> >
> >To pick up the changes in these csets:
> >
> >   060cebb20cdb ("drm: introduce a capability flag for syncobj timeline support")
> >   50d1ebef79ef ("drm/syncobj: add timeline signal ioctl for syncobj v5")
> >   ea569910cbab ("drm/syncobj: add transition iotcls between binary and timeline v2")
> >   27b575a9aa2f ("drm/syncobj: add timeline payload query ioctl v6")
> >   01d6c3578379 ("drm/syncobj: add support for timeline point wait v8")
> >   783195ec1cad ("drm/syncobj: disable the timeline UAPI for now v2")
> >   48197bc564c7 ("drm: add syncobj timeline support v9")
> >
> >Which automagically results in the following new ioctls being recognized
> >by the 'perf trace' ioctl cmd arg beautifier:
> >
> >   $ tools/perf/trace/beauty/drm_ioctl.sh > /tmp/before
> >   $ cp include/uapi/drm/drm.h tools/include/uapi/drm/drm.h
> >   $ tools/perf/trace/beauty/drm_ioctl.sh > /tmp/after
> >   $ diff -u /tmp/before /tmp/after
> >   --- /tmp/before	2019-05-22 10:25:31.443151182 -0300
> >   +++ /tmp/after	2019-05-22 10:25:46.449354819 -0300
> >   @@ -103,6 +103,10 @@
> >    	[0xC7] = "MODE_LIST_LESSEES",
> >    	[0xC8] = "MODE_GET_LEASE",
> >    	[0xC9] = "MODE_REVOKE_LEASE",
> >   +	[0xCA] = "SYNCOBJ_TIMELINE_WAIT",
> >   +	[0xCB] = "SYNCOBJ_QUERY",
> >   +	[0xCC] = "SYNCOBJ_TRANSFER",
> >   +	[0xCD] = "SYNCOBJ_TIMELINE_SIGNAL",
> >    	[DRM_COMMAND_BASE + 0x00] = "I915_INIT",
> >    	[DRM_COMMAND_BASE + 0x01] = "I915_FLUSH",
> >    	[DRM_COMMAND_BASE + 0x02] = "I915_FLIP",
> >     $
> >
> >I.e. the strace like raw_tracepoint:sys_enter handler in 'perf trace'
> >will get the cmd integer value and map it to the string.
> >
> >At some point it should be possible to translate from string to integer
> >and use to filter using expressions such as:
> >
> >    # perf trace -e ioctl/cmd==DRM_IOCTL_SYNCOBJ*/
> >
> >Or some more suitable syntax to express that only these ioctls when
> >acting on DRM fds should be shown.
> >
> >Cc: Adrian Hunter <adrian.hunter@intel.com>
> >Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
> >Cc: Christian König <christian.koenig@amd.com>
> >Cc: Chunming Zhou <david1.zhou@amd.com>
> >Cc: Dave Airlie <airlied@redhat.com>
> >Cc: Jiri Olsa <jolsa@kernel.org>
> >Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
> >Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
> >Cc: Namhyung Kim <namhyung@kernel.org>
> >Link: https://lkml.kernel.org/n/tip-jrc9ogw33w4zgqc3pu7o1l3g@git.kernel.org
> >Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> 
> Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>

Thank, added since I'll have to resubmit this branch.

- Arnaldo
 
> 
> >---
> >  tools/include/uapi/drm/drm.h | 37 ++++++++++++++++++++++++++++++++++++
> >  1 file changed, 37 insertions(+)
> >
> >diff --git a/tools/include/uapi/drm/drm.h b/tools/include/uapi/drm/drm.h
> >index 300f336633f2..661d73f9a919 100644
> >--- a/tools/include/uapi/drm/drm.h
> >+++ b/tools/include/uapi/drm/drm.h
> >@@ -649,6 +649,7 @@ struct drm_gem_open {
> >  #define DRM_CAP_PAGE_FLIP_TARGET	0x11
> >  #define DRM_CAP_CRTC_IN_VBLANK_EVENT	0x12
> >  #define DRM_CAP_SYNCOBJ		0x13
> >+#define DRM_CAP_SYNCOBJ_TIMELINE	0x14
> >  /** DRM_IOCTL_GET_CAP ioctl argument type */
> >  struct drm_get_cap {
> >@@ -735,8 +736,18 @@ struct drm_syncobj_handle {
> >  	__u32 pad;
> >  };
> >+struct drm_syncobj_transfer {
> >+	__u32 src_handle;
> >+	__u32 dst_handle;
> >+	__u64 src_point;
> >+	__u64 dst_point;
> >+	__u32 flags;
> >+	__u32 pad;
> >+};
> >+
> >  #define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL (1 << 0)
> >  #define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT (1 << 1)
> >+#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE (1 << 2) /* wait for time point to become available */
> >  struct drm_syncobj_wait {
> >  	__u64 handles;
> >  	/* absolute timeout */
> >@@ -747,12 +758,33 @@ struct drm_syncobj_wait {
> >  	__u32 pad;
> >  };
> >+struct drm_syncobj_timeline_wait {
> >+	__u64 handles;
> >+	/* wait on specific timeline point for every handles*/
> >+	__u64 points;
> >+	/* absolute timeout */
> >+	__s64 timeout_nsec;
> >+	__u32 count_handles;
> >+	__u32 flags;
> >+	__u32 first_signaled; /* only valid when not waiting all */
> >+	__u32 pad;
> >+};
> >+
> >+
> >  struct drm_syncobj_array {
> >  	__u64 handles;
> >  	__u32 count_handles;
> >  	__u32 pad;
> >  };
> >+struct drm_syncobj_timeline_array {
> >+	__u64 handles;
> >+	__u64 points;
> >+	__u32 count_handles;
> >+	__u32 pad;
> >+};
> >+
> >+
> >  /* Query current scanout sequence number */
> >  struct drm_crtc_get_sequence {
> >  	__u32 crtc_id;		/* requested crtc_id */
> >@@ -909,6 +941,11 @@ extern "C" {
> >  #define DRM_IOCTL_MODE_GET_LEASE	DRM_IOWR(0xC8, struct drm_mode_get_lease)
> >  #define DRM_IOCTL_MODE_REVOKE_LEASE	DRM_IOWR(0xC9, struct drm_mode_revoke_lease)
> >+#define DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT	DRM_IOWR(0xCA, struct drm_syncobj_timeline_wait)
> >+#define DRM_IOCTL_SYNCOBJ_QUERY		DRM_IOWR(0xCB, struct drm_syncobj_timeline_array)
> >+#define DRM_IOCTL_SYNCOBJ_TRANSFER	DRM_IOWR(0xCC, struct drm_syncobj_transfer)
> >+#define DRM_IOCTL_SYNCOBJ_TIMELINE_SIGNAL	DRM_IOWR(0xCD, struct drm_syncobj_timeline_array)
> >+
> >  /**
> >   * Device specific ioctls should only be in their respective headers
> >   * The device specific ioctl range is from 0x40 to 0x9f.
> 

  reply	other threads:[~2019-05-28 12:53 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-27 22:36 [GIT PULL] perf/urgent improvements and fixes Arnaldo Carvalho de Melo
2019-05-27 22:36 ` [PATCH 01/44] perf-with-kcore.sh: Always allow fix_buildid_cache_permissions Arnaldo Carvalho de Melo
2019-05-27 22:36 ` [PATCH 02/44] perf intel-pt: Fix itrace defaults for perf script Arnaldo Carvalho de Melo
2019-05-27 22:36 ` [PATCH 03/44] perf auxtrace: " Arnaldo Carvalho de Melo
2019-05-27 22:36 ` [PATCH 04/44] perf intel-pt: Fix itrace defaults for perf script intel-pt documentation Arnaldo Carvalho de Melo
2019-05-27 22:36 ` [PATCH 05/44] perf data: Fix 'strncat may truncate' build failure with recent gcc Arnaldo Carvalho de Melo
2019-05-27 22:46   ` Shawn Landden
2019-05-28 13:04     ` Arnaldo Carvalho de Melo
2019-05-28 16:59       ` Shawn Landden
2019-05-28 17:39         ` Arnaldo Carvalho de Melo
2019-05-27 22:36 ` [PATCH 06/44] perf arm64: Fix mksyscalltbl when system kernel headers are ahead of the kernel Arnaldo Carvalho de Melo
2019-05-27 22:36 ` [PATCH 07/44] tools include UAPI: Update copy of files related to new fspick, fsmount, fsconfig, fsopen, move_mount and open_tree syscalls Arnaldo Carvalho de Melo
2019-05-27 22:36 ` [PATCH 08/44] perf augmented_raw_syscalls: Fix up comment Arnaldo Carvalho de Melo
2019-05-27 22:36 ` [PATCH 09/44] perf beauty: Add generator for 'move_mount' flags argument Arnaldo Carvalho de Melo
2019-05-27 22:36 ` [PATCH 10/44] perf trace: Beautify 'move_mount' arguments Arnaldo Carvalho de Melo
2019-05-27 22:36 ` [PATCH 11/44] perf beauty: Add generator for fspick's 'flags' arg values Arnaldo Carvalho de Melo
2019-05-27 22:36 ` [PATCH 12/44] perf trace: Beautify 'fspick' arguments Arnaldo Carvalho de Melo
2019-05-27 22:36 ` [PATCH 13/44] perf beauty: Add generator for fsconfig's 'cmd' arg values Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 14/44] perf trace: Beautify 'fsconfig' arguments Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 15/44] perf beauty: Add generator for fsmount's 'attr_flags' arg values Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 16/44] perf trace: Introduce syscall_arg__scnprintf_strarray_flags Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 17/44] perf trace: Beautify 'fsmount' arguments Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 18/44] tools arch x86: Sync asm/cpufeatures.h with the with the kernel Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 19/44] tools headers UAPI: Sync linux/sched.h " Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 20/44] perf trace beauty clone: Handle CLONE_PIDFD Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 21/44] tools headers UAPI: Sync linux/fs.h with the kernel Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 22/44] perf beauty: Add generator for sync_file_range's 'flags' arg values Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 23/44] perf trace: Beautify 'sync_file_range' arguments Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 24/44] tools headers UAPI: Sync drm/i915_drm.h with the kernel Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 25/44] tools headers UAPI: Sync drm/drm.h " Arnaldo Carvalho de Melo
2019-05-28  3:17   ` Zhou, David(ChunMing)
2019-05-28  8:07   ` Lionel Landwerlin
2019-05-28 12:53     ` Arnaldo Carvalho de Melo [this message]
2019-05-27 22:37 ` [PATCH 26/44] perf namespace: Protect reading thread's namespace Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 27/44] perf session: Add missing swap ops for namespace events Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 28/44] perf top: Add --namespaces option Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 29/44] perf tools: Remove const from thread read accessors Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 30/44] perf dso: Separate generic code in dso__data_file_size() Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 31/44] perf dso: Separate generic code in dso_cache__read Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 32/44] perf dso: Simplify dso_cache__read function Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 33/44] perf dso: Add BPF DSO read and size hooks Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 34/44] perf test vmlinux-kallsyms: Ignore aliases to _etext when searching on kallsyms Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 35/44] perf machine: Read also the end of the kernel Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 36/44] perf machine: Keep zero in pgoff BPF map Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 37/44] perf tools: Preserve eBPF maps when loading kcore Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 38/44] perf script: Pad DSO name for --call-trace Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 39/44] perf tests: Add map_groups__merge_in test Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 40/44] perf script: Add --show-bpf-events to show eBPF related events Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 41/44] perf script: Remove superfluous BPF event titles Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 42/44] perf version: Append 12 git SHA chars to the version string Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 43/44] perf record: Fix s390 missing module symbol and warning for non-root users Arnaldo Carvalho de Melo
2019-05-27 22:37 ` [PATCH 44/44] tools headers UAPI: Sync kvm.h headers with the kernel sources Arnaldo Carvalho de Melo

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=20190528125303.GA2935@redhat.com \
    --to=acme@redhat.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=airlied@redhat.com \
    --cc=brendan.d.gregg@gmail.com \
    --cc=christian.koenig@amd.com \
    --cc=david1.zhou@amd.com \
    --cc=jolsa@kernel.org \
    --cc=lclaudio@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=lionel.g.landwerlin@intel.com \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=williams@redhat.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.