09:17 karolherbst: imirkin: mhh.. doesn't the kernel actually block once the ring is full?
12:53 karolherbst: okay...
12:54 karolherbst: now I think it's something in libdrm... the pushbuffers are literally the same, like even the bos and offsets and everything
12:54 karolherbst: using two nouveau_clients is breaking stuff :D
13:05 karolherbst: ohhhhhhh
13:05 karolherbst: meh..
13:05 karolherbst: I found the problem
13:08 karolherbst: duh...
13:08 karolherbst: ret = nouveau_bo_map(tx->rect[1].bo, flags, nvc0->screen->base.client)
13:08 karolherbst: removing "screen->" fixes it...
13:47 karolherbst: mhhh "[22475/22475] Pass: 12413 Fail: 3886 Skip: 6129 ExpectedFail: 0 UnexpectedPass: 0 Crash: 38 Timeout: 1 Missing: 0 Flake: 8 Duration: 27:37 Remaining: 0 " not too bad
14:09 karolherbst: okay.. that's the known cb binding issue :/ mhh
14:14 karolherbst: I am kind of inclined to move that state into the context :/
14:15 karolherbst: that entire nvc0_screen_bind_cb_3d code is racy anyway
14:16 karolherbst: but then again.. doesn't make sense to make it per context, because of state
14:24 karolherbst: okay.. new run is looking awesome
14:31 karolherbst: now what to do in regards to this cb stuff...
14:31 karolherbst: just using the contexts pushbuf fixes the issue, but that's not really a solution fixing all issues I guess...
14:32 karolherbst: but I am inclined to just ignore all bugs happening from using multiple contexts as long as those are not crashes
14:55 karolherbst: [22475/22475] Pass: 16228 Fail: 93 Skip: 6129 ExpectedFail: 0 UnexpectedPass: 0 Crash: 25 Timeout: 0 Missing: 0 Flake: 0 Duration: 25:56 Remaining: 0 :)
14:59 karolherbst: yay.. no regressions
17:05 karolherbst: very useful: https://gist.githubusercontent.com/karolherbst/f142da3dc0966a8cc9f48c65a44eb223/raw/988ddc6e209a7bd2b9f459c8623c0a80f5b69eac/gistfile1.txt
17:09 imirkin: karolherbst: should be pretty obvious
17:11 karolherbst: ehh
17:11 karolherbst: addr2line is able to resolve those...
17:11 karolherbst: I suspect a tsan bug
17:11 karolherbst: $ addr2line -e ~/local/lib64/dri/nouveau_dri.so 0x1397ec6
17:11 karolherbst: /home/kherbst/git/mesa/build/../src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c:145
17:11 karolherbst: so->translate = translate_create(&transkey);
17:12 karolherbst: ehh...
17:12 karolherbst: ohh wait
17:12 karolherbst: internal state
17:13 karolherbst: env var stuff again...
17:13 karolherbst: uhhh
17:14 karolherbst: imirkin: the best part is that tsan resolved it previously: https://gist.githubusercontent.com/karolherbst/95a3774e2fa5c32906ffefa7d69cb2e4/raw/5f1118a5d8248e5c78b95171871ec83f9cc2f67f/gistfile1.txt
17:14 karolherbst: ...
17:15 karolherbst: I guess it complains about those statics
17:15 karolherbst: I guess I just enable c11...
17:19 karolherbst: ehh...
17:22 karolherbst: I guess I just throw in some _Atomic instead.. that seems to get rid of the messages for good