Re: [Intel-gfx] [PATCH i-g-t v2] benchmark/: fix gem_exec_nop complie error on android

2015-07-24 Thread Morton, Derek J


-Original Message-
From: Thomas Wood [mailto:thomas.w...@intel.com] 
Sent: Friday, July 24, 2015 4:33 PM
To: Morton, Derek J
Cc: Intel Graphics Development; Gore, Tim
Subject: Re: [PATCH i-g-t v2] benchmark/: fix gem_exec_nop complie error on 
android

On 24 July 2015 at 14:35, Derek Morton derek.j.mor...@intel.com wrote:
 There are two versions of gem_exec_nop.c in benchmarks and tests which 
 causes the build system to have two build modules with the same name.
 This patch renames benchmarks/gem_exec_nop.c to 
 benchmarks/gem_exec_nop_benchmark.c using the existing 
 gem_userptr_benchmark.c as a naming convention.

Would using LOCAL_MODULE_FILENAME help here, allowing an alternative output 
name for Android?
https://developer.android.com/ndk/guides/android_mk.html#mdv

Not really, but changing LOCAL_MODULE to be $1_benchmarks instead of $1 to 
'namespace' the directory does, and will prevent the same problem reoccuring 
when more files are added in the future.

I will prepare a new patch.




 v2: Also rename gem_mmap to gem_mmap_benchmark. Another file which 
 breaks android which was added after this patch was 1st submitted.

 Signed-off-by: Derek Morton derek.j.mor...@intel.com
 ---
  benchmarks/Makefile.sources |   9 +-
  benchmarks/gem_exec_nop.c   | 153 -
  benchmarks/gem_exec_nop_benchmark.c | 153 +
  benchmarks/gem_mmap.c   | 165 
 
  benchmarks/gem_mmap_benchmark.c | 165 
 
  5 files changed, 325 insertions(+), 320 deletions(-)  delete mode 
 100644 benchmarks/gem_exec_nop.c  create mode 100644 
 benchmarks/gem_exec_nop_benchmark.c
  delete mode 100644 benchmarks/gem_mmap.c  create mode 100644 
 benchmarks/gem_mmap_benchmark.c

 diff --git a/benchmarks/Makefile.sources b/benchmarks/Makefile.sources 
 index 7ad95a5..35722b5 100644
 --- a/benchmarks/Makefile.sources
 +++ b/benchmarks/Makefile.sources
 @@ -1,11 +1,16 @@
 +# If you copy a test to benckmarks, rename it _benchmark # The 
 +andriod build will fail when trying to build multiple binaries with # 
 +the same name.
 +
  bin_PROGRAMS =  \
 intel_upload_blit_large \
 intel_upload_blit_large_gtt \
 intel_upload_blit_large_map \
 intel_upload_blit_small \
 -   gem_exec_nop\
 -   gem_mmap\
 +   gem_exec_nop_benchmark  \
 +   gem_mmap_benchmark  \
 gem_prw \
 gem_userptr_benchmark   \
 kms_vblank  \
 $(NULL)
 +
 diff --git a/benchmarks/gem_exec_nop.c b/benchmarks/gem_exec_nop.c 
 deleted file mode 100644 index 2a3abd2..000
 --- a/benchmarks/gem_exec_nop.c
 +++ /dev/null
 @@ -1,153 +0,0 @@
 -/*
 - * Copyright © 2011 Intel Corporation
 - *
 - * Permission is hereby granted, free of charge, to any person 
 obtaining a
 - * copy of this software and associated documentation files (the 
 Software),
 - * to deal in the Software without restriction, including without 
 limitation
 - * the rights to use, copy, modify, merge, publish, distribute, 
 sublicense,
 - * and/or sell copies of the Software, and to permit persons to whom 
 the
 - * Software is furnished to do so, subject to the following conditions:
 - *
 - * The above copyright notice and this permission notice (including 
 the next
 - * paragraph) shall be included in all copies or substantial portions 
 of the
 - * Software.
 - *
 - * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, 
 EXPRESS OR
 - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
 MERCHANTABILITY,
 - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT 
 SHALL
 - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES 
 OR OTHER
 - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
 ARISING
 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
 OTHER DEALINGS
 - * IN THE SOFTWARE.
 - *
 - * Authors:
 - *Chris Wilson ch...@chris-wilson.co.uk
 - *
 - */
 -
 -#include unistd.h
 -#include stdlib.h
 -#include stdint.h
 -#include stdio.h
 -#include string.h
 -#include fcntl.h
 -#include inttypes.h
 -#include errno.h
 -#include sys/stat.h
 -#include sys/ioctl.h
 -#include sys/time.h
 -#include time.h
 -
 -#include drm.h
 -#include ioctl_wrappers.h
 -#include drmtest.h
 -#include intel_io.h
 -#include igt_stats.h
 -
 -#define LOCAL_I915_EXEC_NO_RELOC (111) -#define 
 LOCAL_I915_EXEC_HANDLE_LUT (112)
 -
 -static uint64_t elapsed(const struct timespec *start,
 -   const struct timespec *end,
 -   int loop)
 -{
 -   return (10ULL*(end-tv_sec - start-tv_sec) + (end-tv_nsec 
 - start-tv_nsec))/loop;
 -}
 -
 -static int __gem_execbuf(int fd, struct drm_i915_gem_execbuffer2 
 *execbuf) -{
 -   int 

Re: [Intel-gfx] [PATCH i-g-t v2] benchmark/: fix gem_exec_nop complie error on android

2015-07-24 Thread Thomas Wood
On 24 July 2015 at 14:43, Chris Wilson ch...@chris-wilson.co.uk wrote:
 On Fri, Jul 24, 2015 at 02:35:29PM +0100, Derek Morton wrote:
 There are two versions of gem_exec_nop.c in benchmarks and tests
 which causes the build system to have two build modules with
 the same name.
 This patch renames benchmarks/gem_exec_nop.c to
 benchmarks/gem_exec_nop_benchmark.c using the existing
 gem_userptr_benchmark.c as a naming convention.

 Surely a simpler fix than breaking external tools would be to fix the
 Makefile?

If the binaries do have to be renamed, the .gitignore files will also
need updating.


 -Chris

 --
 Chris Wilson, Intel Open Source Technology Centre
 ___
 Intel-gfx mailing list
 Intel-gfx@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/intel-gfx
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH i-g-t v2] benchmark/: fix gem_exec_nop complie error on android

