* [igt-dev] [PATCH i-g-t 0/2] Introduce new apis for coherent mmap
@ 2020-02-18 0:17 Sreedhar Telukuntla
2020-02-17 19:56 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Sreedhar Telukuntla @ 2020-02-18 0:17 UTC (permalink / raw)
To: igt-dev
This patch introduces two new coherent mmap functions for tests.
gem_mmap__device_coherent_domain api maps buffer object and returns
the memory domain to be used by the caller for subsequent set_domain
call for cpu access.
gem_mmap__device_coherent_sync api maps buffer object and also does
set_domain to make the memory ready for cpu access.
gem_ctx_shared tests were modified to use the new functions
Sreedhar Telukuntla (2):
lib/i915/gem_mman: Add coherent mmap api support with set domain
tests/i915/gem_ctx_shared: Use gem_mmap__device_coherent_sync api
lib/i915/gem_mman.c | 76 +++++++++++++++++++++++++++++++++++--
lib/i915/gem_mman.h | 6 ++-
tests/i915/gem_ctx_shared.c | 23 +++--------
3 files changed, 83 insertions(+), 22 deletions(-)
--
2.24.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 8+ messages in thread* [igt-dev] ✓ Fi.CI.BAT: success for Introduce new apis for coherent mmap 2020-02-18 0:17 [igt-dev] [PATCH i-g-t 0/2] Introduce new apis for coherent mmap Sreedhar Telukuntla @ 2020-02-17 19:56 ` Patchwork 2020-02-18 0:17 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_mman: Add coherent mmap api support with set domain Sreedhar Telukuntla ` (2 subsequent siblings) 3 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2020-02-17 19:56 UTC (permalink / raw) To: Sreedhar Telukuntla; +Cc: igt-dev == Series Details == Series: Introduce new apis for coherent mmap URL : https://patchwork.freedesktop.org/series/73543/ State : success == Summary == CI Bug Log - changes from CI_DRM_7957 -> IGTPW_4168 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/index.html Known issues ------------ Here are the changes found in IGTPW_4168 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_close_race@basic-threads: - fi-hsw-peppy: [PASS][1] -> [INCOMPLETE][2] ([i915#694] / [i915#816]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/fi-hsw-peppy/igt@gem_close_race@basic-threads.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/fi-hsw-peppy/igt@gem_close_race@basic-threads.html - fi-byt-n2820: [PASS][3] -> [INCOMPLETE][4] ([i915#45]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/fi-byt-n2820/igt@gem_close_race@basic-threads.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/fi-byt-n2820/igt@gem_close_race@basic-threads.html * igt@i915_selftest@live_gem_contexts: - fi-cfl-8700k: [PASS][5] -> [DMESG-FAIL][6] ([i915#623]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html * igt@i915_selftest@live_hangcheck: - fi-icl-dsi: [PASS][7] -> [INCOMPLETE][8] ([fdo#108569]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/fi-icl-dsi/igt@i915_selftest@live_hangcheck.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/fi-icl-dsi/igt@i915_selftest@live_hangcheck.html #### Possible fixes #### * igt@i915_selftest@live_gtt: - fi-kbl-7500u: [TIMEOUT][9] ([fdo#112271]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/fi-kbl-7500u/igt@i915_selftest@live_gtt.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/fi-kbl-7500u/igt@i915_selftest@live_gtt.html - fi-icl-u3: [TIMEOUT][11] ([fdo#112271]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/fi-icl-u3/igt@i915_selftest@live_gtt.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/fi-icl-u3/igt@i915_selftest@live_gtt.html [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569 [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271 [i915#45]: https://gitlab.freedesktop.org/drm/intel/issues/45 [i915#623]: https://gitlab.freedesktop.org/drm/intel/issues/623 [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694 [i915#816]: https://gitlab.freedesktop.org/drm/intel/issues/816 Participating hosts (46 -> 46) ------------------------------ Additional (6): fi-skl-6770hq fi-bdw-gvtdvm fi-cfl-8109u fi-bsw-kefka fi-skl-lmem fi-skl-6600u Missing (6): fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5445 -> IGTPW_4168 CI-20190529: 20190529 CI_DRM_7957: 3ceb00d5a5d62566c5979edcbf06df2c15b62b80 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_4168: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/index.html IGT_5445: 21e523814d692978d6d04ba85eadd67fcbd88b7e @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/index.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_mman: Add coherent mmap api support with set domain 2020-02-18 0:17 [igt-dev] [PATCH i-g-t 0/2] Introduce new apis for coherent mmap Sreedhar Telukuntla 2020-02-17 19:56 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork @ 2020-02-18 0:17 ` Sreedhar Telukuntla 2020-02-17 16:29 ` Chris Wilson 2020-02-18 0:17 ` [igt-dev] [PATCH i-g-t 2/2] tests/i915/gem_ctx_shared: Use gem_mmap__device_coherent_sync api Sreedhar Telukuntla 2020-02-19 11:02 ` [igt-dev] ✗ Fi.CI.IGT: failure for Introduce new apis for coherent mmap Patchwork 3 siblings, 1 reply; 8+ messages in thread From: Sreedhar Telukuntla @ 2020-02-18 0:17 UTC (permalink / raw) To: igt-dev; +Cc: Tvrtko Ursulin gem_mmap__device_coherent_domain api maps buffer object and returns the memory domain to be used by the caller for subsequent set_domain call for cpu access. gem_mmap__device_coherent_sync api maps buffer object and also does set_domain to make the memory ready for cpu access. Signed-off-by: Sreedhar Telukuntla <sreedhar.telukuntla@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- lib/i915/gem_mman.c | 76 ++++++++++++++++++++++++++++++++++++++++++--- lib/i915/gem_mman.h | 6 +++- 2 files changed, 77 insertions(+), 5 deletions(-) diff --git a/lib/i915/gem_mman.c b/lib/i915/gem_mman.c index 08ae6769..b8d20c07 100644 --- a/lib/i915/gem_mman.c +++ b/lib/i915/gem_mman.c @@ -345,21 +345,25 @@ void *gem_mmap_offset__wc(int fd, uint32_t handle, uint64_t offset, * @offset: offset in the gem buffer of the mmap arena * @size: size of the mmap arena * @prot: memory protection bits as used by mmap() + * @domain: cache domain used for mmap * * Returns: A pointer to a block of linear device memory mapped into the * process with WC semantics. When no WC is available try to mmap using GGTT. */ void *__gem_mmap__device_coherent(int fd, uint32_t handle, uint64_t offset, - uint64_t size, unsigned prot) + uint64_t size, unsigned prot, uint32_t *domain) { void *ptr = __gem_mmap_offset(fd, handle, offset, size, prot, I915_MMAP_OFFSET_WC); if (!ptr) ptr = __gem_mmap__wc(fd, handle, offset, size, prot); - if (!ptr) - ptr = __gem_mmap__gtt(fd, handle, size, prot); + *domain = I915_GEM_DOMAIN_WC; + if (!ptr) { + ptr = __gem_mmap__gtt(fd, handle, size, prot); + *domain = I915_GEM_DOMAIN_GTT; + } return ptr; } @@ -382,15 +386,79 @@ void *gem_mmap__device_coherent(int fd, uint32_t handle, uint64_t offset, uint64_t size, unsigned prot) { void *ptr; + uint32_t domain; igt_assert(offset == 0); - ptr = __gem_mmap__device_coherent(fd, handle, offset, size, prot); + ptr = __gem_mmap__device_coherent(fd, handle, offset, size, prot, &domain); igt_assert(ptr); return ptr; } +/** + * gem_mmap__device_coherent_domain: + * @fd: open i915 drm file descriptor + * @handle: gem buffer object handle + * @offset: offset in the gem buffer of the mmap arena + * @size: size of the mmap arena + * @prot: memory protection bits as used by mmap() + * @domain: memory domain to be used by the caller for set_domain after mmap + * + * Call __gem_mmap__device__coherent_domain(), asserts on fail. + * Offset argument passed in function call must be 0. In the future + * when driver will allow slice mapping of buffer object this restriction + * will be removed. + * + * Returns: A pointer to the created memory mapping. + */ +void *gem_mmap__device_coherent_domain(int fd, uint32_t handle, uint64_t offset, + uint64_t size, unsigned prot, uint32_t *domain) +{ + void *ptr; + + igt_assert(offset == 0); + + ptr = __gem_mmap__device_coherent(fd, handle, offset, size, prot, domain); + igt_assert(ptr); + + return ptr; +} + +/** + * gem_mmap__device_coherent_sync: + * @fd: open i915 drm file descriptor + * @handle: gem buffer object handle + * @offset: offset in the gem buffer of the mmap arena + * @size: size of the mmap arena + * @prot: memory protection bits as used by mmap() + * + * Call __gem_mmap__device__coherent_sync(), asserts on fail. + * Offset argument passed in function call must be 0. In the future + * when driver will allow slice mapping of buffer object this restriction + * will be removed. + * + * This function sets appropriate memory domain as well once the mapping is + * complete and makes the memory ready for cpu access + * + * Returns: A pointer to the created memory mapping. + */ +void *gem_mmap__device_coherent_sync(int fd, uint32_t handle, uint64_t offset, + uint64_t size, unsigned prot) +{ + void *ptr; + uint32_t domain; + + igt_assert(offset == 0); + + ptr = gem_mmap__device_coherent_domain(fd, handle, offset, size, prot, &domain); + igt_assert(ptr); + + gem_set_domain(fd, handle, domain, domain); + + return ptr; +} + /** * __gem_mmap__cpu: * @fd: open i915 drm file descriptor diff --git a/lib/i915/gem_mman.h b/lib/i915/gem_mman.h index 4fc6a018..3b062498 100644 --- a/lib/i915/gem_mman.h +++ b/lib/i915/gem_mman.h @@ -39,6 +39,10 @@ void *gem_mmap_offset__wc(int fd, uint32_t handle, uint64_t offset, uint64_t size, unsigned prot); void *gem_mmap__device_coherent(int fd, uint32_t handle, uint64_t offset, uint64_t size, unsigned prot); +void *gem_mmap__device_coherent_domain(int fd, uint32_t handle, uint64_t offset, + uint64_t size, unsigned prot, uint32_t *domain); +void *gem_mmap__device_coherent_sync(int fd, uint32_t handle, uint64_t offset, + uint64_t size, unsigned prot); void *gem_mmap__cpu_coherent(int fd, uint32_t handle, uint64_t offset, uint64_t size, unsigned prot); @@ -58,7 +62,7 @@ void *__gem_mmap__wc(int fd, uint32_t handle, uint64_t offset, uint64_t size, un void *__gem_mmap_offset__wc(int fd, uint32_t handle, uint64_t offset, uint64_t size, unsigned prot); void *__gem_mmap__device_coherent(int fd, uint32_t handle, uint64_t offset, - uint64_t size, unsigned prot); + uint64_t size, unsigned prot, uint32_t *domain); void *__gem_mmap_offset(int fd, uint32_t handle, uint64_t offset, uint64_t size, unsigned int prot, uint64_t flags); void *__gem_mmap__cpu_coherent(int fd, uint32_t handle, uint64_t offset, -- 2.24.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_mman: Add coherent mmap api support with set domain 2020-02-18 0:17 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_mman: Add coherent mmap api support with set domain Sreedhar Telukuntla @ 2020-02-17 16:29 ` Chris Wilson 2020-02-18 3:53 ` Telukuntla, Sreedhar 2020-02-28 11:06 ` Tvrtko Ursulin 0 siblings, 2 replies; 8+ messages in thread From: Chris Wilson @ 2020-02-17 16:29 UTC (permalink / raw) To: Sreedhar Telukuntla, igt-dev; +Cc: Tvrtko Ursulin Quoting Sreedhar Telukuntla (2020-02-18 00:17:09) > gem_mmap__device_coherent_domain api maps buffer object and returns > the memory domain to be used by the caller for subsequent set_domain > call for cpu access. > > gem_mmap__device_coherent_sync api maps buffer object and also does > set_domain to make the memory ready for cpu access. > > Signed-off-by: Sreedhar Telukuntla <sreedhar.telukuntla@intel.com> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > --- > lib/i915/gem_mman.c | 76 ++++++++++++++++++++++++++++++++++++++++++--- > lib/i915/gem_mman.h | 6 +++- > 2 files changed, 77 insertions(+), 5 deletions(-) > > diff --git a/lib/i915/gem_mman.c b/lib/i915/gem_mman.c > index 08ae6769..b8d20c07 100644 > --- a/lib/i915/gem_mman.c > +++ b/lib/i915/gem_mman.c > @@ -345,21 +345,25 @@ void *gem_mmap_offset__wc(int fd, uint32_t handle, uint64_t offset, > * @offset: offset in the gem buffer of the mmap arena > * @size: size of the mmap arena > * @prot: memory protection bits as used by mmap() > + * @domain: cache domain used for mmap > * > * Returns: A pointer to a block of linear device memory mapped into the > * process with WC semantics. When no WC is available try to mmap using GGTT. > */ > void *__gem_mmap__device_coherent(int fd, uint32_t handle, uint64_t offset, > - uint64_t size, unsigned prot) > + uint64_t size, unsigned prot, uint32_t *domain) > { > void *ptr = __gem_mmap_offset(fd, handle, offset, size, prot, > I915_MMAP_OFFSET_WC); > if (!ptr) > ptr = __gem_mmap__wc(fd, handle, offset, size, prot); > > - if (!ptr) > - ptr = __gem_mmap__gtt(fd, handle, size, prot); > + *domain = I915_GEM_DOMAIN_WC; > > + if (!ptr) { > + ptr = __gem_mmap__gtt(fd, handle, size, prot); > + *domain = I915_GEM_DOMAIN_GTT; > + } > return ptr; > } > > @@ -382,15 +386,79 @@ void *gem_mmap__device_coherent(int fd, uint32_t handle, uint64_t offset, > uint64_t size, unsigned prot) > { > void *ptr; > + uint32_t domain; > > igt_assert(offset == 0); > > - ptr = __gem_mmap__device_coherent(fd, handle, offset, size, prot); > + ptr = __gem_mmap__device_coherent(fd, handle, offset, size, prot, &domain); > igt_assert(ptr); > > return ptr; > } > > +/** > + * gem_mmap__device_coherent_domain: > + * @fd: open i915 drm file descriptor > + * @handle: gem buffer object handle > + * @offset: offset in the gem buffer of the mmap arena > + * @size: size of the mmap arena > + * @prot: memory protection bits as used by mmap() > + * @domain: memory domain to be used by the caller for set_domain after mmap > + * > + * Call __gem_mmap__device__coherent_domain(), asserts on fail. > + * Offset argument passed in function call must be 0. In the future > + * when driver will allow slice mapping of buffer object this restriction > + * will be removed. > + * > + * Returns: A pointer to the created memory mapping. > + */ > +void *gem_mmap__device_coherent_domain(int fd, uint32_t handle, uint64_t offset, > + uint64_t size, unsigned prot, uint32_t *domain) > +{ > + void *ptr; > + > + igt_assert(offset == 0); > + > + ptr = __gem_mmap__device_coherent(fd, handle, offset, size, prot, domain); > + igt_assert(ptr); > + > + return ptr; > +} > + > +/** > + * gem_mmap__device_coherent_sync: > + * @fd: open i915 drm file descriptor > + * @handle: gem buffer object handle > + * @offset: offset in the gem buffer of the mmap arena > + * @size: size of the mmap arena > + * @prot: memory protection bits as used by mmap() > + * > + * Call __gem_mmap__device__coherent_sync(), asserts on fail. > + * Offset argument passed in function call must be 0. In the future > + * when driver will allow slice mapping of buffer object this restriction > + * will be removed. > + * > + * This function sets appropriate memory domain as well once the mapping is > + * complete and makes the memory ready for cpu access > + * > + * Returns: A pointer to the created memory mapping. > + */ > +void *gem_mmap__device_coherent_sync(int fd, uint32_t handle, uint64_t offset, > + uint64_t size, unsigned prot) > +{ > + void *ptr; > + uint32_t domain; > + > + igt_assert(offset == 0); > + > + ptr = gem_mmap__device_coherent_domain(fd, handle, offset, size, prot, &domain); > + igt_assert(ptr); > + > + gem_set_domain(fd, handle, domain, domain); No. Read/write is important, especially when there are comments indicating that the api is being subverted and abused. -Chris _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_mman: Add coherent mmap api support with set domain 2020-02-17 16:29 ` Chris Wilson @ 2020-02-18 3:53 ` Telukuntla, Sreedhar 2020-02-28 11:06 ` Tvrtko Ursulin 1 sibling, 0 replies; 8+ messages in thread From: Telukuntla, Sreedhar @ 2020-02-18 3:53 UTC (permalink / raw) To: Chris Wilson, igt-dev@lists.freedesktop.org; +Cc: Ursulin, Tvrtko > -----Original Message----- > From: Chris Wilson <chris@chris-wilson.co.uk> > Sent: Monday, February 17, 2020 9:59 PM > To: Telukuntla, Sreedhar <sreedhar.telukuntla@intel.com>; igt- > dev@lists.freedesktop.org > Cc: Ursulin, Tvrtko <tvrtko.ursulin@intel.com> > Subject: Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_mman: Add coherent > mmap api support with set domain > > Quoting Sreedhar Telukuntla (2020-02-18 00:17:09) > > gem_mmap__device_coherent_domain api maps buffer object and returns > > the memory domain to be used by the caller for subsequent set_domain > > call for cpu access. > > > > gem_mmap__device_coherent_sync api maps buffer object and also does > > set_domain to make the memory ready for cpu access. > > > > Signed-off-by: Sreedhar Telukuntla <sreedhar.telukuntla@intel.com> > > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > --- > > lib/i915/gem_mman.c | 76 > > ++++++++++++++++++++++++++++++++++++++++++--- > > lib/i915/gem_mman.h | 6 +++- > > 2 files changed, 77 insertions(+), 5 deletions(-) > > > > diff --git a/lib/i915/gem_mman.c b/lib/i915/gem_mman.c index > > 08ae6769..b8d20c07 100644 > > --- a/lib/i915/gem_mman.c > > +++ b/lib/i915/gem_mman.c > > @@ -345,21 +345,25 @@ void *gem_mmap_offset__wc(int fd, uint32_t > handle, uint64_t offset, > > * @offset: offset in the gem buffer of the mmap arena > > * @size: size of the mmap arena > > * @prot: memory protection bits as used by mmap() > > + * @domain: cache domain used for mmap > > * > > * Returns: A pointer to a block of linear device memory mapped into the > > * process with WC semantics. When no WC is available try to mmap using > GGTT. > > */ > > void *__gem_mmap__device_coherent(int fd, uint32_t handle, uint64_t > offset, > > - uint64_t size, unsigned prot) > > + uint64_t size, unsigned prot, > > + uint32_t *domain) > > { > > void *ptr = __gem_mmap_offset(fd, handle, offset, size, prot, > > I915_MMAP_OFFSET_WC); > > if (!ptr) > > ptr = __gem_mmap__wc(fd, handle, offset, size, prot); > > > > - if (!ptr) > > - ptr = __gem_mmap__gtt(fd, handle, size, prot); > > + *domain = I915_GEM_DOMAIN_WC; > > > > + if (!ptr) { > > + ptr = __gem_mmap__gtt(fd, handle, size, prot); > > + *domain = I915_GEM_DOMAIN_GTT; > > + } > > return ptr; > > } > > > > @@ -382,15 +386,79 @@ void *gem_mmap__device_coherent(int fd, > uint32_t handle, uint64_t offset, > > uint64_t size, unsigned prot) { > > void *ptr; > > + uint32_t domain; > > > > igt_assert(offset == 0); > > > > - ptr = __gem_mmap__device_coherent(fd, handle, offset, size, prot); > > + ptr = __gem_mmap__device_coherent(fd, handle, offset, size, > > + prot, &domain); > > igt_assert(ptr); > > > > return ptr; > > } > > > > +/** > > + * gem_mmap__device_coherent_domain: > > + * @fd: open i915 drm file descriptor > > + * @handle: gem buffer object handle > > + * @offset: offset in the gem buffer of the mmap arena > > + * @size: size of the mmap arena > > + * @prot: memory protection bits as used by mmap() > > + * @domain: memory domain to be used by the caller for set_domain > > +after mmap > > + * > > + * Call __gem_mmap__device__coherent_domain(), asserts on fail. > > + * Offset argument passed in function call must be 0. In the future > > + * when driver will allow slice mapping of buffer object this > > +restriction > > + * will be removed. > > + * > > + * Returns: A pointer to the created memory mapping. > > + */ > > +void *gem_mmap__device_coherent_domain(int fd, uint32_t handle, > uint64_t offset, > > + uint64_t size, unsigned prot, uint32_t > > +*domain) { > > + void *ptr; > > + > > + igt_assert(offset == 0); > > + > > + ptr = __gem_mmap__device_coherent(fd, handle, offset, size, prot, > domain); > > + igt_assert(ptr); > > + > > + return ptr; > > +} > > + > > +/** > > + * gem_mmap__device_coherent_sync: > > + * @fd: open i915 drm file descriptor > > + * @handle: gem buffer object handle > > + * @offset: offset in the gem buffer of the mmap arena > > + * @size: size of the mmap arena > > + * @prot: memory protection bits as used by mmap() > > + * > > + * Call __gem_mmap__device__coherent_sync(), asserts on fail. > > + * Offset argument passed in function call must be 0. In the future > > + * when driver will allow slice mapping of buffer object this > > +restriction > > + * will be removed. > > + * > > + * This function sets appropriate memory domain as well once the > > +mapping is > > + * complete and makes the memory ready for cpu access > > + * > > + * Returns: A pointer to the created memory mapping. > > + */ > > +void *gem_mmap__device_coherent_sync(int fd, uint32_t handle, uint64_t > offset, > > + uint64_t size, unsigned prot) { > > + void *ptr; > > + uint32_t domain; > > + > > + igt_assert(offset == 0); > > + > > + ptr = gem_mmap__device_coherent_domain(fd, handle, offset, size, > prot, &domain); > > + igt_assert(ptr); > > + > > + gem_set_domain(fd, handle, domain, domain); > > No. Read/write is important, especially when there are comments indicating > that the api is being subverted and abused. I didn’t understand your comment. Is it about read/write domain usage here? Are you suggesting not to use gem_set_domain in this way? Regards, Sreedhar > -Chris _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_mman: Add coherent mmap api support with set domain 2020-02-17 16:29 ` Chris Wilson 2020-02-18 3:53 ` Telukuntla, Sreedhar @ 2020-02-28 11:06 ` Tvrtko Ursulin 1 sibling, 0 replies; 8+ messages in thread From: Tvrtko Ursulin @ 2020-02-28 11:06 UTC (permalink / raw) To: Chris Wilson, Sreedhar Telukuntla, igt-dev; +Cc: Tvrtko Ursulin On 17/02/2020 16:29, Chris Wilson wrote: > Quoting Sreedhar Telukuntla (2020-02-18 00:17:09) >> gem_mmap__device_coherent_domain api maps buffer object and returns >> the memory domain to be used by the caller for subsequent set_domain >> call for cpu access. >> >> gem_mmap__device_coherent_sync api maps buffer object and also does >> set_domain to make the memory ready for cpu access. >> >> Signed-off-by: Sreedhar Telukuntla <sreedhar.telukuntla@intel.com> >> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >> --- >> lib/i915/gem_mman.c | 76 ++++++++++++++++++++++++++++++++++++++++++--- >> lib/i915/gem_mman.h | 6 +++- >> 2 files changed, 77 insertions(+), 5 deletions(-) >> >> diff --git a/lib/i915/gem_mman.c b/lib/i915/gem_mman.c >> index 08ae6769..b8d20c07 100644 >> --- a/lib/i915/gem_mman.c >> +++ b/lib/i915/gem_mman.c >> @@ -345,21 +345,25 @@ void *gem_mmap_offset__wc(int fd, uint32_t handle, uint64_t offset, >> * @offset: offset in the gem buffer of the mmap arena >> * @size: size of the mmap arena >> * @prot: memory protection bits as used by mmap() >> + * @domain: cache domain used for mmap >> * >> * Returns: A pointer to a block of linear device memory mapped into the >> * process with WC semantics. When no WC is available try to mmap using GGTT. >> */ >> void *__gem_mmap__device_coherent(int fd, uint32_t handle, uint64_t offset, >> - uint64_t size, unsigned prot) >> + uint64_t size, unsigned prot, uint32_t *domain) >> { >> void *ptr = __gem_mmap_offset(fd, handle, offset, size, prot, >> I915_MMAP_OFFSET_WC); >> if (!ptr) >> ptr = __gem_mmap__wc(fd, handle, offset, size, prot); >> >> - if (!ptr) >> - ptr = __gem_mmap__gtt(fd, handle, size, prot); >> + *domain = I915_GEM_DOMAIN_WC; >> >> + if (!ptr) { >> + ptr = __gem_mmap__gtt(fd, handle, size, prot); >> + *domain = I915_GEM_DOMAIN_GTT; >> + } >> return ptr; >> } >> >> @@ -382,15 +386,79 @@ void *gem_mmap__device_coherent(int fd, uint32_t handle, uint64_t offset, >> uint64_t size, unsigned prot) >> { >> void *ptr; >> + uint32_t domain; >> >> igt_assert(offset == 0); >> >> - ptr = __gem_mmap__device_coherent(fd, handle, offset, size, prot); >> + ptr = __gem_mmap__device_coherent(fd, handle, offset, size, prot, &domain); >> igt_assert(ptr); >> >> return ptr; >> } >> >> +/** >> + * gem_mmap__device_coherent_domain: >> + * @fd: open i915 drm file descriptor >> + * @handle: gem buffer object handle >> + * @offset: offset in the gem buffer of the mmap arena >> + * @size: size of the mmap arena >> + * @prot: memory protection bits as used by mmap() >> + * @domain: memory domain to be used by the caller for set_domain after mmap >> + * >> + * Call __gem_mmap__device__coherent_domain(), asserts on fail. >> + * Offset argument passed in function call must be 0. In the future >> + * when driver will allow slice mapping of buffer object this restriction >> + * will be removed. >> + * >> + * Returns: A pointer to the created memory mapping. >> + */ >> +void *gem_mmap__device_coherent_domain(int fd, uint32_t handle, uint64_t offset, >> + uint64_t size, unsigned prot, uint32_t *domain) >> +{ >> + void *ptr; >> + >> + igt_assert(offset == 0); >> + >> + ptr = __gem_mmap__device_coherent(fd, handle, offset, size, prot, domain); >> + igt_assert(ptr); >> + >> + return ptr; >> +} >> + >> +/** >> + * gem_mmap__device_coherent_sync: >> + * @fd: open i915 drm file descriptor >> + * @handle: gem buffer object handle >> + * @offset: offset in the gem buffer of the mmap arena >> + * @size: size of the mmap arena >> + * @prot: memory protection bits as used by mmap() >> + * >> + * Call __gem_mmap__device__coherent_sync(), asserts on fail. >> + * Offset argument passed in function call must be 0. In the future >> + * when driver will allow slice mapping of buffer object this restriction >> + * will be removed. >> + * >> + * This function sets appropriate memory domain as well once the mapping is >> + * complete and makes the memory ready for cpu access >> + * >> + * Returns: A pointer to the created memory mapping. >> + */ >> +void *gem_mmap__device_coherent_sync(int fd, uint32_t handle, uint64_t offset, >> + uint64_t size, unsigned prot) >> +{ >> + void *ptr; >> + uint32_t domain; >> + >> + igt_assert(offset == 0); >> + >> + ptr = gem_mmap__device_coherent_domain(fd, handle, offset, size, prot, &domain); >> + igt_assert(ptr); >> + >> + gem_set_domain(fd, handle, domain, domain); > > No. Read/write is important, especially when there are comments > indicating that the api is being subverted and abused. Are you suggesting looking at prot & PROT_READ / PROT_WRITE to decide on read/write domains? Regards, Tvrtko _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] [PATCH i-g-t 2/2] tests/i915/gem_ctx_shared: Use gem_mmap__device_coherent_sync api 2020-02-18 0:17 [igt-dev] [PATCH i-g-t 0/2] Introduce new apis for coherent mmap Sreedhar Telukuntla 2020-02-17 19:56 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork 2020-02-18 0:17 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_mman: Add coherent mmap api support with set domain Sreedhar Telukuntla @ 2020-02-18 0:17 ` Sreedhar Telukuntla 2020-02-19 11:02 ` [igt-dev] ✗ Fi.CI.IGT: failure for Introduce new apis for coherent mmap Patchwork 3 siblings, 0 replies; 8+ messages in thread From: Sreedhar Telukuntla @ 2020-02-18 0:17 UTC (permalink / raw) To: igt-dev; +Cc: Tvrtko Ursulin Replace the existing gem_mmap__device_coherent and gem_set_domain calls with the new api gem_mmap__device_coherent_sync which takes care of setting the appropriate memory domain along with memory mapping Signed-off-by: Sreedhar Telukuntla <sreedhar.telukuntla@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- tests/i915/gem_ctx_shared.c | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/tests/i915/gem_ctx_shared.c b/tests/i915/gem_ctx_shared.c index 820b96c1..d7d86bc5 100644 --- a/tests/i915/gem_ctx_shared.c +++ b/tests/i915/gem_ctx_shared.c @@ -214,9 +214,8 @@ static void exec_shared_gtt(int i915, unsigned int ring) gem_close(i915, scratch); scratch = gem_create(i915, 4096); - s = gem_mmap__wc(i915, scratch, 0, 4096, PROT_WRITE); + s = gem_mmap__device_coherent_sync(i915, scratch, 0, 4096, PROT_WRITE); - gem_set_domain(i915, scratch, I915_GEM_DOMAIN_WC, I915_GEM_DOMAIN_WC); s[0] = bbe; s[64] = bbe; @@ -605,9 +604,7 @@ static void independent(int i915, unsigned ring, unsigned flags) for (int i = 0; i < ARRAY_SIZE(priorities); i++) { uint32_t *ptr; - ptr = gem_mmap__device_coherent(i915, handle[i], 0, 4096, PROT_READ); - gem_set_domain(i915, handle[i], /* no write hazard lies! */ - I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); + ptr = gem_mmap__device_coherent_sync(i915, handle[i], 0, 4096, PROT_READ); gem_close(i915, handle[i]); handle[i] = ptr[TIMESTAMP]; @@ -650,9 +647,7 @@ static void reorder(int i915, unsigned ring, unsigned flags) gem_context_destroy(i915, ctx[LO]); gem_context_destroy(i915, ctx[HI]); - ptr = gem_mmap__device_coherent(i915, scratch, 0, 4096, PROT_READ); - gem_set_domain(i915, scratch, /* no write hazard lies! */ - I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); + ptr = gem_mmap__device_coherent_sync(i915, scratch, 0, 4096, PROT_READ); gem_close(i915, scratch); if (flags & EQUAL) /* equal priority, result will be fifo */ @@ -705,17 +700,13 @@ static void promotion(int i915, unsigned ring) gem_context_destroy(i915, ctx[LO]); gem_context_destroy(i915, ctx[HI]); - ptr = gem_mmap__device_coherent(i915, dep, 0, 4096, PROT_READ); - gem_set_domain(i915, dep, /* no write hazard lies! */ - I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); + ptr = gem_mmap__device_coherent_sync(i915, dep, 0, 4096, PROT_READ); gem_close(i915, dep); igt_assert_eq_u32(ptr[0], ctx[HI]); munmap(ptr, 4096); - ptr = gem_mmap__device_coherent(i915, result, 0, 4096, PROT_READ); - gem_set_domain(i915, result, /* no write hazard lies! */ - I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); + ptr = gem_mmap__device_coherent_sync(i915, result, 0, 4096, PROT_READ); gem_close(i915, result); igt_assert_eq_u32(ptr[0], ctx[NOISE]); @@ -768,9 +759,7 @@ static void smoketest(int i915, unsigned ring, unsigned timeout) } igt_waitchildren(); - ptr = gem_mmap__device_coherent(i915, scratch, 0, 4096, PROT_READ); - gem_set_domain(i915, scratch, /* no write hazard lies! */ - I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); + ptr = gem_mmap__device_coherent_sync(i915, scratch, 0, 4096, PROT_READ); gem_close(i915, scratch); for (unsigned n = 0; n < ncpus; n++) { -- 2.24.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for Introduce new apis for coherent mmap 2020-02-18 0:17 [igt-dev] [PATCH i-g-t 0/2] Introduce new apis for coherent mmap Sreedhar Telukuntla ` (2 preceding siblings ...) 2020-02-18 0:17 ` [igt-dev] [PATCH i-g-t 2/2] tests/i915/gem_ctx_shared: Use gem_mmap__device_coherent_sync api Sreedhar Telukuntla @ 2020-02-19 11:02 ` Patchwork 3 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2020-02-19 11:02 UTC (permalink / raw) To: Telukuntla, Sreedhar; +Cc: igt-dev == Series Details == Series: Introduce new apis for coherent mmap URL : https://patchwork.freedesktop.org/series/73543/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7957_full -> IGTPW_4168_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_4168_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_4168_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_4168_full: ### IGT changes ### #### Possible regressions #### * igt@fbdev@mmap: - shard-tglb: [PASS][1] -> [SKIP][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-tglb5/igt@fbdev@mmap.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-tglb3/igt@fbdev@mmap.html - shard-iclb: [PASS][3] -> [SKIP][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-iclb3/igt@fbdev@mmap.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-iclb7/igt@fbdev@mmap.html Known issues ------------ Here are the changes found in IGTPW_4168_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@fbdev@mmap: - shard-apl: [PASS][5] -> [SKIP][6] ([fdo#109271]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-apl6/igt@fbdev@mmap.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-apl2/igt@fbdev@mmap.html - shard-glk: [PASS][7] -> [SKIP][8] ([fdo#109271]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-glk2/igt@fbdev@mmap.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-glk3/igt@fbdev@mmap.html - shard-hsw: [PASS][9] -> [SKIP][10] ([fdo#109271]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-hsw7/igt@fbdev@mmap.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-hsw6/igt@fbdev@mmap.html - shard-kbl: [PASS][11] -> [SKIP][12] ([fdo#109271]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-kbl1/igt@fbdev@mmap.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-kbl2/igt@fbdev@mmap.html * igt@gem_ctx_isolation@rcs0-s3: - shard-kbl: [PASS][13] -> [DMESG-WARN][14] ([i915#180]) +4 similar issues [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-kbl1/igt@gem_ctx_isolation@rcs0-s3.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-kbl4/igt@gem_ctx_isolation@rcs0-s3.html * igt@gem_exec_schedule@fifo-bsd1: - shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#109276]) +14 similar issues [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-iclb2/igt@gem_exec_schedule@fifo-bsd1.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-iclb8/igt@gem_exec_schedule@fifo-bsd1.html * igt@gem_exec_schedule@preempt-other-chain-bsd: - shard-iclb: [PASS][17] -> [SKIP][18] ([fdo#112146]) +5 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-iclb3/igt@gem_exec_schedule@preempt-other-chain-bsd.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-iclb1/igt@gem_exec_schedule@preempt-other-chain-bsd.html * igt@i915_pm_rpm@modeset-stress-extra-wait: - shard-glk: [PASS][19] -> [DMESG-WARN][20] ([i915#118] / [i915#95]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-glk7/igt@i915_pm_rpm@modeset-stress-extra-wait.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-glk8/igt@i915_pm_rpm@modeset-stress-extra-wait.html * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-pipe-c: - shard-hsw: [PASS][21] -> [INCOMPLETE][22] ([i915#61]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-hsw6/igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-pipe-c.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-hsw7/igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-pipe-c.html * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-apl: [PASS][23] -> [DMESG-WARN][24] ([i915#180]) +3 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-apl6/igt@kms_frontbuffer_tracking@fbc-suspend.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-apl7/igt@kms_frontbuffer_tracking@fbc-suspend.html * igt@perf_pmu@busy-no-semaphores-vcs1: - shard-iclb: [PASS][25] -> [SKIP][26] ([fdo#112080]) +9 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-iclb1/igt@perf_pmu@busy-no-semaphores-vcs1.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-iclb6/igt@perf_pmu@busy-no-semaphores-vcs1.html * igt@prime_mmap_coherency@ioctl-errors: - shard-hsw: [PASS][27] -> [FAIL][28] ([i915#831]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-hsw1/igt@prime_mmap_coherency@ioctl-errors.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-hsw6/igt@prime_mmap_coherency@ioctl-errors.html #### Possible fixes #### * igt@gem_busy@busy-vcs1: - shard-iclb: [SKIP][29] ([fdo#112080]) -> [PASS][30] +15 similar issues [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-iclb6/igt@gem_busy@busy-vcs1.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-iclb4/igt@gem_busy@busy-vcs1.html * igt@gem_busy@close-race: - shard-tglb: [INCOMPLETE][31] ([i915#977]) -> [PASS][32] [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-tglb7/igt@gem_busy@close-race.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-tglb2/igt@gem_busy@close-race.html * {igt@gem_ctx_persistence@close-replace-race}: - shard-tglb: [FAIL][33] ([i915#1241]) -> [PASS][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-tglb6/igt@gem_ctx_persistence@close-replace-race.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-tglb2/igt@gem_ctx_persistence@close-replace-race.html * igt@gem_exec_schedule@pi-userfault-bsd: - shard-iclb: [SKIP][35] ([i915#677]) -> [PASS][36] [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-iclb4/igt@gem_exec_schedule@pi-userfault-bsd.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-iclb5/igt@gem_exec_schedule@pi-userfault-bsd.html * igt@gem_exec_schedule@wide-bsd: - shard-iclb: [SKIP][37] ([fdo#112146]) -> [PASS][38] +4 similar issues [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-iclb4/igt@gem_exec_schedule@wide-bsd.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-iclb5/igt@gem_exec_schedule@wide-bsd.html * igt@gem_partial_pwrite_pread@writes-after-reads-uncached: - shard-hsw: [FAIL][39] ([i915#694]) -> [PASS][40] +1 similar issue [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-hsw5/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-hsw8/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html * igt@gem_ppgtt@flink-and-close-vma-leak: - shard-glk: [FAIL][41] ([i915#644]) -> [PASS][42] [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-glk2/igt@gem_ppgtt@flink-and-close-vma-leak.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-glk1/igt@gem_ppgtt@flink-and-close-vma-leak.html - shard-kbl: [FAIL][43] ([i915#644]) -> [PASS][44] [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-kbl1/igt@gem_ppgtt@flink-and-close-vma-leak.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-kbl7/igt@gem_ppgtt@flink-and-close-vma-leak.html * igt@gem_vm_create@isolation: - shard-glk: [FAIL][45] -> [PASS][46] [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-glk4/igt@gem_vm_create@isolation.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-glk4/igt@gem_vm_create@isolation.html * igt@i915_pm_rps@waitboost: - shard-tglb: [FAIL][47] ([i915#413]) -> [PASS][48] [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-tglb8/igt@i915_pm_rps@waitboost.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-tglb3/igt@i915_pm_rps@waitboost.html - shard-iclb: [FAIL][49] ([i915#413]) -> [PASS][50] [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-iclb6/igt@i915_pm_rps@waitboost.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-iclb4/igt@i915_pm_rps@waitboost.html * igt@kms_cursor_crc@pipe-a-cursor-suspend: - shard-kbl: [DMESG-WARN][51] ([i915#180]) -> [PASS][52] +6 similar issues [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-suspend.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html * igt@kms_flip@flip-vs-suspend: - shard-kbl: [DMESG-WARN][53] ([i915#180] / [i915#56]) -> [PASS][54] [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-kbl6/igt@kms_flip@flip-vs-suspend.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-kbl1/igt@kms_flip@flip-vs-suspend.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-apl: [DMESG-WARN][55] ([i915#180]) -> [PASS][56] +4 similar issues [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-apl1/igt@kms_flip@flip-vs-suspend-interruptible.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-apl4/igt@kms_flip@flip-vs-suspend-interruptible.html - shard-hsw: [INCOMPLETE][57] ([i915#61]) -> [PASS][58] [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-hsw5/igt@kms_flip@flip-vs-suspend-interruptible.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-hsw7/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-plflip-blt: - shard-glk: [FAIL][59] ([i915#49]) -> [PASS][60] [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-glk8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-plflip-blt.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-glk8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-plflip-blt.html * igt@kms_frontbuffer_tracking@psr-modesetfrombusy: - shard-tglb: [SKIP][61] ([i915#668]) -> [PASS][62] +4 similar issues [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-tglb1/igt@kms_frontbuffer_tracking@psr-modesetfrombusy.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-tglb6/igt@kms_frontbuffer_tracking@psr-modesetfrombusy.html * igt@kms_psr@no_drrs: - shard-iclb: [FAIL][63] ([i915#173]) -> [PASS][64] [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-iclb1/igt@kms_psr@no_drrs.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-iclb6/igt@kms_psr@no_drrs.html * igt@kms_psr@psr2_primary_page_flip: - shard-iclb: [SKIP][65] ([fdo#109441]) -> [PASS][66] +1 similar issue [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-iclb7/igt@kms_psr@psr2_primary_page_flip.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html * igt@prime_busy@hang-bsd2: - shard-iclb: [SKIP][67] ([fdo#109276]) -> [PASS][68] +13 similar issues [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-iclb8/igt@prime_busy@hang-bsd2.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-iclb1/igt@prime_busy@hang-bsd2.html #### Warnings #### * igt@gem_tiled_blits@interruptible: - shard-hsw: [FAIL][69] ([i915#694]) -> [FAIL][70] ([i915#818]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-hsw6/igt@gem_tiled_blits@interruptible.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-hsw2/igt@gem_tiled_blits@interruptible.html * igt@gem_tiled_blits@normal: - shard-hsw: [FAIL][71] ([i915#818]) -> [FAIL][72] ([i915#694]) [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-hsw2/igt@gem_tiled_blits@normal.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-hsw8/igt@gem_tiled_blits@normal.html * igt@gem_userptr_blits@dmabuf-unsync: - shard-snb: [DMESG-WARN][73] ([fdo#110789] / [fdo#111870] / [i915#478]) -> [DMESG-WARN][74] ([fdo#111870] / [i915#478]) [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7957/shard-snb6/igt@gem_userptr_blits@dmabuf-unsync.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/shard-snb1/igt@gem_userptr_blits@dmabuf-unsync.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#110789]: https://bugs.freedesktop.org/show_bug.cgi?id=110789 [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870 [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080 [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#1241]: https://gitlab.freedesktop.org/drm/intel/issues/1241 [i915#173]: https://gitlab.freedesktop.org/drm/intel/issues/173 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413 [i915#478]: https://gitlab.freedesktop.org/drm/intel/issues/478 [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49 [i915#56]: https://gitlab.freedesktop.org/drm/intel/issues/56 [i915#61]: https://gitlab.freedesktop.org/drm/intel/issues/61 [i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644 [i915#668]: https://gitlab.freedesktop.org/drm/intel/issues/668 [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677 [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694 [i915#818]: https://gitlab.freedesktop.org/drm/intel/issues/818 [i915#831]: https://gitlab.freedesktop.org/drm/intel/issues/831 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 [i915#977]: https://gitlab.freedesktop.org/drm/intel/issues/977 Participating hosts (10 -> 8) ------------------------------ Missing (2): pig-skl-6260u pig-glk-j5005 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5445 -> IGTPW_4168 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_7957: 3ceb00d5a5d62566c5979edcbf06df2c15b62b80 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_4168: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/index.html IGT_5445: 21e523814d692978d6d04ba85eadd67fcbd88b7e @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4168/index.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-02-28 11:06 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-02-18 0:17 [igt-dev] [PATCH i-g-t 0/2] Introduce new apis for coherent mmap Sreedhar Telukuntla 2020-02-17 19:56 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork 2020-02-18 0:17 ` [igt-dev] [PATCH i-g-t 1/2] lib/i915/gem_mman: Add coherent mmap api support with set domain Sreedhar Telukuntla 2020-02-17 16:29 ` Chris Wilson 2020-02-18 3:53 ` Telukuntla, Sreedhar 2020-02-28 11:06 ` Tvrtko Ursulin 2020-02-18 0:17 ` [igt-dev] [PATCH i-g-t 2/2] tests/i915/gem_ctx_shared: Use gem_mmap__device_coherent_sync api Sreedhar Telukuntla 2020-02-19 11:02 ` [igt-dev] ✗ Fi.CI.IGT: failure for Introduce new apis for coherent mmap Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox