Well first of all I strongly suggest to make the sideband information a separate IOCTL and not use the existing signal/query IOCTLs for it.
Then as far as I see this basically sets a sequence number to use for binary semaphores, is that correct? If yes then that would be a rather elegant idea.
Christian.
Am 07.08.19 um 15:37 schrieb Lionel Landwerlin:
Hi,
The goal of this feature is to solve an issue that was seen in our testing. After discussing on [1] I thought we could solve this problem with stalling the application thread after each vkQueueSubmit() call where a binary semaphore is signaled but I don't think it's a good option because of performance impacts on the application.
Unfortunately there isn't a good way to reproduce this problem 100% because it essentially exposes a race between the application thread and the submission thread.
I've uploaded tests in the Khronos repository to try to expose the issue.
Thanks,
[1] : https://lists.freedesktop.org/archives/dri-devel/2019-August/229188.html
Lionel Landwerlin (2): drm/syncobj: add sideband payload drm/syncobj: add submit point query capability
drivers/gpu/drm/drm_syncobj.c | 132 ++++++++++++++++++++++------------ include/drm/drm_syncobj.h | 9 +++ include/uapi/drm/drm.h | 5 +- 3 files changed, 100 insertions(+), 46 deletions(-)
-- 2.23.0.rc1