• Arnaldo Carvalho de Melo's avatar
    tools include UAPI: Sync linux/vhost.h with the kernel sources · f64925c1
    Arnaldo Carvalho de Melo authored
    To get the changes in:
    
      776f3950 ("vhost_vdpa: Support config interrupt in vdpa")
    
    Silencing this perf build warning:
    
      Warning: Kernel ABI header at 'tools/include/uapi/linux/vhost.h' differs from latest version at 'include/uapi/linux/vhost.h'
      diff -u tools/include/uapi/linux/vhost.h include/uapi/linux/vhost.h
    
    This automatically picks the new ioctl introduced in the above patch,
    making tools such as 'perf trace' aware of them and possibly allowing to
    use the strings in filters, etc:
    
      # perf trace -e ioctl --pid 7951
      <SNIP>
         0.178 ( 0.010 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
         0.194 ( 0.010 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
         0.209 ( 0.010 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
         0.224 (249.413 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       249.660 ( 0.011 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       249.675 ( 0.007 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       249.686 ( 0.007 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       249.697 ( 0.008 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       249.709 ( 0.007 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       249.720 ( 0.007 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       249.730 ( 0.007 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       249.740 ( 0.007 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       249.752 ( 0.007 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       249.762 ( 0.007 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       249.772 ( 0.007 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       249.782 (120.138 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       370.201 ( 0.039 ms): CPU 0/KVM/8023 ioctl(fd: 12, cmd: KVM_IRQ_LINE_STATUS, arg: 0x7f744f9e1420) = 0
       370.254 ( 0.052 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       370.575 ( 0.365 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       370.973 ( 0.028 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       371.015 ( 0.037 ms): CPU 0/KVM/8023 ioctl(fd: 14, cmd: KVM_RUN) = 0
       371.071 ( 0.009 ms): CPU 0/KVM/8023 ioctl(fd: 12, cmd: KVM_IRQ_LINE_STATUS, arg: 0x7f744f9e14b0) = 0
      <SNIP>
      #
    
    Details about the update:
    
      $ diff -u tools/include/uapi/linux/vhost.h include/uapi/linux/vhost.h
      --- tools/include/uapi/linux/vhost.h	2020-04-16 13:19:12.056763843 -0300
      +++ include/uapi/linux/vhost.h	2020-06-17 10:04:20.532056428 -0300
      @@ -15,6 +15,8 @@
       #include <linux/types.h>
       #include <linux/ioctl.h>
    
      +#define VHOST_FILE_UNBIND -1
      +
       /* ioctls */
    
       #define VHOST_VIRTIO 0xAF
      @@ -140,4 +142,6 @@
       /* Get the max ring size. */
       #define VHOST_VDPA_GET_VRING_NUM	_IOR(VHOST_VIRTIO, 0x76, __u16)
    
      +/* Set event fd for config interrupt*/
      +#define VHOST_VDPA_SET_CONFIG_CALL	_IOW(VHOST_VIRTIO, 0x77, int)
       #endif
      $
      $ tools/perf/trace/beauty/vhost_virtio_ioctl.sh > before
      $ cp include/uapi/linux/vhost.h tools/include/uapi/linux/vhost.h
      $ tools/perf/trace/beauty/vhost_virtio_ioctl.sh > after
      $ diff -u before after
      --- before	2020-06-17 10:15:35.123275966 -0300
      +++ after	2020-06-17 10:15:51.812482117 -0300
      @@ -27,6 +27,7 @@
       	[0x72] = "VDPA_SET_STATUS",
       	[0x74] = "VDPA_SET_CONFIG",
       	[0x75] = "VDPA_SET_VRING_ENABLE",
      +	[0x77] = "VDPA_SET_CONFIG_CALL",
       };
       static const char *vhost_virtio_ioctl_read_cmds[] = {
       	[0x00] = "GET_FEATURES",
      $
    
    This causes these parts to get rebuilt:
    
      CC       /tmp/build/perf/trace/beauty/ioctl.o
      INSTALL  trace_plugins
      LD       /tmp/build/perf/trace/beauty/perf-in.o
      LD       /tmp/build/perf/perf-in.o
      LINK     /tmp/build/perf/perf
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Michael S. Tsirkin <mst@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Zhu Lingshan <lingshan.zhu@intel.com>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    f64925c1
vhost.h 6.06 KB