2015-07-24 Thread Thomas Wood
On 24 July 2015 at 14:35, Derek Morton derek.j.mor...@intel.com wrote:
 There are two versions of gem_exec_nop.c in benchmarks and tests
 which causes the build system to have two build modules with
 the same name.
 This patch renames benchmarks/gem_exec_nop.c to
 benchmarks/gem_exec_nop_benchmark.c using the existing
 gem_userptr_benchmark.c as a naming convention.

Would using LOCAL_MODULE_FILENAME help here, allowing an alternative
output name for Android?
https://developer.android.com/ndk/guides/android_mk.html#mdv



 v2: Also rename gem_mmap to gem_mmap_benchmark. Another file
 which breaks android which was added after this patch was 1st
 submitted.

 Signed-off-by: Derek Morton derek.j.mor...@intel.com
 ---
  benchmarks/Makefile.sources |   9 +-
  benchmarks/gem_exec_nop.c   | 153 -
  benchmarks/gem_exec_nop_benchmark.c | 153 +
  benchmarks/gem_mmap.c   | 165 
 
  benchmarks/gem_mmap_benchmark.c | 165 
 
  5 files changed, 325 insertions(+), 320 deletions(-)
  delete mode 100644 benchmarks/gem_exec_nop.c
  create mode 100644 benchmarks/gem_exec_nop_benchmark.c
  delete mode 100644 benchmarks/gem_mmap.c
  create mode 100644 benchmarks/gem_mmap_benchmark.c

 diff --git a/benchmarks/Makefile.sources b/benchmarks/Makefile.sources
 index 7ad95a5..35722b5 100644
 --- a/benchmarks/Makefile.sources
 +++ b/benchmarks/Makefile.sources
 @@ -1,11 +1,16 @@
 +# If you copy a test to benckmarks, rename it _benchmark
 +# The andriod build will fail when trying to build multiple binaries with
 +# the same name.
 +
  bin_PROGRAMS =  \
 intel_upload_blit_large \
 intel_upload_blit_large_gtt \
 intel_upload_blit_large_map \
 intel_upload_blit_small \
 -   gem_exec_nop\
 -   gem_mmap\
 +   gem_exec_nop_benchmark  \
 +   gem_mmap_benchmark  \
 gem_prw \
 gem_userptr_benchmark   \
 kms_vblank  \
 $(NULL)
 +
 diff --git a/benchmarks/gem_exec_nop.c b/benchmarks/gem_exec_nop.c
 deleted file mode 100644
 index 2a3abd2..000
 --- a/benchmarks/gem_exec_nop.c
 +++ /dev/null
 @@ -1,153 +0,0 @@
 -/*
 - * Copyright © 2011 Intel Corporation
 - *
 - * Permission is hereby granted, free of charge, to any person obtaining a
 - * copy of this software and associated documentation files (the Software),
 - * to deal in the Software without restriction, including without limitation
 - * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 - * and/or sell copies of the Software, and to permit persons to whom the
 - * Software is furnished to do so, subject to the following conditions:
 - *
 - * The above copyright notice and this permission notice (including the next
 - * paragraph) shall be included in all copies or substantial portions of the
 - * Software.
 - *
 - * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 DEALINGS
 - * IN THE SOFTWARE.
 - *
 - * Authors:
 - *Chris Wilson ch...@chris-wilson.co.uk
 - *
 - */
 -
 -#include unistd.h
 -#include stdlib.h
 -#include stdint.h
 -#include stdio.h
 -#include string.h
 -#include fcntl.h
 -#include inttypes.h
 -#include errno.h
 -#include sys/stat.h
 -#include sys/ioctl.h
 -#include sys/time.h
 -#include time.h
 -
 -#include drm.h
 -#include ioctl_wrappers.h
 -#include drmtest.h
 -#include intel_io.h
 -#include igt_stats.h
 -
 -#define LOCAL_I915_EXEC_NO_RELOC (111)
 -#define LOCAL_I915_EXEC_HANDLE_LUT (112)
 -
 -static uint64_t elapsed(const struct timespec *start,
 -   const struct timespec *end,
 -   int loop)
 -{
 -   return (10ULL*(end-tv_sec - start-tv_sec) + (end-tv_nsec - 
 start-tv_nsec))/loop;
 -}
 -
 -static int __gem_execbuf(int fd, struct drm_i915_gem_execbuffer2 *execbuf)
 -{
 -   int err = 0;
 -   if (drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, execbuf))
 -   err = -errno;
 -   return err;
 -}
 -
 -static uint32_t batch(int fd)
 -{
 -   const uint32_t buf[] = {MI_BATCH_BUFFER_END};
 -   uint32_t handle = gem_create(fd, 4096);
 -   gem_write(fd, handle, 0, buf, sizeof(buf));
 -   return handle;
 -}
 -
 -static int loop(unsigned ring, int reps)
 -{
 -   struct drm_i915_gem_execbuffer2 execbuf;
 -   struct drm_i915_gem_exec_object2 gem_exec;
 -   int 

[Intel-gfx] [PATCH i-g-t v2] benchmark/: fix gem_exec_nop complie error on android

2015-07-24 Thread Derek Morton
There are two versions of gem_exec_nop.c in benchmarks and tests
which causes the build system to have two build modules with
the same name.
This patch renames benchmarks/gem_exec_nop.c to
benchmarks/gem_exec_nop_benchmark.c using the existing
gem_userptr_benchmark.c as a naming convention.

v2: Also rename gem_mmap to gem_mmap_benchmark. Another file
which breaks android which was added after this patch was 1st
submitted.

Signed-off-by: Derek Morton derek.j.mor...@intel.com
---
 benchmarks/Makefile.sources |   9 +-
 benchmarks/gem_exec_nop.c   | 153 -
 benchmarks/gem_exec_nop_benchmark.c | 153 +
 benchmarks/gem_mmap.c   | 165 
 benchmarks/gem_mmap_benchmark.c | 165 
 5 files changed, 325 insertions(+), 320 deletions(-)
 delete mode 100644 benchmarks/gem_exec_nop.c
 create mode 100644 benchmarks/gem_exec_nop_benchmark.c
 delete mode 100644 benchmarks/gem_mmap.c
 create mode 100644 benchmarks/gem_mmap_benchmark.c

diff --git a/benchmarks/Makefile.sources b/benchmarks/Makefile.sources
index 7ad95a5..35722b5 100644
--- a/benchmarks/Makefile.sources
+++ b/benchmarks/Makefile.sources
@@ -1,11 +1,16 @@
+# If you copy a test to benckmarks, rename it _benchmark
+# The andriod build will fail when trying to build multiple binaries with
+# the same name.
+
 bin_PROGRAMS =  \
intel_upload_blit_large \
intel_upload_blit_large_gtt \
intel_upload_blit_large_map \
intel_upload_blit_small \
-   gem_exec_nop\
-   gem_mmap\
+   gem_exec_nop_benchmark  \
+   gem_mmap_benchmark  \
gem_prw \
gem_userptr_benchmark   \
kms_vblank  \
$(NULL)
+
diff --git a/benchmarks/gem_exec_nop.c b/benchmarks/gem_exec_nop.c
deleted file mode 100644
index 2a3abd2..000
--- a/benchmarks/gem_exec_nop.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the Software),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *Chris Wilson ch...@chris-wilson.co.uk
- *
- */
-
-#include unistd.h
-#include stdlib.h
-#include stdint.h
-#include stdio.h
-#include string.h
-#include fcntl.h
-#include inttypes.h
-#include errno.h
-#include sys/stat.h
-#include sys/ioctl.h
-#include sys/time.h
-#include time.h
-
-#include drm.h
-#include ioctl_wrappers.h
-#include drmtest.h
-#include intel_io.h
-#include igt_stats.h
-
-#define LOCAL_I915_EXEC_NO_RELOC (111)
-#define LOCAL_I915_EXEC_HANDLE_LUT (112)
-
-static uint64_t elapsed(const struct timespec *start,
-   const struct timespec *end,
-   int loop)
-{
-   return (10ULL*(end-tv_sec - start-tv_sec) + (end-tv_nsec - 
start-tv_nsec))/loop;
-}
-
-static int __gem_execbuf(int fd, struct drm_i915_gem_execbuffer2 *execbuf)
-{
-   int err = 0;
-   if (drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, execbuf))
-   err = -errno;
-   return err;
-}
-
-static uint32_t batch(int fd)
-{
-   const uint32_t buf[] = {MI_BATCH_BUFFER_END};
-   uint32_t handle = gem_create(fd, 4096);
-   gem_write(fd, handle, 0, buf, sizeof(buf));
-   return handle;
-}
-
-static int loop(unsigned ring, int reps)
-{
-   struct drm_i915_gem_execbuffer2 execbuf;
-   struct drm_i915_gem_exec_object2 gem_exec;
-   int count, fd;
-
-   fd = drm_open_any();
-
-   memset(gem_exec, 0, sizeof(gem_exec));
-   gem_exec.handle = batch(fd);
-
-   memset(execbuf, 0, sizeof(execbuf));
-   execbuf.buffers_ptr = (uintptr_t)gem_exec;
-   execbuf.buffer_count = 1;
-   execbuf.flags = ring;
-   execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT;
-   execbuf.flags |= 

Re: [Intel-gfx] [PATCH i-g-t v2] benchmark/: fix gem_exec_nop complie error on android

2015-07-24 Thread Chris Wilson
On Fri, Jul 24, 2015 at 02:35:29PM +0100, Derek Morton wrote:
 There are two versions of gem_exec_nop.c in benchmarks and tests
 which causes the build system to have two build modules with
 the same name.
 This patch renames benchmarks/gem_exec_nop.c to
 benchmarks/gem_exec_nop_benchmark.c using the existing
 gem_userptr_benchmark.c as a naming convention.

Surely a simpler fix than breaking external tools would be to fix the
Makefile?
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx