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  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 
>> ---
>>  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 
>> - *
>> - */
>> -
>> -#include 
>> -#include 
>> -#include 
>> -#include 
>> -#include 
>> -#include 
>> -#include 
>> -#include 
>> -#include 
>> -#include 
>> -#include 
>> -#include 
>> -
>> -#include "drm.h"
>> -#include "ioctl_wrappers.h"
>> -#include "drmtest.h"
>> -#include "intel_io.h"
>> -#include "igt_stats.h"
>> -
>> -#define LOCAL_I915_EXEC_NO_RELOC (1<<11) -#define 
>> LOCAL_I915_EXEC_HANDLE_LUT (1<<12)
>> -
>> -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

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  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 
> ---
>  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 
> - *
> - */
> -
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -
> -#include "drm.h"
> -#include "ioctl_wrappers.h"
> -#include "drmtest.h"
> -#include "intel_io.h"
> -#include "igt_stats.h"
> -
> -#define LOCAL_I915_EXEC_NO_RELOC (1<<11)
> -#define LOCAL_I915_EXEC_HANDLE_LUT (1<<12)
> -
> -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;
> -
> -   

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  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 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


[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 
---
 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 
- *
- */
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#include "drm.h"
-#include "ioctl_wrappers.h"
-#include "drmtest.h"
-#include "intel_io.h"
-#include "igt_stats.h"
-
-#define LOCAL_I915_EXEC_NO_RELOC (1<<11)
-#define LOCAL_I915_EXEC_HANDLE_LUT (1<<12)
-
-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 |= LOCAL_I915_EXEC_NO_RELOC;
-   if (__gem_execbuf(fd, &execbuf)) {
-   execbuf.flags = ring;
-