03:00 _171_: I'm currently reading the envytools documentation, and I don't understand what PMC.INTR_LINE_* is used for. Can anyone tell me?
03:03 imirkin: is that 0x140 or something?
03:03 _171_: 0x160, 0x164 and 0x168
03:03 imirkin: ah
03:04 imirkin: don't know offhand, but you can check nouveau source
03:04 imirkin: to see if we ever set it/read it
03:04 imirkin: subdev/mc
03:15 _171_: It seems to only come up in gp100.c, which is a later card than mine, so I'll ignore it for now. It doesn't come up in my trace either.
03:18 _171_: Thank you for answering me!
03:19 imirkin: it's just part of the intr ack'ing procedure i guess
03:19 imirkin: potentially to do with MSI
03:20 imirkin: either way, i wouldn't worry too much about it
03:33 _171_: Oh, is it like a way for the PCI bus to look at interrupt status?
03:53 imirkin: more like to tell the GPU that the interrupt has been acked, and ready to process another one
03:55 _171_: Oh, that would makes sense!
14:09 karolherbst: ehhh... nouveau_screen_get_name isn't thread safe :D
14:09 karolherbst: ehh....
14:10 karolherbst: imirkin: nouveau_screen_get_name with multiple GPUs... mhhh
14:10 karolherbst: annoying :p
14:13 imirkin: karolherbst: yeah, it's definitely not thread-safe. it also doesn't matter for anything, so "don't care"
14:13 karolherbst: well.. for CL it does
14:13 karolherbst: but yeah
14:14 karolherbst: but it's also easy to fix and reduces the noise of tsan
14:14 imirkin: karolherbst: ok. feel free to make it cleverer, e.g. allocate something in the screen object
14:14 imirkin: or have a fixed char array in the screen
14:14 imirkin: since it can never be longer than a few chars
14:15 karolherbst: yeah...
14:15 karolherbst: was thinking about a 8 byte char array and just init it in screen_create
14:22 imirkin: sounds fine
14:34 Ariel_Cabello: Hitting some strange warning related to Nouveau, should I upload logs to pastebin?
14:34 imirkin: can't hurt
14:38 Ariel_Cabello: https://pastebin.com/ZsVrhvcT
14:38 Ariel_Cabello: starting in line 1029
14:38 karolherbst: imirkin: soo... the remaining stuff is inside nouveau_mm.c :/
14:38 karolherbst: that will be painful to fix
14:39 karolherbst: the mm_slab stuff
14:39 karolherbst: threads are racing on the list
14:39 imirkin: Ariel_Cabello: i think that lack of firmware is causing nouveau to not be happy. it doesn't get a lot of testing without the firmware, i think
14:40 Ariel_Cabello: Is this the problem?
14:40 Ariel_Cabello: "nouveau 0000:01:00.0: pmu: firmware unavailable"
14:40 karolherbst: imirkin: well, firmware is available
14:40 imirkin: that's what i'm guessing
14:40 karolherbst: it's just the PMU stuff which is missing
14:40 karolherbst: which is expected
14:40 imirkin: oh ok
14:40 imirkin: nevermind me then
14:40 karolherbst: but yeah...
14:40 Ariel_Cabello: hmm thats strange
14:40 karolherbst: it's a known issue
14:41 karolherbst: sometimes stopping the co processors doesn't work
14:41 karolherbst: soo...
14:41 karolherbst: yeah, that's in the runpm path
14:41 karolherbst: so we want to turn off the GPU but fail to stop one of the co processors running the firmware
14:42 karolherbst: mhhh
14:42 karolherbst: I think I hit it on my machine as well
14:42 karolherbst: causes the GPU to go into the runpm error state
14:42 karolherbst: so it's always on after this point
14:43 karolherbst: skeggsb: could we ignore the falcons being stupid in the suspend paths?
15:14 karolherbst: imirkin: mhhh, kind of feels like that each mm_bucket and mm_slab object needs a lock
15:15 karolherbst: mhh maybe not mm_slab
15:15 imirkin: iirc i just had much less fine-grained locks
15:15 imirkin: around anything that could potentially use mm
15:15 karolherbst: sounds... slow
15:16 imirkin: fewer locks = better usually
15:16 imirkin: the critical sections aren't hit that often, so wtvr
15:16 karolherbst: well.. in GL maybe
15:16 karolherbst: but in CL it's all super MU
15:16 karolherbst: *MT
15:16 karolherbst: you can do like nearly everything multithreaded
15:16 karolherbst: hence why I am testing with multithreaded CL tests now :)
15:17 karolherbst: but I think a lock per mm_bucket isn't all too bad
15:18 karolherbst: and that would be the third lock I add
15:19 imirkin: ok
18:12 karolherbst: mhh, nouveau_mm_allocate is a little weird