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