01:06j2lapoin: my parabola linux keep crashing (nouveau) freeze
01:07j2lapoin: Dec 10 14:41:52 m81 kernel: nouveau 0000:01:00.0: fifo: write fault at 0000240000 engine 00 [GR] client 0f [GPC0/PROP_0] reason 02 [PTE] on channel 2 [007fb4a000 Xorg]
01:07j2lapoin: Dec 10 14:41:52 m81 kernel: nouveau 0000:01:00.0: fifo: channel 2: killed
01:07j2lapoin: Dec 10 14:41:52 m81 kernel: nouveau 0000:01:00.0: fifo: runlist 0: scheduled for recovery
01:07j2lapoin: Dec 10 14:41:52 m81 kernel: nouveau 0000:01:00.0: fifo: engine 0: scheduled for recovery
01:07j2lapoin: Dec 10 14:41:52 m81 kernel: nouveau 0000:01:00.0: fifo: engine 6: scheduled for recovery
01:07j2lapoin: Dec 10 14:41:52 m81 kernel: nouveau 0000:01:00.0: Xorg: channel 2 killed!
01:07Lyude: use a pastebin next time
01:07Lyude: (I don't know the answer to your question, btw, just noting)
01:08j2lapoin: Sorry, was not thinking too much
01:08Lyude: it's ok :)
01:08j2lapoin: is there a way to restart it by console?
01:10gnarface: yes, in theory, if you still have a console to access
01:10gnarface: are you trying to restart the whole computer or just Xorg?
01:11j2lapoin: the screen is freeze but it still accept reisub so i suppose i can even do it via ssh
01:12j2lapoin: i keep an eye on the memory, but it not the problem, it happen without i know why...and it don't freeze by request so i can't try too often
01:23imirkin: skeggsb: did you see my pings yesterday re the various mmio faults on driver load?
01:23imirkin: Lyude: ping re my mst issue yesterday ... not sure if you saved off the paste, i can dig it up if you need
01:24Lyude: imirkin: hey-if you wouldn't mind digging it up yeah
01:24imirkin: scroll wheel to the rescue!
01:25imirkin: <imirkin> Lyude: this happened on driver unbind with 4.19.8: http://paste.debian.net/hidden/fb718bb0/
01:25imirkin: <imirkin> and the initial issue is triggered by a DP 1.1 -> 1.2 switch on the dell monitor
01:26imirkin: i am, btw, not being a TOTAL jerk in switching DP 1.1 -> 1.2 -- those monitors ship as 1.1, so flipping them live is going to be a fairly reasonable operation
01:26Lyude: Do you hve the full log? Thete's something else going on there with the core notifiers, and I'd assume that probably has more to do with this null deref
01:27imirkin: no, i cut it off - it was "more of the same" above though, as i recall
01:27Lyude: imirkin: I've actually got plenty of dell monitors like that, I'm pretty sure they "hotplug" themselves when switching modes like that
01:27imirkin: note the timestamps tho
01:27Lyude: actually, what monitor is this? I might have one
01:28imirkin: i might actually have the logs - they should be in my /var/log/messages :)
01:29Lyude: nice, I've got the older U2414
01:29imirkin: i also have the much older 2408 :)
01:29Lyude: imirkin: mind showing me? i'm still pretty convinced the core notify timeout has something to do with it, nvkm_ioctl() shouldn't ever be the spot where we're hitting a null deref afaik
01:30Lyude: imirkin: ahhhh, they're all terrible displays in their own special ways! :)
01:30skeggsb: imirkin: i think i missed them somehow
01:30Lyude: (this is not even close to the first bug I've had to fix with these displays)
01:30imirkin: Lyude: https://hastebin.com/jowuxugida.apache
01:30imirkin: skeggsb: have a look at https://bugs.freedesktop.org/show_bug.cgi?id=108980
01:31Lyude: mhm-that's cut off too
01:31imirkin: Lyude: no
01:31imirkin: it's not :)
01:31Lyude: ahh, that's the whole log that got saved then
01:31imirkin: like i said, "more of the same"
01:31imirkin: that's all there was in the first place
01:31Lyude: ahh, right -sorry
01:32Lyude: think you can check what line in the source code nv50_disp_atomic_commit_core.isra.10+0x2c5 points to?
01:32imirkin: sure. how do i do that?
01:33imirkin: gdb nouveau.ko?
01:33Lyude: imirkin: with $NV_KO being the path to your nouveau.ko module, eu-addr2line -f -e $NV_KO nv50_disp_atomic_commit_core.isra.10+0x2c5
01:34imirkin: seems like something's missing... how do i tell it where the source lives?
01:35Lyude: imirkin: there is --debuginfo-path
01:35Lyude: but that's for seperated debuginfo
01:35Lyude: I don't think it actually relies on needing the original source directory
01:35imirkin: it's an unstripped module
01:36imirkin: i see the symbol in gdb
01:36imirkin: but i can't seem to pass it to "disassemble"
01:36Lyude: I'm 99.9% sure that command should just work then, it's what I've got in the script I use for decoding stack traces all the time for kernel stuff
01:37imirkin: gr, it does say "no debugging symbols found"
01:38Lyude: i'm not entirely sure gdb can actually disassemble kernel stuff by default without using some of the plugins in the kernel src dir ./scripts/gdb/
01:38imirkin: how do you get it to just print out a function though
01:38Lyude: i might be wrong though
01:38Lyude: imirkin: you're pointing it at the uncompressed module too right?
01:39imirkin: gdb sees the symbol names
01:39imirkin: i can tab-complete nv50_bla
01:39Lyude: imirkin: tbh I've never had to resolve a relative function address in gdb before
01:39Lyude: imirkin: can you run `file` on the kernel module and show me what it says?
01:40imirkin: something about the . kills it
01:40imirkin: disassemble nv50_disp_atomic_commit works fine
01:40Lyude: hm, then maybe nv50_disp_atomic_commit_core+0x2c5?
01:41Lyude: drivers/gpu/drm/nouveau/nouveau.ko: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=4dd93bb9e33ed23b5521b2d83f70b0866e6ab204, with debug_info, not stripped
01:41Lyude: if it doesn't look like that I think that's your problem
01:41imirkin: i don't have "with debug info"
01:42imirkin: i'd guess not :)
01:46imirkin: i don't get why i don't get a function listing with disassemble for it though
01:46imirkin: it works for all the other symbols =/
01:48imirkin: even when i load the .o file directly!
01:49imirkin: i think.
01:50imirkin: so it's the +709 line
01:51imirkin: which will be ~impossible to back out
01:56Lyude: was kind of hoping for the line in the C source :p
01:59imirkin: let's see if i can make some makefile hackery to have this work
02:04imirkin: Lyude: https://hastebin.com/ilewewales.pl
02:04imirkin: 1047 nv50_msto_prepare(msto);
02:05Lyude: ohohoho i bet i know what this is
02:06Lyude: imirkin: also: what commit is that kernel from specifically? or is it just from that kernel version in the dmesg output you gave me
02:06imirkin: 4.19.8 + some local patches whcih don't affect this
02:06imirkin: (my series which landed in 4.20 which enable hdmi2)
02:08Lyude: imirkin: they do affect the line offsets though :p (they don't match up with v4.19.8 in git) , mind just putting your drivers/gpu/drm/nouveau/dispnv50/disp.c on pastebin?
02:08imirkin: Lyude: https://hastebin.com/qejeyozidu.cpp
02:19Lyude: imirkin: yeah, that line doesn't make a whole ton of sense... I think I'm going to need to reproduce this locally, but I don't think it should be too difficult
02:19Lyude: imirkin: just switch the monitor from 1.1 mode to 1.2 when it's connected right?
02:21imirkin: Lyude: yes. have a mode set on the monitor, and flip it
02:21imirkin: fwiw i had another monitor on at the time too (HDMI)
02:21imirkin: i think.
02:21Lyude: imirkin: alright-I'll give that a shot when I'm back in the office tommorrow and let you know if I have any problems reproducing it
02:22Lyude: (about to leave the office now)
02:23imirkin: wow, late night
02:28Lyude: Hehe, more of a case of "I n
02:29Lyude: "I really need to fix my sleep schedule" :p
02:29Lyude: (phones are hard also)
02:29imirkin: i hear the new samsung ones are soft
02:40j2lapoin: Gtx 1050 is supporting by nouveau
02:43HdkR: Is that a question?
02:47j2lapoin: My gt710 is giving problem and the next card i can have is a gtx1050
02:48joepublic: j2lapoin, perhaps here looking you might, https://nouveau.freedesktop.org/wiki/FeatureMatrix/ and, considering that gtx1050 is a NV130 Pascal (137 I think)
02:48HdkR: It's supported far enough that it'll run at idle speeds.
02:48j2lapoin: Joepublic: can a gtx1050 run on nv130? Right now
02:49joepublic: gtx1050 can run, yes, right now.
02:50j2lapoin: With nv130 or with nvidia?
02:51joepublic: your question makes no sense. nouveau supports the card == "it works"
02:51joepublic: it is not going to set any speed records, but there will be a screen to look at.
02:52j2lapoin: Sound enough
02:52j2lapoin: Thank and ill be back
02:59imirkin: skeggsb: so any good ideas about how to conditionalize the vga unlock?
03:02imirkin: or how to deal with falcon_fini running before the engine is enabled via PMC?
03:21skeggsb: imirkin: check the pmc bit (nvkm_mc_enabled()) in falcon_fini, and skip
03:22imirkin: oh, that's cheating. i like it.
03:22imirkin: what about the vgalock thing?
03:22skeggsb: *shrug* i was aware of the issue, but decided i didn't care that much, it's not like it causes any actual problem
03:25imirkin: annoying to get the MMIO error...
03:25imirkin: is it necessary on nv50+?
03:26skeggsb: i *think* it was for some reason, but i can't remember the details
03:26skeggsb: devinit scripts might touch stuff sometimes iirc
03:26skeggsb: not sure
03:27imirkin: even on recent gpu's? that stinks =/
03:28skeggsb: not sure about fermi and up at all
03:28skeggsb: or anything, really :P
10:55AndrewR: karolherbst, so, I set MESA_SHADER_DUMP_PATH and captured few shaders ... (from wine 3.21 staging + mafia2). Any use for those, or I better to dump more low-level stuff (tgsi, nvir?)
10:56karolherbst: normally it's good to have those and try to optimize against wines d3d -> gl translation, but with gallium nine all that starts to get kind of weird
10:56karolherbst: does that even work?
10:56karolherbst: I mean, would you get d3d shaders being dumped?
10:57AndrewR: karolherbst, no, I was nable to amkenine work with mafia2 especially ... I can try apitrace, i think.. but resulting file will be big ....
10:58AndrewR: **facepalms ....unable to make mafia 2 works with nine (as in staging 3.21). 3dmark05 was working, as far as I was able to see
10:59karolherbst: AndrewR: does it crash or is it not a d3d9 game?
10:59AndrewR: karolherbst, it just quits ....
10:59karolherbst: ohh, right :/
10:59karolherbst: yeah dunno what to do about that
10:59AndrewR: karolherbst, without even showing intro video
11:00karolherbst: wine or nine devs would be able to helphere
11:04AndrewR: karolherbst, yeah ..still, if problem lies at level whele shaders translated to hw ..:/ https://www52.zippyshare.com/v/oDnXKXLT/file.html
11:05karolherbst: if you don't get an error it shouldn't
11:06AndrewR: karolherbst, for some reason some older ati demos also fail to start now.. may be -staging-specific regression ...
11:07AndrewR: ..i jst saw a lot of activity on #nouveau those days about compiler part of driver ....
11:08karolherbst: well normally that would only affect what you see, but not making an application stop working though
12:37AndrewR: karolherbst, https://www42.zippyshare.com/v/oY5PKnoN/file.html - this is gallium log file with ST_DEBUG=tgsi
12:38AndrewR: karolherbst, I forgot my mesa bild was without any debug, so recompiled it ....
12:38karolherbst: AndrewR: looking at the shaders won't help
13:05AndrewR: karolherbst, https://www28.zippyshare.com/v/HvBAtpdr/file.html - apitrace ....
13:06karolherbst: AndrewR: there is nothing I can help out with. I neither now the wine code, nor the gallium nine stuff. I already suggested to go to talk to them about that.
13:06AndrewR: karolherbst, no, I mean relative slowness in wine mode, not crash with nine ....
13:06karolherbst: ohh, I see
13:07karolherbst: but yeah, the trace would help here more
13:12AndrewR: karolherbst, not exactly best sorce of info, but https://www.phoronix.com/scan.php?page=article&item=nouveau-nvidia-eoy2018&num=2 - see Bioshock graphs (yes, for nvc0/reclocked) ...because I have my own little 'Crysis' here (pun intended), and don't have Bioshock (and my card probably will not run it at all) - I realized I can try with what I actually ahve - amy be some optimizations really applicable to both nv50/nvc0 ... (while chances are small..i thi
13:13karolherbst: most of the perf difference isn't directly compiler related
13:13karolherbst: there are some perf features we don't implement yet like Zcull
13:14karolherbst: which should make up for 15% of the perf difference or something
13:15AndrewR: karolherbst, well, 5 fps as atarting point gives little hope for even memory reclocking as way to make game playable here (speaking about mafia2 under wine ..because... even 8.5 fps is not my best fps to play ...)
13:15karolherbst: AndrewR: memory reclocking is quite important
13:16karolherbst: AndrewR: what is the difference between stock and highest clocks?
13:16karolherbst: doubled? trippled clocks?
13:16AndrewR: karolherbst, but can it speed up shader execution like 3 times (if mem clock only goes up from 500 to 850 Mhz in my case)?
13:17karolherbst: mhh most likly not 3 times, but at least 50% is to be expected
13:18AndrewR: karolherbst, https://pastebin.com/6NKT2r0X
13:18karolherbst: AndrewR: but are you sure that gallium nine is used?
13:18karolherbst: because if it prints out glsl files then probably not
13:19AndrewR: then I was looking at those graphs in article, and nvidia driver was running at 169 vs noveau 62 fps ...
13:19AndrewR: karolherbst, no, both nine and csmt were disabled via winecfg in my case
13:19karolherbst: for some games that's true, right
13:20karolherbst: without nine you can't expect reasonable perf anyway
13:20karolherbst: but that's not because of the shader compiler being bad, but because we never optimized against performance generally
13:20karolherbst: and we certainly don't implement all those perf features the nvidia driver has to offer
13:21karolherbst: using nine should give you at least doubled performance, if not trippled
13:21karolherbst: and if memory reclocking you could get another 70%
13:23AndrewR: karolherbst, I can't recall 3dmark05 going to 50-75 fps from default 22 fps or something at first scene (no AA, AF16, 1440x900)
13:23karolherbst: what do you mean? with nine?
13:23karolherbst: well, it depends on the application
13:24karolherbst: but usually it reduced CPU overhead a lot
13:24karolherbst: and GPU benchmarks usually have 0 CPU usage
13:24AndrewR: karolherbst, in my case (with plain wine) I can set CPU to 1.4 Ghz and mafia2 will be as slow as with 3.8 Ghz CPU (x4 cores each time) ..so ......
13:27karolherbst: I can't help you, I already told you. Either you talk with the nine devs to figure that issue out and know for sure if that helps or not. We could for sure look into performance, but that won't happen today and it won't happen this or the next month. And it will take more than a year to get to a state where there are significant improvements. Get it to run with nine or not, your choice
13:27karolherbst: or fix the perf issues yourself
13:28Sarayan: "significant improvements"... that requires vulkan?
13:28Sarayan: (hi y'all)
13:29karolherbst: well, with vulkan that all would be better with wine anyway
13:29karolherbst: but nine is equally good
13:29karolherbst: there are more serious perf issues
13:29Sarayan: or you mean nouveau doesn't interact correctly with nine yet?
13:29karolherbst: for starters, we don't implement zcull, which gives you 15% more perf in avarage
13:29Sarayan: (outside of the recloking/etc issues)
13:29karolherbst: and there are many other things we might be able to do to improve perf
13:31karolherbst: anyway, perf is something we can look into if time allows it and we took care of more serious and pressing issues
13:31Sarayan: In my case managing to start the card could improve perf :-) I'll fix it someday I'm sure :-)
15:11AndrewR: karolherbst, glretrace --list-metrics gives me only few lines of "nv50_screen_get_param: unhandled cap 181". Something busted in my build of apitrace/nouveau?
15:11karolherbst: it's normal
15:11karolherbst: you can ignore it
15:12AndrewR: karolherbst, still, I don't understand wiki says there must be at least some backend? https://nouveau.freedesktop.org/wiki/PerformanceCounters/
15:37AndrewR: sorry, will return after sleep
19:00AndrewR: so, this series was never merged? https://lists.freedesktop.org/archives/nouveau/2015-June/021332.html
19:30HdkR: "Nouveau Lands Initial Open-Source NVIDIA Turing Support - But No GPU Acceleration" Nice. 10/10
19:33karolherbst: HdkR: big surprise, I know
19:34karolherbst: AndrewR: the kernel bits were never merged afaik
19:35HdkR: At least some work is coming along :)
19:41AndrewR: karolherbst, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/gpu/drm/nouveau/nvkm/engine/pm/g84.c?h=v4.20-rc6&id=06b7972dc915e60051cd6531d988a7c72645d00a
19:44karolherbst: hakzsam: any idea why it was never merged? nobody reviewed? Was there something wrong with the patches?
19:45AndrewR: aha ... https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.c?h=v4.20-rc6 - missing part from https://cgit.freedesktop.org/~hakzsam/nouveau/commit/?h=nouveau_perfmon&id=a4a78700752291b919b200743768a65c513306a4
20:14hakzsam: AndrewR: karolherbst, I don't remember to be honest. You might find something on my github account too
20:14hakzsam: both mesa and kernel parts
20:19hakzsam: note that global perf counters aren't really useful, they aren't accurate compared to MP counters
20:32karolherbst: but that's all you have on tesla or are there MP counters as well?
20:55AndrewR: hakzsam, if you mean this repo https://github.com/hakzsam - then kerne/mesa repos has note abot moving them to freedesktop.org ....
20:58hakzsam: yeah, but for nouveau stuff they are up-to-date
21:18Lyude: imirkin: btw; will try to reproduce that MST issue today
21:57Lyude: imirkin: ugh, not having much luck reproducing this with my setup
22:05Lyude: how often does it happen with yours?
22:45imirkin_: Lyude: happened once
22:46imirkin_: but since i wasn't trying to crash things ... i didn't try many times
22:47imirkin_: Lyude: note that i was using nouveau ddx, so no-atomic
22:48imirkin_: this was with a U2415 plugged into a GM206
22:51Lyude: imirkin_: atomic is disabled by default in nouveau so I doubt that's it
22:51Lyude: (either way-legacy goes through atomic 100% of the time with >=nv50)
23:58Lyude: skeggsb: poke, found a big mst memory leak in nouveau, patches on nouveau ml
23:58Lyude: well, not sure if i'd describe it as 'big', but i wouldn't call it small
23:59imirkin_: very small if you don't have any DP ports =]