Re: [Intel-gfx] [PATCH i-g-t v2] benchmark/: fix gem_exec_nop complie error on android
-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
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
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
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
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