02:03 mlankhorst: it's the perfect click bait >:D
02:05 karolherbst: mlankhorst: what is?
02:06 mlankhorst: 'more to come' without saying anything
02:08 karolherbst: :D
02:08 karolherbst: well
02:08 karolherbst: I am sure there will come more for the gk20a
02:09 karolherbst: or did you mean something else?
02:09 mlankhorst: well I wish there was more for the video encoding and decoding engines on the tegra :P
02:10 karolherbst: pmoreau: by the way, does DRI3 offloading work for you?
02:11 karolherbst: without actually touching the mux
02:11 pmoreau: Not sure about DRI2, about offloading fails as Nouveau is not listed as being an "input"
02:11 pmoreau: s/DRI2/DRI3
02:12 karolherbst: pmoreau: yeah, with DRI3 you don't need that
02:12 karolherbst: xrandr is totaly unimportant
02:12 karolherbst: basically you just load the nouveau kms module and then it just works
02:12 pmoreau: How does it work then? Just with DRI_PRIME=1?
02:12 karolherbst: yeah
02:13 karolherbst: I do like: modprobe nouveau; DRI_PRIME=1 glxinfo => magic
02:13 pmoreau: I'll check, then. But I think I tried it and it was still using the main card
02:13 karolherbst: pmoreau: it does look like this then: https://gist.github.com/karolherbst/db5b96bc6e7a822991bc :D
02:13 karolherbst: ohhh mhh
02:14 pmoreau: Except I don't have any Intel, but, yeah ;-)
02:14 karolherbst: ohh right, how is DRI3 with nouveau anyway?
02:14 karolherbst: the nouveau ddx has to support this kind of
02:15 karolherbst: pmoreau: anyway, Prime is kind of unimportant for you, because you can do something better instead :D
02:15 gnurou: I will just shut up next time :)
02:16 karolherbst: gnurou: I am disappointed by him, because he didn't do the gddr5 benchmarks he promised :D
02:16 pmoreau: karolherbst: The SLI thing? Well, it would first have to be implemented
02:17 karolherbst: pmoreau: :)
02:17 pmoreau: gnurou: I guess you meant that line as a hope from your side, rather than trying to hint at some future announcement
02:17 pmoreau: karolherbst: Whereas DRI_PRIME is already there
02:17 gnurou: I don't mean anything. I'm not even listening >_<
02:17 karolherbst: pmoreau: yeah, but the SLI thing will give you more perf *cough*
02:18 pmoreau: karolherbst: It's loading dri2. Is there a way to force it to dri3?
02:18 karolherbst: gnurou: aha! so that basically means a lot of more awesmoness in the future
02:18 pmoreau: Well, atm, not really given that there is no SLI support iirc.
02:18 karolherbst: pmoreau: well for intel there is Option "DRI" "3"
02:18 karolherbst: but I don't know if nouveau supports it
02:19 pmoreau: Oh, I guess I'm not in the video group
02:20 karolherbst: :O
02:20 karolherbst: how
02:20 pmoreau: Hum.. I was
02:20 karolherbst: you should be
02:20 gnurou: karolherbst: well, if you like Tegra that is :/
02:21 pmoreau: karolherbst: Why would I, if I didn't put myself in it?
02:22 karolherbst: pmoreau: I don't know but my gentoo installation guide told me todo so, because it is important :D
02:22 karolherbst: gnurou: not especially :D
02:23 karolherbst: pmoreau: I think the nouveau ddx can't do dri3, so
02:23 gnurou: karolherbst: don't get too excited then >_<
02:24 karolherbst: gnurou: oh :( now I am sad
02:25 karolherbst: gnurou: at least if nouveau devs would get the feeling, that asking nvidia about stuff is faster than REing it, that would help a lot already :p
02:25 gnurou: karolherbst: asking is not completely futile, but even that part could be improved
02:26 karolherbst: I know
02:26 karolherbst: but there is some disappointment there
02:27 gnurou: same here - it's a resource issue though
02:27 karolherbst: gnurou: I mean that sometimes things are difficult because of contracts and IP and stuff, but it would be already nice to know, what nvidia can tell us about directly, and for what stuff it needs time
02:33 nchauvet: gnurou, one question about the firmware listing in the nouveau module for gk20a, do you think there is a way to sort out if this is a dGPU for initramfs creation of a given "host only" image (compared to generic initramfs images ?)
02:34 nchauvet: I mean, sorting that from userspace...
02:35 gnurou: nchauvet: what do you mean by "sort out"?
02:36 RSpliet: gnurou: usually "figure out" in this context :-P
02:37 nchauvet: gnurou, I think that if the given hardware has a dGPU, then the nouveau kernel module doesn't need to be bundle into the initramfs because it would not handle kms
02:37 nchauvet: bundled
02:37 gnurou: ah, so you want to exclude that fw when building an initramfs for a dGPU
02:38 nchauvet: gnurou, yes, fw and nouveau.ko, then the initramfs becomes "host specific"
02:39 RSpliet: nchauvet: there's a little caveat though. I recall on some laptops the dGPU is wired to an external monitor port, where the LVDS panel is hooked up to the iGPU
02:39 gnurou: one way would be to not build support for Tegra GPUs when building on a desktop machine
02:39 nchauvet: it does not handle the case of generic initramfs (so my patch is still needed unless some defered probe would be implemented for the fw loading )
02:39 gnurou: that way the FW files would not be exported in nouveau.ko
02:41 nchauvet: gnurou, sure, we already avoid to build TEGRA_124 on x86_64 ;)
02:42 nchauvet: but there is a little corner case of pcie armv7 devices where kms support would be needed
02:42 nchauvet: there is probably very few corner case here
02:42 gnurou: yeah in that case I'm afraid you cannot presume anything
02:43 nchauvet: even aarch64 should have pcie more often
02:53 karolherbst: is there a way to print the current fps to stdout with gallium?
04:21 karolherbst: fun times, wasteland 2 crashes :/
04:21 karolherbst: works with intel
04:24 karolherbst: can't reproduce it anymore, strange
06:28 karolherbst: mupuf: we need to expose the current load through sysfs, don't we?
06:28 karolherbst: debugfs is like root only :/
07:07 RSpliet: karolherbst: so is pstate changes
07:07 karolherbst: wait.... why can't I grep my C application output?
07:07 karolherbst: RSpliet: but you can read the pstate interface as non root
07:08 karolherbst: or do you have to be root for this?
07:08 imirkin: all that stuff belongs in debugfs... regular users shouldn't have access to this
07:08 karolherbst: imirkin: I already have patches :p but I was thinking maybe I should keep the sysfs stuff
07:09 karolherbst: and put informative stuff there
07:09 karolherbst: like the current load
07:09 karolherbst: don't see why a user shouldn't be able to see this
07:09 RSpliet: imirkin: well, tbh, in the final final final situation if would be nice if we can have some userspace tools display statistics
07:09 imirkin: RSpliet: sure
07:09 RSpliet: but we're about three finals away from that right now :-D
07:10 karolherbst: :D
07:10 RSpliet: karolherbst: if we are going to expose any such information, we should synchronise the method with other vendors imho
07:10 karolherbst: RSpliet: intel tool is kind of broken :/
07:10 RSpliet: probably end up with a "drm" API or the like
07:10 karolherbst: intel_gpu_top can hang your gpu at any time :D
07:11 RSpliet: what about intel_gpu_bottom?
07:11 RSpliet: *rimshot*
07:11 karolherbst: mhh
07:11 karolherbst: a drm API would be nice indeed
07:11 karolherbst: hakzsam: how are the perf counters exposed to userspace?
07:11 RSpliet: or sensors perhaps...
07:11 RSpliet: idk
07:12 karolherbst: RSpliet: no, sensor isn't the place for load
07:12 karolherbst: just for sensors
07:12 karolherbst: power consumption will go there
07:12 RSpliet: for CPUs we have CPUfreq I reckon
07:12 RSpliet: ... GPUfreq? :-P
07:12 RSpliet: anyway
07:12 RSpliet: food for thought on the long term, but until we aim for perfection I'd say use debugfs
07:13 karolherbst: mhh
07:13 karolherbst: RSpliet: do you want to run a benchmark observer application as root?
07:13 hakzsam: karolherbst, which perf counters?
07:13 imirkin: karolherbst: debugfs until this stuff is figured out.
07:14 RSpliet: karolherbst: not daily, but when I'm developing I don't care
07:14 karolherbst: I want to write a benchmark script/application to benchmark dynamic reclocks
07:14 karolherbst: imirkin: k
07:14 karolherbst: hakzsam: the stuff you are working on :p
07:14 imirkin: karolherbst: sysfs or ioctl-based api when it is and we can figure out what the best way of exposing it is.
07:15 hakzsam: karolherbst, they are still not exposed because nvif is still not merged :)
07:15 karolherbst: hakzsam: okay
07:16 karolherbst: but what is planned?
07:16 imirkin: hakzsam: they're exposed. just no lib to access them.
07:16 hakzsam: karolherbst, once ben has merged nvif to libdrm
07:17 hakzsam: imirkin, so, not really exposed :)
07:19 karolherbst: k
08:02 karlmag: 01:00.0 VGA compatible controller: NVIDIA Corporation GK106 [GeForce GTX 650 Ti Boost] (rev a1)
08:04 karlmag: \o/
08:04 kubast2: nice gpu you hav ethere
08:05 karlmag: difficult to get hold of too..
08:05 karlmag: it's actually a demo card I got hold of.
08:05 karlmag: but - looks to be working
08:05 karlmag: just put it into a machine like 5 minutes ago
08:05 karolherbst: karlmag: :D
08:05 kubast2: 01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
08:05 karolherbst: karlmag: and now you can test my pcie and gddr5 patches
08:05 karolherbst: :p
08:05 karolherbst: thanks in advance
08:06 karlmag: karolherbst: hehehe ;-)
08:06 karolherbst: ohh a Ti Boost
08:06 kubast2: keppler master race
08:06 karolherbst: I see voltage issues coming
08:06 karlmag: I *could* mention I have a an amd card in that machine too though. And that is quite newer than this nvidia one.
08:06 karolherbst: nah
08:06 karolherbst: only 1.5 GFLOPS
08:06 karolherbst: same as mine
08:07 karlmag: not sure if I'll have both cards in the same machine though.
08:07 karolherbst: karlmag: OpenCL!
08:07 karlmag: but yeah, if time permits I might help with some testing here.
08:07 karolherbst: just run all OpenCL stuff on the amd card and use the nvidia one for GL stuff
08:07 karolherbst: :)
08:07 karlmag: karolherbst: it might be a bit new so far... :-P
08:07 karolherbst: maybe video decoding is also fun on the amd
08:08 karlmag: https://www.asus.com/Graphics-Cards/STRIXR9390DC3OC8GD5GAMING/specifications/ this is the amd one
08:08 kubast2: karolherbst my gtx 650 does h.264 4K encoding just fine
08:08 kubast2: *on windows
08:08 karlmag:'s been shopping a wee bit lately :-P
08:08 imirkin: hopefully someone will come along interested in RE'ing nvenc
08:09 karolherbst: kubast2: try that wiht nouveau and vdpau :)
08:09 karolherbst: imirkin: not me :p
08:09 karlmag: I guess my wish of X automagically configure across multiple cards is not a thing of quite yet :-P
08:09 imirkin: karlmag: should work
08:10 karolherbst: karlmag: delete xorg.conf first :p
08:10 karlmag: which xofg.conf? :-P
08:10 imirkin: karlmag: http://nouveau.freedesktop.org/wiki/Optimus/
08:10 imirkin: karlmag: you're looking for "Using outputs on discrete GPU"
08:10 karolherbst: :D
08:11 karlmag: imirkin: well, that means configuring something ;-)
08:11 kubast2: karolherbst hw video decoding works on nouveau
08:11 kubast2: ?
08:11 imirkin: some DE's auto-configure it, others don't
08:11 karolherbst: kubast2: yes?
08:11 imirkin: kubast2: http://nouveau.freedesktop.org/wiki/VideoAcceleration/
08:11 kubast2: well I guess it's better than nvidia linux properiaty driver on taht manner
08:11 karolherbst: kubast2: try it out and see for yourself :p
08:12 karolherbst: I had my fun with that and deicded to not touch it again :D
08:12 karolherbst: quite disappointed that my CPU decoded a 4K video faster than my nvidia card :p
08:13 karlmag: karolherbst: depends a bit on the cpu I would think?
08:13 imirkin: karolherbst: did you check how blob did with it? might be a nouveau fail.
08:13 karolherbst: imirkin: prop was fine
08:14 imirkin: hm?
08:15 karolherbst: imirkin: blob
08:15 imirkin: ah.
08:15 imirkin: we probably don't keep the pipeline properly filled
08:16 kubast2: "Supports Hardware H264 Decoding false" What a lie from firefox xd
08:16 karlmag:ponders putting the nvidia in a secondary workstation. Makes it easier to test stuff too then.
09:00 karolherbst: karlmag: what the heck is "OC mode", for bragging?
09:03 imirkin_: kubast2: i believe firefox only supports gstreamer, which in turn only supports libva
09:03 kubast2: oh
09:04 kubast2: linux mint doesn't have lbva
09:04 kubast2: so that explains a lot
09:04 imirkin_: you could install the libva <-> vdpau adapter
09:04 kubast2: E: Nie udało się odnaleźć pakietu libva
09:04 kubast2: I need to install arch linux
09:05 imirkin_: my polish is rusty... what does that mean?
09:05 karolherbst: tere is vdpau-va-driver though
09:05 kubast2: Unable to find libva packlage
09:05 imirkin_: couldn't manage to ... package libva
09:05 imirkin_: aha. find.
09:05 imirkin_: would not have guessed that.
09:05 karolherbst: but vdpau-va-driver looks like a _big_ hack :D
09:06 kubast2: libva info: va_openDriver() returns 0
09:06 kubast2: hmm
09:06 kubast2: let me check ff now
09:06 kubast2: Supports Hardware H264 Decoding false
09:06 kubast2: VAProfileH264Baseline : VAEntrypointVLD
09:06 kubast2: VAProfileH264Main : VAEntrypointVLD
09:06 kubast2: VAProfileH264High : VAEntrypointVLD
09:07 imirkin_: weird.
09:07 kubast2: yes I have restarted firefox
09:07 kubast2: and the VAProfile is from vainfo[nvidia-355.11]
09:08 imirkin_: kubast2: pastebin vainfo output?
09:08 kubast2: http://dpaste.com/051A065
09:09 imirkin_: seems like something from the blob driver
09:09 imirkin_: try... LIBVA_DRIVER=nouveau
09:10 imirkin_: er wait, that's not it
09:10 kubast2: it's loaded properiaty driver ,let me now try the open one
09:10 karolherbst: imirkin_: that's the vdpau-va-driver
09:10 imirkin_: export LIBVA_DRIVER_NAME=vdpau
09:11 kubast2: http://dpaste.com/38RWJ8E
09:11 imirkin_: much better
09:12 imirkin_: check with some application that you can actually use va?
09:12 imirkin_: actually in hindsight, there's probably a symlink from nvidia_drv_video to vdpau_drv_video
09:12 imirkin_: so it's the same as before =/
09:13 imirkin_: but where did it get the nvidia name from... are you running on the blob?
09:13 kubast2: currentlly yes
09:13 imirkin_: ah, that explains it
09:13 kubast2: I didn't tested the the nouveau one yet
09:14 kubast2: vlc launches video just fine with vdpau acceleration on blob
09:14 kubast2: firefox doesn't care
09:14 kubast2: chromium doesn't care
09:15 kubast2: now let me restart with nouveau
09:15 imirkin_: the point was to use va, not vdpau, with some other app... oh well.
09:16 kubast2: Supports Hardware H264 Decoding false
09:16 kubast2: Vendor ID nouveau
09:16 kubast2: firefox
09:17 kubast2: well it seems like there's a simlink
09:17 karolherbst: browsers usually use internal black/white lists for that
09:17 kubast2: libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nouveau_drv_video.so
09:17 karolherbst: try to use the vdpau va backend in a non _bloated_ software :D
09:18 kubast2: well that's vainfo output
09:18 kubast2: on nouveau
09:18 imirkin_: an application that actually uses va.
09:18 kubast2: vlc?
09:18 imirkin_: dunno
09:18 kubast2: it won't work
09:18 kubast2: on nouveau because blob is loaded
09:18 kubast2: oh wait
09:18 kubast2: nvm
09:18 karolherbst: kubast2: doesn't matter currently :p
09:18 imirkin_: i think i convinced mpv to use libva at one point
09:18 karolherbst: vlc can to va
09:19 karolherbst: *do
09:19 kubast2: libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nouveau_drv_video.so
09:19 kubast2: libva info: va_openDriver() returns -1
09:19 kubast2: vaInitialize failed with error code -1 (unknown libva error),exit
09:19 karolherbst: kubast2: yeah, there is no nouveau symlink for the vdpau driver
09:19 imirkin_: kubast2: how about 'vdpauinfo'
09:19 karolherbst: ohh wait, for willy there is
09:20 kubast2: display: :0.0 screen: 0
09:20 kubast2: Failed to open VDPAU backend libvdpau_nouveau.so: cannot open shared object file: No such file or directory
09:20 kubast2: Error creating VDPAU device: 1
09:20 karolherbst: kubast2: what distribution are you using?
09:20 kubast2: linux mint 17.2 xfce4
09:20 imirkin_: kubast2: ok, well until that works, you won't be getting hw video decoding accel with nouveau.
09:20 karolherbst: yeah, they use an outdated ubuntu package
09:22 karolherbst: allthough I don't know
09:23 karolherbst: you can check in /usr/lib/x86_64-linux-gnu/dri/ for files like *_drv_video.so
09:23 kubast2: http://dpaste.com/3TVHR7H
09:24 kubast2: ls /usr/lib/x86_64-linux-gnu/dri/
09:24 karolherbst: kubast2: you can make a symlink from nouveau_drv_video.so to vdpau_drv_video.so
09:25 karlmag: karolherbst: no idea :-P It came with the card (as far as I am concerned :-P )
09:25 imirkin_: won't help
09:25 imirkin_: the issue is that vdpau isn't installed.
09:26 karolherbst: imirkin_: ohh yeah, I saw too late that the nouveau vdpau driver is missing :/
09:30 karolherbst: kubast2: is there a package called mesa-vdpau-drivers for you?
09:30 kubast2: well
09:31 kubast2: mesa-vdpau-drivers-lts-trusty
09:31 kubast2: mesa-vdpau-drivers-lts-trusty-dbg
09:31 karolherbst: mhhh
09:31 kubast2: and other onces
09:31 kubast2: for utopic
09:31 kubast2: and vivid
09:31 karolherbst: is there somewhere a _good_ package search site for liux mint?
09:31 kubast2: well I think there's not
09:31 kubast2: it uses the same packages as ubuntu+older ones on their repo
09:31 karolherbst: but I think mesa-vdpau-drivers is right
09:31 karolherbst: just install the newest
09:32 kubast2: this one was from ubuntu repo
09:33 kubast2: well it returned some stuff
09:33 kubast2: http://dpaste.com/3VTVC4T
09:33 kubast2: not supported all the way
09:34 karolherbst: mhhh
09:34 kubast2: perhaps this card only works with dxva
09:34 karolherbst: kubast2: do you have a /usr/lib/x86_64-linux-gnu/vdpau/libvdpau_nouveau.so file?
09:34 karolherbst: try VDPAU_DRIVER=nouveau if so
09:34 kubast2: yes
09:35 kubast2: http://dpaste.com/2EC4GNT
09:35 kubast2: same thing
09:37 imirkin_: kubast2: you don't have the firwmare installed
09:37 kubast2: firmware ?
09:37 imirkin_: kubast2: all detailed on the page i sent you to
09:37 kubast2: oh
09:38 kubast2: http://nouveau.freedesktop.org/wiki/VideoAcceleration/
09:38 imirkin_: yes.
09:41 karolherbst: I slowly begin to hate those stupid phones ... yeah because it is unsafe to draw 900mA from a USB-3 port :/
09:42 karolherbst: mupuf: WIP https://gist.github.com/karolherbst/867958e003cd3b935de1
09:43 kubast2: I'll move NVIDIA-Linux-x86_64-352.55 folder to NVIDIA-Linux-x86-340.32
09:43 kubast2: to launch extract_firmware.py
09:44 imirkin_: lol
09:44 imirkin_: or you can follow the instructions
09:44 kubast2: http://dpaste.com/0AY48Y4
09:44 kubast2: oh ok
09:44 kubast2: nvm
09:45 kubast2: github.com/imirkin/re-vp2/
09:46 kubast2: either I'll use 340.32 just for the sake of something going wrong
09:46 kubast2: or just modify the script to allow my version to work
09:48 karolherbst: kubast2: the second part is much harder
09:49 imirkin_: or follow the instructions on the VideoAcceleration page.
09:54 kubast2: installed
09:54 kubast2: 340.32
09:54 kubast2: newest supported version from python2 script
09:55 imirkin_: newest isn't always best. but it should work ok.
09:55 imirkin_: 325.15 is best
09:55 imirkin_: but wtvr
09:55 karolherbst: 943fps @ 27.5W sounds much better than 952fps @ 29.3W :)
09:55 karolherbst: imirkin_: why is 325.15 best?
09:55 imirkin_: karolherbst: only 10% better
09:55 karolherbst: imirkin_: with same perf, yes
09:56 imirkin_: karolherbst: because the script also knows how to extract pgraph fw from it
09:56 karolherbst: ahh k
09:56 kubast2: http://dpaste.com/1AB7KKS
09:56 imirkin_: kubast2: much better
09:56 kubast2: oh
09:56 kubast2: yeah Unknown PGRAPH archive order in this version.
09:56 karolherbst: now some real tests
09:57 karolherbst: will I do a heaven benchmark apitrace? :/
09:57 karolherbst: sounds like a bit off an overkill
10:02 kubast2: seems to be working
10:02 kubast2: http://i.imgur.com/NdaKq8z.png
10:02 kubast2: mplayer -vo vdpau -vc ffh264vdpau Double-Barreled\ Shotgun.-EY2lWmZN5TQ.mp4
10:03 karolherbst: :)
10:03 karolherbst: now you can test firefox again :D
10:03 kubast2: seems 100% gpu decoded
10:03 kubast2: 2% cpu usage
10:03 karolherbst: kubast2: on which gpu?
10:03 kubast2: gtx 650
10:03 kubast2: Supports Hardware H264 Decoding false
10:03 kubast2: firefox ^
10:04 kubast2: Video Decode: Software only, hardware acceleration unavailable
10:04 kubast2: chromium ^
10:04 karolherbst: kubast2: you could use my pdaemon_counters branch and then read the actual gpu load
10:04 kubast2: damn
10:05 kubast2: can you hand me git repo
10:05 karolherbst: wait, I will make a good branch for ya
10:05 karolherbst: with a lot of nice stuff
10:05 kubast2: I think I'm still using the pcie test one
10:05 kubast2: alongside with gddr5 patch
10:06 karolherbst: kubast2: there is some more stuff in :p
10:07 karolherbst: kubast2: git clone https://github.com/karolherbst/nouveau.git -b master_karol_stable --depth 1
10:07 kubast2: cd drm?
10:08 kubast2: make -j4
10:08 karolherbst: yes
10:08 kubast2: then I copy over .so file mv the old one to be .old
10:08 karolherbst: after install you also have to regenerated your initramfs
10:08 kubast2: a^
10:09 kubast2: LD [M] /home/kubast/nouveau/nouveau/drm/nouveau/nouveau.ko
10:09 kubast2: ina sec
10:10 kubast2: where to put .ko file /lib/
10:10 pmoreau: /usr/lib/modules/some_kernel_version/kernel/drivers/gpu/drm/nouveau
10:10 pmoreau: kubast2: -^
10:11 pmoreau: And if I were you, I would symlink it rather than copy it :-)
10:11 kubast2: ls: cannot access /usr/lib/modules: No such file or directory
10:11 kubast2: I think I used /lib/modules then
10:11 pmoreau: Could be
10:12 pmoreau: On Arch, /lib is a symlink to /usr/lib so...
10:12 kubast2: /lib/modules/3.19.0-28-generic/kernel/drivers/gpu/drm/nouveau/
10:14 kubast2: ok initramfs updated
10:18 kubast2: seems faster tbh
10:18 karolherbst: ?
10:18 kubast2: docky loaded almsot instantlly
10:18 karolherbst: shouldn't be :D
10:18 karolherbst: go to /sys/kernel/debug/dri/0
10:19 karolherbst: there you have two nice files: pstate and current_load
10:19 kubast2: yeah they are here
10:19 karolherbst: while watching video the video counter should go up
10:19 karolherbst: these are values between 0 and 255
10:19 kubast2: core: 0
10:19 kubast2: mem: 100
10:19 kubast2: video: 0
10:19 kubast2: pcie: 0
10:20 kubast2: ok
10:20 kubast2: Kuba-Pc 0 # cat current_load
10:20 kubast2: core: 37
10:20 kubast2: mem: 122
10:20 kubast2: video: 42
10:20 kubast2: pcie: 0
10:20 kubast2: yeah
10:20 kubast2: it works
10:20 karolherbst: please don't paste it here direclty :p
10:21 karolherbst: high memory load though :/
10:21 kubast2: the idle is 100
10:21 karolherbst: mhh
10:21 kubast2: I think the value for it is 100 to 255
10:21 karolherbst: do you have envytools installed?
10:21 kubast2: yes
10:22 karolherbst: nvapeek 0x10a500 0x50
10:22 kubast2: *I have them compiled
10:23 kubast2: http://dpaste.com/0Y7ZFWQ
10:24 karolherbst: nvapoke 0x10a534 0x80
10:24 karolherbst: and then peek again
10:24 kubast2: ok
10:25 kubast2: well I have mem: 3 on cat current_load now
10:25 karolherbst: okay
10:25 karolherbst: then this 0x1000 counter doesn't work everywhere
10:25 karolherbst: or maybe it does work and it is normal on dedicated gpus
10:26 kubast2: well now my mem load is 11 and 10 on video decoding
10:26 karolherbst: try some serious stuff
10:26 karolherbst: like 4k decoding
10:26 kubast2: hmm
10:28 kubast2: getting 5 minute 4k video from yt
10:28 kubast2: 266 mp4 3840x2160 DASH video 22317k , h264, 30fps, video only,
10:28 karolherbst: seems good
10:33 kubast2: launched 4k
10:33 kubast2: video works
10:34 kubast2: but some debug/leak hapend ?
10:34 kubast2: http://i.imgur.com/PqPjpH5.png
10:34 kubast2: video: 255
10:34 kubast2: mem: 35
10:35 kubast2: core: 129 pcie: 4
10:35 karolherbst: mhhh
10:35 karolherbst: funny
10:35 imirkin_: that happens when there's a pushbuf fail
10:41 karolherbst: kubast2: does it happens even if you retry it?
10:41 kubast2: you mean this nouveau:
10:41 kubast2: it starts normally
10:42 karolherbst: here are some CC licensed 4K videos by the way: http://www.elementaltechnologies.com/resources/4k-test-sequences
10:42 kubast2: well the video is a bit glitchy
10:42 karolherbst: I used the cactus one on my gpu
10:42 karolherbst: kubast2: try highest pstate
10:42 kubast2: but no errors
10:43 karolherbst: it should be better then
10:43 karolherbst: maybe not much, but at least a little
10:43 karolherbst: and if your card crashes, we might get it fixed someday :p
10:44 kubast2: well thx
10:44 kubast2: xD
10:44 karolherbst: but it shouldn't
10:44 karolherbst: maybe you get some screen corruption, but well
10:44 kubast2: that happens xD
10:44 karolherbst: okay
10:44 kubast2: echo 0f > pstate
10:44 karolherbst: which pstates do you have?
10:44 karolherbst: 07 0a 0f?
10:44 karolherbst: or also 0d
10:44 kubast2: 07 0a 0f AC
10:45 karolherbst: AC is current
10:45 karolherbst: then
10:45 karolherbst: go to 0a
10:45 kubast2: well I just went for 0f
10:45 karolherbst: yeah, no problem
10:45 karolherbst: 0f is gddr5 high clock
10:45 karolherbst: you see that because of the high memory clock
10:45 kubast2: well it seems fast
10:45 karolherbst: it should be around 6000 or something
10:45 kubast2: 5000 yeah
10:45 kubast2: video: 255
10:45 karolherbst: wait
10:46 karolherbst: 5000?
10:46 kubast2: yeah
10:46 kubast2: mine is 5000 mhz
10:46 karolherbst: this is a 650 Ti Boost right?
10:46 kubast2: no
10:46 kubast2: gtx 650
10:46 kubast2: non-ti
10:46 karolherbst: ohhhh okay
10:46 karolherbst: karlmag: you was it with the ti boost :D
10:46 karolherbst: no, then it is fine
10:47 karolherbst: kubast2: so video seems faster, but still not fast enough?
10:47 karolherbst: or is it good enough
10:47 kubast2: well it goes fine
10:47 kubast2: but sometimes
10:47 kubast2: it looks like one or two frames
10:47 kubast2: aren't rendering
10:47 karolherbst: kubast2: regarding 0f: just try a few times, it should usually work
10:48 AndChat|341361: It seems to be pushing vidro decoder to the limits
10:49 AndChat|341361: I would say video works just as it was with 0a
10:49 kubast2: ^
10:49 karolherbst: ?
10:50 karolherbst: :D
10:50 karolherbst: 0f crashed?
10:50 kubast2: no
10:50 karolherbst: ohh other account
10:50 kubast2: but I wanted to see how it would work
10:50 karolherbst: k
10:50 kubast2: if I wouldn't alt_tab
10:50 kubast2: beetween apps
10:50 imirkin_: kubast2: there are some outstanding issues with h264 decoding somewhere
10:50 imirkin_: only some videos are affected
10:51 kubast2: well it's dash video so
10:51 kubast2: let me test the cc 4k videos
10:51 imirkin_: i spent a long time trying to work out what it was with VP2... unsuccessfully
10:51 imirkin_: never investigated it on VP3
10:55 karolherbst: kubast2: how many tries do you need until 0f works?
10:55 kubast2: karolherbst: is it the same karol_stable with gddr5 and pcie patch that I tested?
10:56 kubast2: this one is really glitchy http://hwcdn.net/j9t9v3v5/cds/Mobile_H264.mp4
10:56 kubast2: karolherbst: once
10:56 karolherbst: kubast2: yeah, just with some fixes and other stuff
10:57 karolherbst: kubast2: okay, so it usually works, but sometimes the screen glitches
10:58 kubast2: karolherbst: it works fine ,just video decoding glitches[of the CC 4k videos]
10:58 karolherbst: ohhh
10:58 karolherbst: and on 0a it doesn't glitch?
10:58 kubast2: let me see
10:59 kubast2: glitches just as much
10:59 kubast2: I guess the CC 4k video is pushing my gpu to even bigger limits
10:59 karolherbst: I want that http://1.f.ix.de/scale/geometry/600/q75/imgs/18/1/6/0/6/3/3/9/digirule-1d09e76c198dfdba.jpeg :O
10:59 karolherbst: kubast2: :)
11:00 karolherbst: use the ProRes file
11:00 karolherbst: much fun in there
11:00 kubast2: well
11:00 kubast2: I can't download it xD
11:00 kubast2: thx firefox
11:01 karolherbst: :D
11:01 kubast2: *firefox read mime type and wanted to play the video
11:02 kubast2: video couldn't be processed by firefox
11:02 kubast2: so I couldn't right click+download it
11:02 kubast2: because it's "damaged"
11:02 kubast2: chromium downloads the file
11:02 kubast2: 5 minutes left
11:18 kubast2: got the video
11:35 mupuf: free time!!!! YEEEAAAAAHHHH RRRRIIIIGGGHHHTTT!
11:35 karolherbst: mupuf: :)
11:35 mupuf: The finnish class was insane, so good that I reviewed so much this past 2 days, I would have died otherwise!
11:35 mupuf: But hey, back to working on the pcie stuff ... after lunch!
11:35 mupuf: err, dinner
11:35 karolherbst: :D
11:36 karolherbst: I hacked up a shell script to benchmark dynamic reclocking :)
11:36 karolherbst: with apitraces
11:37 mupuf: oh, super cool!
11:38 karolherbst: I should stop using my intel card for recording them :/
11:38 karolherbst: some bechmarks really slow down my entire desktop
11:41 karolherbst: mupuf: you can't imagine how painfull it is to manage two background daemons in bash :D
11:42 mupuf: ahahaha
11:43 karolherbst: mupuf: that's the script https://gist.github.com/karolherbst/f621c241e7f352db19eb
11:43 mupuf: right, collecting metrics in // is hard
11:45 karolherbst: I had a lot of fun with your userspace power sensor tool
11:45 karolherbst: the output got buffered
11:45 karolherbst: and I was wondering, mhh why don't | cat get anything
11:48 karlmag: "| cat"? That sounds redundant? :-P
11:49 kubast2: hmm
11:49 kubast2: cat pstate | cat
11:49 kubast2: hmm
11:50 kubast2: when one cat isn't enough ,you need to double the verbosity
11:50 karolherbst: :D
11:52 karlmag: And in bad cases, call in the cat lady? :-P
11:52 kubast2: well there's one thing one should never do
11:52 kubast2: alias dog = cat
11:52 kubast2: it's well known that kernel panics
11:54 kubast2: *ok I'll stop with unfunny jokes xd
11:57 karlmag: hehe
11:58 karlmag: so.. if I where to test something on nouveau, what would I need to do? I have an hour or two I can do some stuff like that now.
11:59 kubast2: well first you will git clone the repo I think
11:59 karolherbst: but it is nice to know, that my nvidia card with nouveau is actually faster then my intel card :)
11:59 karolherbst: others have the problem, that their nvidia card with the blob isn't even faster at all :p
11:59 karolherbst: karlmag: test my branch
11:59 karolherbst: karlmag: git clone https://github.com/karolherbst/nouveau.git -b master_karol_stable --depth 1
12:01 kubast2: karolherbst: the blob is slow to load the xfce4 wallpaper right after start up
12:02 karolherbst: mhh
12:02 karlmag: any assumption that thing does?
12:02 karlmag: versions of stuff, etc?
12:02 pmoreau: Can't I just rerun configure on Mesa with a new set of flags to have them taken into account?
12:02 karolherbst: pmoreau: nope :P
12:02 karolherbst: make clean needed
12:02 pmoreau: --"
12:02 karolherbst: somehow the header files aren't tracked
12:02 karolherbst: so make doesn't see the changes
12:03 karolherbst: and doesn't recompiled everything needed
12:03 pmoreau: Well, even configure in the summary message didn't took them into account
12:03 pmoreau: Or at least not the one I was trying to add (--enable-glx0
12:03 pmoreau: s/0/)
12:04 pmoreau: Oh: "configure: WARNING: Neither DRI nor Xlib-GLX enabled, disabling GLX"
12:05 karolherbst: mupuf: sometimes I get values in the counters greater then the ticks (maybe because of latency between reads), I think I should read the ticks last then :/
12:06 karolherbst: wow
12:06 karolherbst: pixmark_piano: 15.9 fps @ 44W (stock), 15.8 fps @ 40W (clock gates + dyn reclock)
12:06 karlmag: karolherbst: didn't compile
12:06 karolherbst: still only 10%, but still
12:06 karolherbst: karlmag: which kernel do you have?
12:07 karlmag: 4.1.6
12:07 karolherbst: arch?
12:07 karlmag: 64bits
12:07 karolherbst: soc/tegra/pmc.h not found?
12:07 karolherbst: drm/nouveau/include/nvif/os.h
12:07 karolherbst: remove the include there
12:12 mupuf: karolherbst: yes, that's what I do
12:13 karolherbst: I know
12:13 karolherbst: I do it too on reator :o
12:13 karolherbst: yay
12:13 karolherbst: gpu crashed again
12:14 karolherbst: mupuf: I am now at duty + 6
12:14 karolherbst: maybe it is unrelated though
12:15 mupuf: yes, it is!
12:16 karolherbst: :p
12:16 karolherbst: but it seems to be nearly only furmark
12:16 karolherbst: this benchmark really pushes the card
12:19 karolherbst: 53W with furmark power consumption here :/
12:19 karolherbst: and that's only the gpu
12:19 mupuf: still a far cry from 90W :D
12:20 karolherbst: :D
12:20 karolherbst: hey
12:20 karolherbst: I could decode and encode videos in the background
12:20 karolherbst: mhhh
12:20 mupuf: ah ah
12:20 karolherbst: it is still awesome how the load matters for power consumption
12:22 mupuf: you should read up on dynamic and static power consumption
12:22 karolherbst: yeah, I get usually up to 10% less power consumption
12:22 karolherbst: mhh okay .D
12:23 mupuf: on low-power devices, the power consumption is given as frequency * constant
12:23 mupuf: of course, that's when working completely
12:23 karolherbst: I was more refering to same clock, with load
12:23 mupuf: and the more complex the hw is, the harder it is to predict because it is hard to predict which block is going to be active
12:24 karolherbst: ohhh right
12:24 karolherbst: clock gating
12:24 karolherbst: I enabled this
12:24 mupuf: nope
12:24 mupuf: try disabling it, you'll still see a scaling
12:24 karolherbst: on the same freq?
12:24 mupuf: some parts of the gpu are clock gated and power gated automatically, so it is hard to know what is going on
12:24 mupuf: yes
12:25 karolherbst: ohh okay
12:25 mupuf: you know what, I am going to give you a page of my thesis to read
12:25 karolherbst: you already did
12:25 karlmag: karolherbst: http://pastebin.com/gWq1xfty
12:25 karolherbst: :p
12:25 karolherbst: karlmag: :O
12:26 karlmag: I'm really n00b at this :-P
12:26 karolherbst: karlmag: it should be there
12:26 karolherbst: ohh
12:27 mupuf: karolherbst: http://phd.mupuf.org/files/these_martin.pdf page 103 of the pdf, read the section 5.2.3 on transistors
12:27 karolherbst: karlmag: you have to cd into drm
12:27 karolherbst: but still this compile error shouldn't happen
12:28 karlmag: that went quite a bit smoother, yeah..
12:29 mupuf: well, the whole chapter would be beneficial to you I would say. And you can have a look at the power usage vs temperature too, it is fun
12:31 karolherbst: mupuf: maybe the pdf is broken, but I don't see a 5.2.3 :(
12:32 karlmag: karolherbst: ok.. installed, rebooted, then what?
12:32 karolherbst: karlmag: do stuff
12:32 karlmag: ok?
12:32 karlmag: what am I looking for?
12:32 karolherbst: go to highest pstate
12:32 mupuf: karolherbst: page 79 is written on the page, but it page 103 of the pdf
12:32 karolherbst: /sys/kernel/debug/dri/0
12:33 karolherbst: mupuf: I know, but the title isn't there
12:33 mupuf: what the heck
12:33 karolherbst: there is 5.2.2 clock
12:33 karolherbst: and then 5.2.4 storing data...
12:34 karolherbst: I think you missed something in tex
12:34 mupuf: what the heck? It is definitely in the pdf
12:34 mupuf: I am looking at it right now
12:34 karolherbst: even the toc gives the same page number for 5.2.2 and 5.2.3
12:34 mupuf: and I did not regenerate it
12:34 mupuf: yes, 5.2.2 and 5.2.3 are on the same page
12:35 mupuf: the last paragraph of page 79 is for "5.2.3 Transistors"
12:35 mupuf: what pdf reader do you use?
12:35 karolherbst: currently the builtin chromium one
12:35 karolherbst: will download and test with others
12:35 mupuf: same here, and it works :s
12:35 mupuf: okular works too
12:36 karolherbst: mhh
12:36 karolherbst: with okular it is there indeed
12:36 karolherbst: okay, then my reader is broken :D
12:37 karolherbst: but I just use the chrome bundled one in chromium
12:37 karolherbst: ohh no, it is chromium now
12:37 karolherbst: there is no binary one anymore
12:38 karolherbst: weird
12:38 karolherbst: after the 5.1 formula everything is empty on that page
12:38 mupuf: lovely :D
12:41 karolherbst: anyway, this seems to work kind of
12:41 karolherbst: karlmag: /sys/kernel/debug/dri/0
12:41 karolherbst: there you have pstate/cstate/current_load
12:41 karolherbst: current_load should contain values close to 0
12:41 karolherbst: as long as you don't do anything
12:43 karlmag: karolherbst: nothing under that debug directory.. I guess kernel needs to be compiled with some debug thingie set?
12:44 karolherbst: karlmag: root
12:45 karlmag: I am root
12:46 karolherbst: mhh
12:46 karolherbst: you need debugfs mounted
12:48 karlmag: there you go
12:50 karlmag: hmm..
12:50 karlmag: DP-1/ DVI-I-1/ bufs gem_names vbios.rom vma
12:50 karlmag: DVI-D-1/ HDMI-A-1/ clients name vm
12:50 Shibe: why is nouveau slower than proprietary drivers?
12:51 imirkin_: because proprietary drivers have had something on the order of 1000 man-years invested into them
12:51 imirkin_: while nouveau has had 10 man-years at most
12:52 karlmag: and direct access to all hardware (presumably at least) and proper hardware specs?
12:52 karolherbst: karlmag: are you sure you are using my module?
12:52 imirkin_: probably doesn't hurt
12:52 karlmag: karolherbst: make; make install; reboot... I would assume so..
12:53 karolherbst: karlmag: regenerated initramfs?
12:53 karlmag: karolherbst: there is none
12:53 imirkin_: i wonder what make install does
12:53 imirkin_: almost certainly not what you want
12:53 karolherbst: extras
12:54 karolherbst: karlmag: you should copy the compiled module over the existing one
12:55 karlmag: oh... right..
13:02 mupuf: karolherbst: oh dear, adding a new subdev is a ton of fun :D
13:03 karolherbst: :D
13:03 mupuf:is glad to do it AFTER the rewrite
13:03 karolherbst: guess why I waited for bens rewrite
13:03 karolherbst: :D
13:03 mupuf: it used to be a nightmare of casted pointers
13:03 hakzsam: yeah, pretty simple now :)
13:03 mupuf: ok, now, I am down to one WARN_ON
13:04 mupuf: in drivers/pci/msi.c :D
13:04 karolherbst: :D
13:04 karolherbst: I think I know that one
13:04 karolherbst: like this? https://gist.github.com/karolherbst/a977aad7ff5afb335b8a
13:05 karlmag: yay... finally
13:05 karolherbst: mupuf: ohh inside the kerel
13:05 karolherbst: karlmag: :)
13:06 mupuf: karolherbst: http://pastebin.com/7JTniLvz
13:06 mupuf: let's stash the changes and see if it helps
13:06 karolherbst: there were some changes regarding this
13:06 karolherbst: like 3 days ago
13:07 mupuf: karolherbst: which tree?
13:07 karolherbst: bens
13:07 karlmag: so... mem: 168, the other three are 0
13:07 karlmag: doing nothing
13:07 karolherbst: mupuf: which one are you using? :D
13:07 mupuf: ah, right
13:07 karolherbst: karlmag: mhh okay
13:07 mupuf: and I get the same one without my code
13:08 mupuf: so I guess this is work for ben!
13:08 karolherbst: karlmag: nvapoke 0x10a534 0x80
13:08 karlmag: first thing first.. "nvapoke"
13:08 karolherbst: weird, this counter is helpful on my card, but useless on others
13:08 karolherbst: karlmag: envytools
13:09 karolherbst: there shall be a package
13:10 karlmag: uhm... nope... not for me anyway.. but I'll get them from git I suppose.
13:10 karlmag: *github
13:11 karolherbst: anyway, isn't that important
13:11 karolherbst: it doesn't do anything besides giving you some data
13:11 karolherbst: switching to highest pstate shall be more fun
13:11 karolherbst: and
13:11 karolherbst: I fear your card will crash
13:12 karlmag: karolherbst: as long as it doesn't get bricked I don't mind
13:13 karlmag: I'm doing this on a different computer than I work on.
13:13 karolherbst: k
13:13 karolherbst: I only think that nouveau might use a too low voltage
13:13 karolherbst: but we will see
13:14 karlmag: should I get any response?
13:14 karolherbst: mhhh
13:14 karolherbst: does the display still work? :D
13:14 karlmag: looks like it
13:15 karolherbst: oka
13:15 karlmag: I'll double check
13:15 karolherbst: y
13:15 karolherbst: you can also run sensors
13:15 karolherbst: you should get your core voltage there
13:15 karlmag: yup, both monitors still work
13:16 karolherbst: nice
13:16 karolherbst: what does sensors say?
13:16 karlmag: GPU core: +0.86 V
13:16 karlmag: power1: 10.00 uW
13:16 karolherbst: power is garbage currently
13:16 karolherbst: mhh core
13:16 karolherbst: this seems pretty low :/
13:17 karolherbst: dmesg may contain a voltage error
13:17 karlmag: doesn't seem to
13:18 karolherbst: okay
13:18 karolherbst: maybe it is fine
13:18 karolherbst: cat pstate
13:19 karlmag: 07: core 324 MHz memory 648 MHz
13:19 karlmag: 0a: core 324-862 MHz memory 1620 MHz
13:19 karlmag: 0d: core 549-1254 MHz memory 6008 MHz
13:19 karlmag: 0f: core 549-1254 MHz memory 6008 MHz
13:19 karlmag: AC: core 324 MHz memory 648 MHz
13:20 karolherbst: hey you didn't change the pstate :p
13:20 karolherbst: ohhh
13:20 karolherbst: you did the nvapoke thingy?
13:20 karlmag: pretty sure I did
13:20 karlmag: yeah
13:20 karolherbst: ahh no, that just changes current_load
13:20 karolherbst: should all 0 now
13:21 karolherbst: or close enough
13:21 karlmag: I don't know... really n0000b at this as earlier mentioned
13:21 karlmag: not really sure what I'm doing :-P
13:21 karolherbst: just cat current_load
13:21 karolherbst: and check if the values are close to 0
13:21 karlmag: core: 8
13:21 karlmag: mem: 5
13:21 karlmag: video: 0
13:21 karlmag: pcie: 1
13:22 karolherbst: seems okayish
13:22 karolherbst: now echo 0f > pstate
13:22 karlmag: yes
13:22 karolherbst: this either corrupt your card, crashes your card or prints stupid voltage error in dmesg
13:22 karolherbst: or just works
13:23 karlmag: still able to move a terminal window between the two monitors..
13:23 karolherbst: what does the AC line say in pstate?
13:23 karlmag: and nothing in dmesg it seems
13:24 karlmag: AC: core 1254 MHz memory 6007 MHz
13:24 karlmag: so higher than before
13:25 karolherbst: mhh nice
13:25 karolherbst: then do some stuff
13:25 karolherbst: like vblank_mode=1 glxgears
13:27 karlmag: about 16k7 fps
13:28 karolherbst: seems good
13:28 karolherbst: around the value I got on a second X
13:29 karolherbst: karlmag: lspci -s 01:00.0 -vv | grep LnkSta:
13:30 karlmag: started a second glxgears on the second monitor.. about 10k fps on both
13:30 karlmag: LnkSta: Speed 8GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
13:32 karolherbst: seems alright
13:34 karolherbst: karlmag: you seem very unlucky, because everything works so far, you can't help me anymore :p
13:34 karolherbst: you could actually play some games on 0f until something bad happens
13:34 karolherbst: but it seems to be fine so far
13:38 mupuf: here we go, I did what morpheus said: Follow the white crashes!
13:39 karlmag: games of 0f ?
13:39 karlmag: karolherbst: I'm pretty sure a certain mr Murphy is playing us :-P
13:41 karlmag: I did input 0f many times after each other, and both screens went black.. but that was because stuff went to power-save mode :-P (not at console of that comp)
13:41 karolherbst: :D
13:41 karolherbst: well you have to switch to another pstate first
13:41 karolherbst: best would be 0a of 07
13:41 karolherbst: otherweise nouveau won't do anything
13:42 karlmag: well, there is a very short blink on both monitors when I change
13:44 karlmag: 0a gives about half fps (about 5k1)
13:44 karlmag: still both monitors
13:45 karlmag: and 07 about 1k9
13:45 karolherbst: if you want to take it to the more serious level: while true; echo 0a > pstate; sleep 0.001 ; echo 0f > pstate; sleepd 0.001 ; done
13:45 karolherbst: :D
13:45 karolherbst: this may crash your card pretty fast
13:45 karolherbst: ohh wait
13:45 karolherbst: there is something wrong
13:45 karolherbst: while true; echo 0a > pstate; sleep 0.001 ; echo 0f > pstate; sleep 0.001 ; done
13:46 karolherbst: still
13:46 karolherbst: while true; do echo 0a > pstate; sleep 0.001 ; echo 0f > pstate; sleep 0.001 ; done
13:47 karlmag: it does have trouble drawing new picture fast enough
13:47 karolherbst: :D
13:47 karolherbst: well
13:47 karlmag: maybe manage 1/6 before redraw
13:48 karlmag: oh.. now it's all there
13:48 karlmag: but the while loop is still running
13:48 karolherbst: yes
13:48 karolherbst: that's the idea
13:49 karlmag: uhmm.. what is?
13:49 karlmag: while loop is running and now both monitors show picture as it should
13:49 karlmag: about 7k7 fps on both monitors
13:49 karolherbst: k
13:50 karolherbst: I do the same currently
13:50 karolherbst: and well
13:50 karolherbst: it is pretty stable
13:51 karlmag: when the flickering went away it seems stable yeah
13:51 karlmag: not crashed yet at least
13:53 karlmag: karolherbst: well.. if there is anything else, do ask and I'll try if I can/have time :-)
13:54 karolherbst: karlmag: seems like we have to reboot now :/
13:54 karolherbst: at least I didn't manage to kill this stupid while loop :D
13:54 karlmag: hmm...
13:55 karlmag: karolherbst: actually I wonder if it might have died quite early on but still seems to be running
13:56 karolherbst: don't know
13:56 karolherbst: maybe it got locked ujp
13:56 karolherbst: yeah
13:56 karolherbst: :D
13:56 karolherbst: dead lock for me
13:56 karolherbst: ohhh boring
13:56 karlmag: can't seem to see any of the processes being run
13:56 karlmag: mmhmm
13:57 karolherbst: bash
13:57 karolherbst: echo is builtin
13:57 karolherbst: so is sleep
13:57 karolherbst: lsof /sys/kernel/debug/dri/1
13:57 karolherbst: mhh
13:57 karolherbst: lsof /sys/kernel/debug/dri/0
13:57 karolherbst: there should be a bash process
13:57 karolherbst: which you can kill
13:58 karolherbst: or not
13:58 karolherbst: I will reboot now
13:58 karlmag: or not.. my conclusion too :-P
14:02 karolherbst: mupuf: maybe we should mutex lock the clocking somehow?
14:02 karlmag: karolherbst: wb
14:10 mupuf: karolherbst: as in?
14:10 mupuf: do not allow multiple reclocking to happen at the same time? Isn't it there already?
14:10 karolherbst: mhhh, I manage to get a lockup while doing echo > pstate
14:11 karolherbst: *dead lock
14:11 karolherbst: when I do it really fast
14:12 mupuf: check the code
14:12 mupuf: but pstate should also be synchronous
14:14 karlmag: I can second that
14:15 karlmag: well, something happened.
14:16 karolherbst: mupuf: I don't think it is
14:19 karolherbst: mupuf: is this asnyc or sync? https://github.com/karolherbst/nouveau/blob/master/drm/nouveau/nvkm/subdev/clk/base.c#L240-L248
14:19 karolherbst: looks like async to me
14:19 karolherbst: but I don't know it
14:19 mupuf: depends on the value of wait :D
14:19 karolherbst: :D
14:20 karolherbst: it is called with true from the pstate interface
14:20 mupuf: then it is supposed to be
14:20 mupuf: but check that the work does not create another task!
14:20 karolherbst: karlmag: is it still running on your machine?
14:21 karolherbst: or did you reboot as well
14:21 karlmag: I rebooted when you did
14:21 karolherbst: k
14:21 karolherbst: I don't have the stack anymore
14:21 karolherbst: mupuf: but I think it deadlocked inside schedule
14:22 karlmag: I can set it up again..
14:22 karolherbst: karlmag: don't bother, I can do it :/
14:22 karlmag: well, it's not my primary machine so if it locks up or anything it doesn't matter
14:22 karolherbst: at least reclocking every 0.1 seconds kind of worked
14:22 karolherbst: nobody will reclock that fast
14:22 karolherbst: still
14:24 karlmag: seems to run for about 18 seconds (yeah, I counted, not particularly scientific) then the flickering stopped
14:25 karlmag: it's dead Jim..
14:25 karolherbst: karlmag: lsof /sys/kernel/debug/dri/0
14:25 karolherbst: then get the PID
14:26 karolherbst: cat /proc/$PID/stack
14:26 karlmag: I tried to kill it
14:26 karlmag: still somethign there
14:26 karolherbst: yeah I know
14:26 karolherbst: that's why the lsof
14:26 karolherbst: and the stack
14:27 karlmag: karolherbst: http://pastebin.com/F0EsyAg5
14:28 karolherbst: wow not even the schedule is there for you
14:28 karlmag: maybe something was lost when I tried to kill that process?
14:28 karlmag: I can redo it.. gimme a minute or two
14:30 karolherbst: no
14:30 karolherbst: there won't be more
14:32 karolherbst: karlmag: you could run some benchmarks though :D
14:32 karlmag: something must have froze when I did reboot.. because picture just froze on both monitors. Didn't change until the power was cycled by the computer
14:32 karlmag: sure, just tell me how
14:38 karolherbst: karlmag: oh, you could just rerun those phoronix benchmarks, where gddr5 didn't work right :D
14:38 karolherbst: I just don't find them
14:41 karlmag: huh?
14:41 karlmag: I haven't done much other than glxgears really
14:42 karlmag: have I? :-P
14:42 karlmag: and the fiddling in /sys
14:49 karolherbst: karlmag: there is this phoronix benchmark tool, which this phoronix guy uses to do his benchmarks :D
14:49 karlmag: *nods*
14:49 karlmag: just looked it up
14:49 karolherbst: I think it is the best way to compare to what he does
14:49 karolherbst: it handles a lot of stuff though
14:49 karolherbst: like downloading binaries
14:50 karolherbst: passing the right flags
14:52 karlmag: welp..installed now
14:53 karlmag: karolherbst: it had only a few options :-P
15:24 karolherbst: oh man :/ I want to live somewhere else, somewhere with better jobs and not 80% java bs, and 15% .NET and 4% cobol :D
15:29 karlmag: karolherbst: can't imagine that :-P
15:29 karolherbst: okay I lied, there is also php and web stuff
15:30 karlmag: that's the 1% then? ;-)
15:30 RSpliet: karolherbst: Germany is probably one of the better places to live tbh
15:30 karolherbst: RSpliet: yes, but I am complaining about those IT jobs :D
15:30 RSpliet: there's Suse
15:30 karolherbst: ohhh right
15:31 karolherbst: totally forgot about them
15:31 RSpliet: and companies like Bosch and Siemens
15:31 karolherbst: yeah well, that's too big for me :D
15:31 RSpliet: (who do a lot of embedded and real-time stuff)
15:31 RSpliet: not to mention the car manufacturers
15:32 karolherbst: I would rather to some non embedded stuff :/
15:32 karolherbst: *do
15:32 karolherbst: :D
15:32 RSpliet: I think NVIDIA has an engineering office in Germany as well iirc
15:32 karolherbst: yeah, that would be funny: hi there did stuff for nouveau, do you have a job for me :)
15:33 RSpliet: gnurou: well... do you?
15:33 karlmag: karolherbst: suggestions about phornoix tests to run?
15:33 karlmag: way too much to choose from :-P
15:33 karolherbst: karlmag: gputest
15:33 karolherbst: gputest is small and somehow usable
15:33 karolherbst: also the unigine tests
15:37 karlmag: karolherbst: uhm.. I think something crashed
15:37 karlmag: on 3dplot test
15:37 karolherbst: RSpliet: the thing is, I want to work somewhere where I can mainly work on community driven projects
15:37 karolherbst: or at least projects where there is a big community to work with
15:37 karolherbst: karlmag: mhh gimark shouldn't work
15:37 karlmag: [ 3844.090718] nouveau 0000:01:00.0: fifo: read fault at 00028c8000 engine 00 [GR] client 08 [GPC2/PE_2] reason 02 [PTE] on channel 6 [023f899000 GpuTest[3998]]
15:37 karlmag: [ 3844.090725] nouveau 0000:01:00.0: fifo: gr engine fault on channel 6, recovering...
15:37 karolherbst: yay
15:38 karolherbst: too low voltage maybe
15:38 karolherbst: mupuf: ?
15:38 RSpliet: karolherbst: Pengutronix?
15:38 mupuf: karolherbst: try a higher one :D
15:38 karlmag: mouse pointer still moves about but everything else seems frozen
15:39 karolherbst: RSpliet: mhhh if I am able to work from home, yes, otherwise I can only do that some other time
15:39 mupuf: yes, pingutronix definitely kicks asses!
15:39 mupuf: intel has offices in germany too
15:39 mupuf: although probably nothing for the open source
15:39 karolherbst: :(
15:40 mupuf: for that, it is finland or sweden
15:40 karolherbst: would be nice, but currently I can't do that
15:40 mupuf: finish your studies, come to XDC next year and I am sure you will get people interested in you!
15:40 karlmag: I forget; where did I read out the voltage again?
15:40 RSpliet: karolherbst: http://www.pengutronix.de/jobs/kernel_hacker_de.html :-P
15:41 karolherbst: mhhh
15:41 RSpliet: no idea where Hildesheim is
15:41 karolherbst: karlmag: sensors
15:41 mupuf: lynxeye used to be a nouveau dev :) he works with pingutronix now
15:41 karolherbst: RSpliet: south
15:41 karlmag: *facepalm* yeah..
15:41 karolherbst: ohh well
15:41 karolherbst: not that south
15:41 karolherbst: mhh
15:41 karolherbst: near hannover
15:41 mupuf: relocating is fun
15:42 karlmag: GPU core: +0.86 V
15:42 karolherbst: that would be kind of okay
15:42 karlmag: power1: 10.00 uW
15:42 RSpliet: anyway, Germany has quite a few opportunities :-)
15:42 karolherbst: karlmag: power doesn't work yet
15:42 karolherbst: RSpliet: yes, the 1%
15:42 karolherbst: :D
15:42 karlmag: oh, right
15:42 mupuf: karolherbst: you need to understand that there is only a very limited number of people working on what you are working on! :D
15:42 RSpliet: karolherbst: good thing that less than 1% of the pop. is capable of doing this kind of work :-P
15:43 mupuf: You could even try nvidia,
15:43 karolherbst: mupuf: :D I know
15:43 RSpliet: Hamburg right?
15:43 karolherbst: yes
15:43 mupuf: karolherbst: when will you be done with your studies?
15:43 karolherbst: mupuf: don't know :( if I find my motiviation again to finish them
15:43 RSpliet: karolherbst: not you, nvidia :-P
15:43 mupuf: if XDC is in finland next year, you can have interviews at intel and nvidia :D
15:44 karolherbst: I am nearly done though
15:44 RSpliet: mupuf: silly, there's FOSDEM in Feb first :-P
15:44 karolherbst: I have like 190 CPs?
15:44 mupuf: FOSSSSDDDEEEEEMMMMMM!!!!!
15:44 mupuf: How could I forget that!!!
15:44 mupuf: I missed it last year, not again this year!
15:44 mupuf:*drools*
15:44 RSpliet: karolherbst: are those ECs in the ECTS?
15:44 RSpliet: and you need 300? :-P
15:45 karolherbst: credit points
15:45 karolherbst: and no
15:45 karolherbst: BA is usually 180
15:45 karolherbst: I think they are x2 EcTS?
15:45 RSpliet: EC -> European Credits, one EC is the equivalence of 26,667 hours, 60EC is one year of study
15:45 karolherbst: ohh
15:46 RSpliet: BSc in NL is 3 years -> 180ECs
15:46 karolherbst: okay
15:46 karolherbst: then I have around 190 ECs
15:46 RSpliet: ECTS -> EC Transfer System :-P
15:46 RSpliet: basically "the system we use in Europe to measure equivalence"
15:46 karolherbst: yeah got that
15:47 RSpliet: (where with Europe I mean that thing excluding Cambridge, and possibly other parts of the UK :-P)
15:47 karolherbst: :D
15:47 RSpliet: because Cambridge is special
15:47 karolherbst: at least my google page looks quite nice :D
15:48 karolherbst: mupuf: even your slides are showing up
15:48 RSpliet: google has a lot of engineers in .de too!
15:48 karolherbst: RSpliet: I know
15:48 RSpliet: not necessarily on community projects though, they tend to be quite evil
15:48 karolherbst: RSpliet: one of their recruiter already asked me like 2 years ago?
15:48 mupuf: karolherbst: hehe
15:48 karolherbst: but this was more like a: try to apply kind of asking
15:50 karolherbst: but this was for Vienna or Dublin
15:54 karolherbst: I actually could go to fosdem, it isn't _that_ far away from where I live
15:58 karolherbst: okay, at least nvidia doesn't seem to have something near hamburg, berlin though
15:59 karolherbst: sys admin :/
16:00 karolherbst: yeah I relly like that, quote from a semi famous german hacker "a good sys admin clicks reddit all day, because the stupid task are all automated away" :D
16:03 karolherbst: karlmag: plase upload your vbios.rom somewhere
16:03 karlmag: uhm... ok...
16:04 karlmag: not sure where that "somewhere" should be, but...
16:05 karolherbst: doesn't matter
16:07 karolherbst: mupuf: intel does indeed have something hear in hamburg, but this is like security stuff, which I won't touch for at least 20 years :D
16:07 karlmag: that was strange... card 0 and 1 was swapped this boot..
16:08 mupuf: karolherbst: you don't want to relocate?
16:09 karolherbst: mupuf: I can't currently
16:09 mupuf: studies? Just finish them and be done with it :p
16:09 karolherbst: I will be able to do so in half a year or something
16:09 karolherbst: no, rather personal matter
16:09 mupuf: ack
16:10 mupuf: well, half a year, sounds like about time you start contacting companies
16:10 karolherbst: studies would be no problem, then I would simply study somewhere else :D
16:10 mupuf: big companies take forever
16:10 karolherbst: mhh right
16:12 karolherbst: anyway, how much is it worth to have like 4+ years of working experience at the big compaies in general?
16:13 karolherbst: or in teh cases you are aware of
16:14 karlmag: karolherbst: http://www.slackware.com/~karlmag/nouveau/vbios.rom
16:15 mupuf:has less than a year
16:15 mupuf: I would say that the companies we are interested in should hire you based on your contributions to linux
16:15 mupuf: and because they know you
16:15 mupuf: you completely bypass the useless HR selection process too, which is great
16:16 karolherbst: :)
16:16 karolherbst: nice
16:19 mupuf: yeepeeeeee! For some reason, I was going WAAAAYYYY down in the i2c stack ... to find out that indeed, I screwed up and was looking for a device on the wrong bus...
16:19 karolherbst: :)
16:19 karolherbst: at least you know it
16:19 mupuf: I had forgotten that the bios is a piece of shit and tells you that a device is on one bus when it actually is somewhere else
16:20 mupuf: [ 2833.459065] divide error: 0000 [#1] PREEMPT SMP
16:20 mupuf: oopsie :p
16:20 karolherbst: :)
16:21 karolherbst: funny though, the falcon doesn't care
16:21 mupuf: ?
16:22 mupuf: fuck, I should be in bed already
16:22 karolherbst: /0
16:22 karolherbst: ohh why? it isn't _that_ late :p
16:22 mupuf: well, depends when you need to wake up
16:22 karlmag: 'tis late :-P
16:23 karolherbst: :P :P :P
16:23 karolherbst: mupuf: okay then, nighty night
16:23 mupuf: Power = 22699904 uW
16:23 mupuf: hmm, that even looks plausible
16:24 imirkin: 22.7W
16:24 karolherbst: yeah
16:25 mupuf: well, that will be good-enough for now :D
16:29 karlmag: karolherbst: did you get it?
16:29 karolherbst: karlmag: yes
16:29 karlmag: goodie :-)
16:29 karolherbst: ti boost?
16:30 karlmag: 01:00.0 VGA compatible controller: NVIDIA Corporation GK106 [GeForce GTX 650 Ti Boost] (rev a1)
16:31 karolherbst: karlmag: nvapeek 101000
16:31 karlmag: karolherbst: 00101000: 80404896
16:32 karolherbst: thanks
16:32 karlmag: np :-)
16:32 karolherbst: now let's take a look
16:32 karolherbst: INA3221 nice
16:33 karlmag: uhm.. if you say so :-P
16:33 karolherbst: and MAX6649 temp sensor
16:33 mupuf: http://cgit.freedesktop.org/~mperes/nouveau/commit/?h=pwr_sensor&id=5c2116436d35247e4133509ed0146b135069706a <-- speaking about ina3221
16:33 karolherbst: mupuf: thanks a lot
16:33 mupuf: it is not done at all
16:33 mupuf: this is just the infrastructure
16:33 karolherbst: does it kind of work?
16:33 karolherbst: ohhh
16:33 mupuf: well, it should allow you to read the power, yes
16:34 karolherbst: :D
16:34 mupuf: for your ina3221
16:34 mupuf: but the interface to read is not even there :D
16:34 karolherbst: which means?
16:34 karolherbst: printk?
16:34 karolherbst: but it looks nice
16:34 mupuf: you could read by using device->iccsense->driver.pwr_get(&device->iccsense);
16:34 mupuf: or something like this
16:35 karolherbst: okay
16:35 mupuf: this is a giant QIP commit
16:35 mupuf: I will split it later
16:35 karolherbst: I see
16:35 karolherbst: the MAX6649 seems nice
16:35 mupuf: in vbios-parsing, changes to the i2c, infrastructure for the iccsense
16:36 mupuf: (with the nil pwr sensor)
16:36 mupuf: and then one commit per sensor
16:36 karolherbst: how many cards will be supported by this, 5% or more? :D
16:36 mupuf: and then add your patch to read the pwr
16:36 karolherbst: I really don't know how common those sensors are
16:36 mupuf: you can make the stats based on the vbios repo
16:37 mupuf: but we lack bioses to make good stats
16:37 karolherbst: mhhh
16:37 mupuf: the expensive cards have it
16:37 karolherbst: there are way less kepler cards
16:37 mupuf: c8+
16:37 mupuf: yes
16:37 karolherbst: I will add the ti boost
16:37 karolherbst: :D
16:37 karlmag: \o/
16:37 karlmag:feels a little tiny bit useful
16:38 karolherbst: traces!
16:38 karolherbst: but currently I don't know what you could trace
16:38 karolherbst: maybe you want to RE the NVENC :p
16:38 karlmag:looks at the copper traces on a pcb..
16:38 karolherbst: that would be super usefull
16:38 mupuf: that definitely is a newcomer's task, yes :D
16:38 karolherbst: :D
16:38 mupuf: only imirkin_ was stupid-enough to start a project like that straight away (video decoding)
16:39 mupuf: but hey, he was smart-enough to pull it off super nicely!
16:39 karolherbst: see
16:39 karolherbst: somebody just needs to do it
16:39 hakzsam: imirkin, well, MP counters now work with valley/heaven without any weird 3D affects. NVC0_COMPUTE is going to be definitely removed :)
16:39 mupuf: hehe, one needs to be stupid-enough not to need bravoury
16:39 karolherbst: mupuf: sadly we lost him for the VP5,VP4 engines for that
16:39 karolherbst: he won't ever touch it again, at least he said so
16:39 mupuf: yeah, meh
16:40 mupuf: this is far from being the most useful part of the GPU :D
16:40 mupuf: nvenc is though
16:40 karlmag: I found this; https://en.wikipedia.org/wiki/Nvidia_NVENC and figured... yikes.. :-P
16:40 karolherbst: isn't the cpu fast enough usually?
16:40 karolherbst: karlmag: right
16:40 mupuf: for decoding, yes
16:40 karolherbst: that's the stuff
16:40 mupuf: for encoding, no
16:40 karolherbst: okay
16:40 karolherbst: allthough even my gpu can do this fancy nvidia recording thing on windows
16:40 mupuf: let's wait for nvidia to add support for it on the GM20B :D
16:41 linkmauve1: mupuf, I remember reading stuff about how the ultrafast preset of ffmpeg was both higher quality and faster than some GPU encoding.
16:41 karolherbst: I bet there is a way to do that: front buffer => nvenc => h.264 stream
16:41 linkmauve1: I don’t remember which GPU though.
16:41 mupuf: well, one advantage is that it does not leave the gpu
16:41 linkmauve1: Yeah.
16:41 karolherbst: mupuf: yes
16:41 mupuf: that means less pcie bandwidth
16:41 karolherbst: mupuf: which is super critical for me :/
16:42 mupuf: hehe, see?
16:42 karolherbst: or more critical than I thought
16:42 karolherbst: +25% pef in talos through higher pcie speed :/
16:42 mupuf: and that also means you can keep your buffer tiled
16:42 karolherbst: just insane
16:42 mupuf: which probably helps!
16:42 mupuf: you need more vram :D
16:42 karolherbst: please?
16:42 karolherbst: if I need something, is more speed
16:42 karolherbst: not vram
16:42 karolherbst: I have 3GB
16:43 mupuf: if your pcie bw is important, it means you are bouncing buffers between the host and gpu
16:43 karolherbst: and only 4GHz mem clock
16:43 mupuf: or that the game/benchmark is stupid
16:43 karolherbst: game is stupid
16:43 karlmag:looks at computer with the most (v)ram in the house..
16:43 mupuf: see you though, really need to sleep
16:43 karolherbst: mupuf: + DRI_PRIME
16:43 karolherbst: ;)
16:43 karolherbst: okay
16:43 karolherbst: night
16:44 karolherbst: karlmag: what you got? 1GB or 2GB?
16:44 karolherbst: ohh wait
16:44 karolherbst: I can check that
16:44 karlmag: hehe..
16:44 karlmag: 2
16:44 karolherbst: I think
16:44 karolherbst: not sure
16:44 karolherbst: ohh nice
16:44 karolherbst: 2
16:44 karolherbst: that's the better variant then
16:44 karlmag: the amd card has 8GB though...
16:44 karlmag: and computer has 64
16:44 karolherbst: yeah well
16:45 karolherbst: karlmag: did you check how much of it was used?
16:45 karolherbst: with the blob I barly tough 1GB here
16:45 karolherbst: *touch
16:45 karlmag: uhm.. no?
16:45 karolherbst: see
16:45 karolherbst: :p
16:45 karolherbst: big numbers, but no use
16:45 karolherbst: more sys ram is super usefull though
16:45 karolherbst: if the system ran long enough, you could actually remove the SATA disc
16:45 karolherbst: without the system going ops
16:46 karlmag: cstate is it?
16:46 karolherbst: mhhh
16:47 karolherbst: same as on a cpu
16:47 karolherbst: ohhw ait
16:47 karolherbst: no
16:47 karolherbst: cstates on the nvidia gpu are just clocks
16:48 karlmag: ah
16:48 karolherbst: I think cpus are more advnaces with their states
16:48 karlmag: so.. where to look?
16:48 karolherbst: cat cstate
16:48 karolherbst: :p
16:49 karlmag: current pstate: 0xffffffff
16:49 karlmag: available clockings: 324 - 324 MHz
16:49 karlmag: available cstates for current pstate:
16:49 karlmag: current core: 648000
16:49 karlmag: current memory: 324000
16:49 karlmag: so this?
16:49 karlmag: it's kind of sleeping.. monitor1 is blank, monitor2 has picture on it still..
16:49 karlmag: strange they don't go at the same time
16:50 karolherbst: ohh you need to be on a usefull pstate first
16:50 karolherbst: then you can list all available clocks for that one pstate
16:50 karlmag: just tell me what to do
16:51 karolherbst: I have to read your vbios first
16:52 karlmag: ah, ok.. not today then I guess
16:52 karlmag: well, technically, perhaps, but...
16:52 karlmag: :-P
16:52 imirkin: hakzsam: did you figure out what was going wrong before?
16:54 imirkin: mupuf: yeah, and it still doesn't work :(
16:56 karolherbst: karlmag: vbios seems to be sane, but the table for the voltages isn't corectly REed yet
16:56 karolherbst: so there are some cards with issues like that
16:57 karolherbst: it could be something completly different though
16:59 karlmag: karolherbst: right
17:33 karlmag: ah, yeah.. I should try that sleep thing I've heard so much about. :-P
17:35 karolherbst: again a kernel crash after removing nouveau
17:35 imirkin: skeggsb: looks like something with the unsynchronized bit that glamor uses
17:35 imirkin: skeggsb: if i remove that bit, all works for me
17:36 imirkin: skeggsb: http://hastebin.com/nafucahexu.diff -- let me know if this helps you
17:36 imirkin: if it does, i'm going to have a hard look at wtf unsynchronized _really_ means
17:37 karolherbst: https://gist.github.com/karolherbst/9fd6a589d981b3ab956c
17:45 skeggsb: imirkin: building mesa now...
17:46 imirkin: coz i'm pretty sure that what glamor is doing is fairly illegal
17:47 karolherbst: any ideas about my crash?
17:47 airlied: imirkin: you should ask anholt
17:48 imirkin: well i also didn't look too carefully
17:48 airlied: I can't remember is UNSYNCHRONIZED code for allocate a new buffer and keep going
17:48 airlied: instead of overwrite the current buffer which the gpu is possibly using
17:48 imirkin: that's definitely not what nouveau does
17:48 imirkin: unsync just gives you a map to the buffer and you can go at it however you like
17:48 skeggsb: airlied: isn't there some other flag for that?
17:48 skeggsb: DISCARD or something?
17:49 imirkin: yeah, there's a discard
17:49 imirkin: and if it's the size of the whole buffer we realloc the thing
17:51 airlied: oh unsync is trust me I know what I'm doing
17:51 imirkin: yeah, except apparently not ;)
17:52 airlied: though I think with WRITE and INVALIDATE_RANGE
17:52 airlied: you can return scratch memory and upload it async
17:53 imirkin: yeah.... perhaps we do
17:57 skeggsb: wtf.. selecting edit->preferences in gnome-terminal running in Xephyr makes it open preferences on my Xorg instance..
17:58 skeggsb: imirkin: running on Xorg+glamor, the terminal title bar is fine, but still missing glyphs in some dialog boxes etc
17:59 imirkin: skeggsb: hm ok
17:59 imirkin: skeggsb: is this with ARB_buffer_storage disabled or not?
17:59 airlied: skeggsb: wierd, gnome-terminal has some factory procewss
18:00 skeggsb: imirkin: ah, this is with ARB_buffer_storage enabled for the "real" session
18:00 imirkin: skeggsb: can you try disabling it?
18:00 skeggsb: airlied: also, when I kill Xephyr, all my gnome-terminals for my real session die too.. fun times
18:01 imirkin: moral of the story: if it starts with gnome-, don't use it
18:01 imirkin: never had that problem with aterm :)
18:01 skeggsb: ;)
18:01 skeggsb: i rather like gnome-terminal in general
18:01 airlied: skeggsb: maybe --disable-factory
18:01 skeggsb: airlied: where's a good place to override environment vars for gdm and gnome sessions spawned from it?
18:02 karolherbst: I used to use it even on my kde session, too
18:02 airlied: oh looks like that might be gone
18:02 skeggsb: actually, screw it, i'll ssh in and launch the session manually, that seems easier
18:03 airlied: skeggsb: https://wiki.gnome.org/Apps/Terminal/Debugging
18:07 imirkin: skeggsb: it's gnome, it'll outsmart you
18:08 skeggsb: imirkin: yeah, without buffer storage it seems to work just fine actually
18:08 skeggsb: (still running mesa with your patch)
18:08 imirkin: skeggsb: you think it uses rhyme and reason to operate, but that is not so
18:08 imirkin: skeggsb: ok, that's good to know
18:08 imirkin: sounds like there's a disagreement between anholt and myself re what these flags mean
18:08 imirkin: somehow i suspect that he's the one who's right
18:20 glennk: from memory unsynchronized mapping means the app has to avoid trampling buffer data in use by the gpu
18:20 glennk: typically either using fences, or waiting say n+2 frames and praying...
18:21 airlied: well I think the app can know it hasn't used this portion of the buffer for the gpu
18:25 glennk: uh yeah thats the point of the flag, the app manages all the synchronization, not the driver
18:26 glennk: that said, its obsoleted by buffer_storage and persistent coherent maps
18:26 imirkin: airlied: nouveau does keep track of how far a buffer is used
18:27 imirkin: airlied: but unsync means that all sync efforts should be ignored
18:27 imirkin: at least as far as i understood
18:27 imirkin: glennk: i'm guessing that the buffer_storage code has the same issues, which is why i said it should be disabled
18:28 glennk: probably easiest to just dig up what glamor is doing
18:30 imirkin: yea
18:30 imirkin: nvidia likes to keep a pretty deep draw pipeline, so i'm not surprised we're hitting issues other gpu's don't see
18:30 airlied: https://www.opengl.org/wiki/Buffer_Object_Streaming at the end
18:30 airlied: is what it wants I expect
18:30 airlied: Streaming optimizations
18:31 glennk: the blob driver hates glMapBufferRange since it breaks its threading
18:31 airlied: it's the write-combine me if you can option :)
18:34 glennk: well, looks like glamor misses the "permanent map" part of buffer_storage
18:35 glennk: eh, misread, empty if...
18:35 glennk: but the map buffer range path does have one strange thing going on
18:36 glennk: if its unsynchronized and you unmap it before the drawing is complete -> undefined behavior
18:36 glennk: if you then additionally map it again with GL_MAP_INVALIDATE_RANGE_BIT, your data may be eaten by a grue
18:39 EmperorDAZ_2: Is this line of any relevance? dmesg: "[26883.662329] nouveau 0000:03:00.0: Invalid ROM contents"
18:40 airlied: glennk: as long as you map a different range it's fine
18:40 imirkin: EmperorDAZ_2: not really
18:41 EmperorDAZ_2: and, according to "https://wiki.freedesktop.org/nouveau/DumpingVideoBios/", I seem to get 2 slightly different files, the /sys/bus/pci method gives me a different size rom compared to the /sys/kernel/debug
18:41 EmperorDAZ_2: expected behavior?
18:41 imirkin: yeah. you want the /sys/kernel/debug one.
18:42 EmperorDAZ_2: is there any explanation for the difference?
18:43 imirkin: yeah, they're totally different data
18:43 EmperorDAZ_2: what does each one mean? the webpage seems to imply they are the same thing
18:44 imirkin: the webpage is wrong
18:45 EmperorDAZ: where can I learn their difference other than asking here (irc)?
18:46 EmperorDAZ: the wiki.freedesktop.org/nouveau is the (active) page of this (nouveau) project right?
18:48 imirkin: nouveau.freedesktop.org -- should be largely the same thing though
18:49 karolherbst: there was a pledge :D
18:53 EmperorDAZ: I have this doubt here, not sure if it's nouveau issue
18:53 imirkin: EmperorDAZ: provide information on what's going wrong :)
18:53 EmperorDAZ: on my i5-5820K system, with GTX760 non-ref card, 4GB
18:53 EmperorDAZ: if I run lspci
18:54 EmperorDAZ: it hangs (the lspci)
18:54 EmperorDAZ: the process is unkillable
18:54 EmperorDAZ: googled around, since I am using archlinux, found an answer on its forums, stating that it was related to nouveau
18:54 EmperorDAZ: dmesg did show some messages regarding nouveau
18:55 karolherbst: that sounds, weird, EmperorDAZ do you have a link
18:55 imirkin: pastebin dmesg
18:56 EmperorDAZ: I ran it yesterday and havent rebooted yet but dmesg hasnt recorded anything new
18:56 EmperorDAZ: with --ctime?
18:56 EmperorDAZ: or doesnt matter?
18:57 karolherbst: it doesn't
18:57 EmperorDAZ: http://pastebin.com/3DpK298S
18:58 EmperorDAZ: I am not sure if it's related to nouveau so I prefered to investigate a bit and ask here first before raising any kind of bug ticket which would be a false alarm
18:59 EmperorDAZ: one extra info, I am not running X server
18:59 karolherbst: imirkin: wasn't here somebody some days ago with a similiar stack?
19:00 EmperorDAZ: the GPU is just there so I can boot the pc, it's being used as a headless machine for CPU distributed computing tasks
19:00 EmperorDAZ: can run tests
19:00 karolherbst: EmperorDAZ: this is a laptop, right?
19:00 EmperorDAZ: no
19:00 EmperorDAZ: its a desktop
19:00 karolherbst: weird
19:01 EmperorDAZ: Gigabyte GTX 760, 4GB edition, factory overclocked
19:01 EmperorDAZ: let me find link
19:01 karolherbst: no, it is okay
19:01 karolherbst: I was just wondering about the mxm line
19:01 EmperorDAZ: oh
19:01 EmperorDAZ: ok
19:01 EmperorDAZ: X99 system
19:02 EmperorDAZ: i7-5820K
19:02 EmperorDAZ: can give list of the build if required
19:13 EmperorDAZ: one thing, the HDD is cannibalized from a laptop
19:13 EmperorDAZ: I remembered that
19:13 EmperorDAZ: does it matter?
19:16 karolherbst: not really
19:16 karolherbst: there is some power managemant stuff going on, which should not happen :/
19:18 EmperorDAZ: is it the cause for the lspci "malfunction" ?
19:18 EmperorDAZ: or it turns out this call trace is a different unrelated issue
19:21 karolherbst: EmperorDAZ: mhhh the error shouldn't happen usually
19:21 karolherbst: but your card seems to work, so I don't get why lspci doesn't work
19:22 EmperorDAZ: the source who mentioned nouveau: "https://bbs.archlinux.org/viewtopic.php?id=183185"
19:22 karolherbst: EmperorDAZ: try to run lspci -s 03:00.0
19:23 EmperorDAZ: I'll reboot the machine
19:24 EmperorDAZ: still no result
19:24 karolherbst: so it hangs with " lspci -s 03:00.0" too?
19:24 EmperorDAZ: at the present moment yes
19:24 EmperorDAZ: no dmesg messages tho
19:25 EmperorDAZ: if my memory isnt failing, after the first "lspci" run, dmesg messages popped up to which I already pastebin'd them here
19:26 EmperorDAZ: any subsequent lspci run shows nothing more
19:26 EmperorDAZ: I'll see dmesg after boot
19:27 karolherbst: this error is just super weird :/
19:33 EmperorDAZ: rebooted
19:33 EmperorDAZ: dmesg is clean
19:33 EmperorDAZ: lspci hanged
19:34 EmperorDAZ: yep
19:34 EmperorDAZ: more error
19:34 EmperorDAZ: i need to close the ssh session because not even ctrl-c will close it
19:39 karolherbst: EmperorDAZ: is this issue there like always?
19:40 EmperorDAZ: http://pastebin.com/VWQnaaEw
19:40 EmperorDAZ: the issue for me is lspci / "lspci -s 03:00.0" hangs
19:41 EmperorDAZ: now, the reason for it is unknown to me
19:41 EmperorDAZ: new pastebin
19:41 EmperorDAZ: http://pastebin.com/VWQnaaEw
19:41 EmperorDAZ: this one mentions lspci at the bottom
19:41 karolherbst: I somehow think this is more a kernel issue
19:42 EmperorDAZ: lspci on my other machine works perfectly fine
19:42 EmperorDAZ: 2x maxwell GM200 system (the one I am typing from at this moment) has no issues
19:42 karolherbst: maybe a case of bad combinations of stuff
19:43 EmperorDAZ: kern ver of the machine with issues is 4.2.2
19:43 airlied: nouveau.runpm=0 might be worth a try
19:43 EmperorDAZ: I can try update to 4.2.3
19:43 EmperorDAZ: might be the issue here
19:44 karolherbst: airlied: I know, but there was somebody here with a similiar issue, and this didn't help
19:44 karolherbst: airlied: it already goes the path for runpm=0, so this is fine
19:44 EmperorDAZ: what was their kern ver?
19:44 karolherbst: airlied: https://github.com/imirkin/nouveau/blob/a41f62639b14bab1f306241445398f525f8e47b7/drm/nouveau/nouveau_drm.c#L717-L727
19:44 karolherbst: either it goes the first branch or the second one
19:44 karolherbst: there is no difference
19:45 karolherbst: EmperorDAZ: I don't know anymore
19:46 karolherbst: yay
19:46 karolherbst: found it
19:46 karolherbst: http://paste.pound-python.org/show/nXSIzWc9AbG6GqzURYCD/
19:46 karolherbst: ohh thats only dmesg before it :/
19:47 karolherbst: this one: https://bpaste.net/show/e81dd0aea7f2
19:47 karolherbst: its nearly the same
19:47 karolherbst: just with 3.16
19:48 karolherbst: pmoreau: you fixed some pcie issues, how did yours show?
19:49 EmperorDAZ: that dmesg is G92 chip
19:49 EmperorDAZ: this is GK104
19:50 EmperorDAZ: hmmm
19:50 EmperorDAZ: oh
19:50 EmperorDAZ: ssh reboot doesnt work
19:50 EmperorDAZ: has to be manual poweroff method
19:50 karolherbst: yeah, this is some kind of dirty issue :/
19:51 EmperorDAZ: the curse of the X99+GTX760+4.2.2kernel
19:55 karolherbst: EmperorDAZ: sorry that we can't really help you with this one, if you got the time and patience, you could try out different distributions
19:55 karolherbst: the nouveau codebase should be the same, but the kernel might be configured differently
19:55 karolherbst: if you find a kernel where it works, this could help
19:56 EmperorDAZ: I am fine with nouveau
19:56 EmperorDAZ: the issue is non critical
19:57 airlied: it's wierd it's definitely trying to run time suspend
19:57 karolherbst: EmperorDAZ: yeah, as long as you don't encounter any applications calling lspci :D
19:57 karolherbst: airlied: yes, and nouveau tells the kernel not to do it again
19:58 EmperorDAZ: my intention was to 'help' the nouveau project since I happened to stumble across a bug, the project would benefit from it
19:58 EmperorDAZ: raise ticket?
19:58 EmperorDAZ: 1 new thing
19:58 karolherbst: EmperorDAZ: well, you could create one, but I doubt that somebody will have the idea why this happens. Testing different kernel configurations might help
19:58 karolherbst: maybe its a stupid gcc bug
19:58 karolherbst: who knows
19:59 EmperorDAZ: I get the call trace
19:59 EmperorDAZ: without lspci
19:59 EmperorDAZ: wat
19:59 karolherbst: EmperorDAZ: yeah, this is normal
19:59 EmperorDAZ: rpm_suspend
19:59 karolherbst: airlied: maybe if vgaswitcheroo is disabled, it doesn't print this issue?
19:59 airlied: something like ur1.ca/o0z12 might help
19:59 airlied: though I still can't see how it happens
19:59 EmperorDAZ: it coincides when the monitor goes to sleep
20:00 airlied: yes so then the gpu powers down
20:00 airlied: if it could
20:00 EmperorDAZ: call trace about suspend --> normal
20:00 airlied: maybe boot with drm.debug=6 and see if it prints anything
20:00 EmperorDAZ: lspci hang --> different issue?
20:02 airlied: the lspci hang is due to it trying to resume the card
20:02 karolherbst: airlied: vga_switcheroo is builtin or usually a module?
20:02 airlied: karolherbst: built-in usually
20:02 karolherbst: :/
20:02 karolherbst: I really want to disable it and check if that helps
20:02 karolherbst: it should help
20:02 airlied: but since switcheroo doesn't get enabled it won't matter
20:03 airlied: since it requires two gpus
20:04 karolherbst: EmperorDAZ: cat /sys/kernel/debug/vgaswitcheroo
20:04 karolherbst: I want to be sure
20:04 karolherbst: EmperorDAZ: I meant cat /sys/kernel/debug/vgaswitcheroo/switch
20:05 karolherbst: airlied: idea: there is an intel hdmi chip
20:05 karolherbst: airlied: and vgaswitcheroo things: well let us disable this nvidia hdmi chip :)
20:05 karolherbst: "snd_hda_intel 0000:03:00.1: Handle VGA-switcheroo audio client"
20:05 airlied: that is the nvidia hdmi chip
20:05 EmperorDAZ: there is no vgaswitcheroo
20:05 airlied: or rather the gpu
20:06 karolherbst: okay, but who else would call that?
20:06 airlied: EmperorDAZ: did you ever use powertop
20:07 airlied: or have something installed to reduce battery usage
20:07 EmperorDAZ: no
20:07 airlied: I'm guessing userspace is enabling runtime pm for you
20:07 karolherbst: airlied: well I use powertop and laptop_mode_tools
20:08 airlied: karolherbst: depends if you do something bad with them
20:08 EmperorDAZ: the attempt of trying to wakeup screen from ssh with "echo -ne "\033[9;0]" >/dev/tty1" from https://raspberrypi.stackexchange.com/questions/10374/wake-console-screen-with-ssh
20:09 EmperorDAZ: also hangs
20:09 karolherbst: airlied: well, usually a lot :D
20:09 EmperorDAZ: it seems that anything that touches the GPU will permahang
20:10 airlied: EmperorDAZ: get powertop, and before it hangs go to the tunables column
20:10 airlied: and see if runtime pm is enabled for nouveau
20:13 EmperorDAZ: powertop says "Bad" for Runtime PM for nvidia
20:13 EmperorDAZ: it says bad for almost eberything
20:13 EmperorDAZ: everything*
20:13 EmperorDAZ: except for USB related stuff
20:22 karolherbst: ohh maybe I load nouveau with runpm enabled
20:22 karolherbst: could be fun
20:22 airlied: okay so that rules out that crazy idea
20:23 karolherbst: my computer will die :/
20:23 EmperorDAZ: >>I probably should learn more about this project and contribute to it
20:24 karolherbst: ohhh
20:24 karolherbst: wait
20:24 karolherbst: skeggsb: why does runpm work for me?
20:24 airlied: karolherbst: you have an optimus?
20:24 EmperorDAZ: >>Access to old semi discardable pcs (LGA775s) and a oscilloscope
20:24 karolherbst: airlied: I use a dirty hack written by him
20:24 airlied: EmperorDAZ: printks in nouveau_drm.c would be my next option
20:24 karolherbst: with a spoilter that runpm might not work
20:25 karolherbst: airlied: http://cgit.freedesktop.org/~darktama/nouveau/commit/?id=a1d7077da37dfe2c3f89d1445f5b78e63de5666c
20:25 EmperorDAZ: what is the (main repo)/(up to date) of nouveau? https://github.com/imirkin/nouveau ?
20:25 karolherbst: in the old commit was anotice
20:26 karolherbst: fun times, nvkm_volt returns 0.6V for powered off cards
20:27 airlied: karolherbst: that has nothing to do with runtime pm of itself
20:27 airlied: that just allows the card to work at all
20:27 karolherbst: I know, skeggsb just wrote somewher,e that runpm might not work
20:27 karolherbst: and I had issues with runpm even with that hack some time ago
20:28 airlied: well we fixed another runpm problem last week
20:28 airlied: with fbdev
20:28 airlied: EmperorDAZ: cgit.freedesktop.org/nouveau/linux-2.6
20:28 airlied: linux-4.3 branch
20:29 karolherbst: airlied: this is the kernel tree right?
20:29 airlied: yes
20:29 karolherbst: mhhh
20:30 karolherbst: okay, if the pwerf would be a bit better I could really ditch the blob now :D
20:31 diegoviola: is reclocking ever going to be possible
20:31 karolherbst: diegoviola: it completly works for me card
20:31 diegoviola: which card
20:31 karolherbst: gtx 770m
20:32 karolherbst: kepler gddr5
20:32 diegoviola: dynamic reclocking you mean?
20:32 diegoviola: same as blob
20:33 diegoviola: I haven't used nouveau in ages
20:33 karolherbst: well I have a userspace daemon which does dynamic reclocking for me
20:34 karolherbst: don't know when the kernel implementation will be ready
20:34 karolherbst: mayb 4.5 or 4.6 or 5.0
20:34 karolherbst: who knows
20:34 EmperorDAZ: airlied: what do you mean by printks
20:35 karolherbst: diegoviola: tesla and kepler reclocking works quite well now
20:35 karolherbst: diegoviola: and I will implement some dynamic reclocking stuff for gt215 chips and newer
20:35 diegoviola: wow
20:37 diegoviola: impressive
20:39 karolherbst: EmperorDAZ: do you know how to compiler your own kernel?
20:39 EmperorDAZ: given time and a internet connection I will know how to
20:40 EmperorDAZ: I dont know yet
20:40 EmperorDAZ: I can learn it up, I have a good amount of free time
20:41 karolherbst: I would say either try to install LFS or gentoo/Linux is the best/hard way to lern it :D
20:41 karolherbst: like you never done it before, and then you actually have to get it right, because otherwise your system won't boot :p
20:42 EmperorDAZ: does VM count?
20:42 karolherbst: yes
20:42 karolherbst: this isn't a bad idea indeed
20:42 karolherbst: EmperorDAZ: https://wiki.gentoo.org/wiki/Handbook:Main_Page
20:42 EmperorDAZ: else I will have to find some scrap/useless HDD and strap one of my unused LGA775 system
20:42 karolherbst: LFS is a little bit too much
20:43 karolherbst: EmperorDAZ: but compiling kernel is much easier then installing gentoo
20:43 karolherbst: gentoo is just a fun way to bootstrap your entire system yourself
20:44 karolherbst: and you learn a lot about unix and stuff
20:44 karolherbst: but for the sake of nouveau stuff testing out
20:44 EmperorDAZ: I recently bought a PCIe RS232 card so I think I wont need to plug-unplug my keyboard if I am to use a real system for this
20:44 karolherbst: :D
20:44 karolherbst: EmperorDAZ: you can also use this tree: http://cgit.freedesktop.org/~darktama/nouveau/
20:44 karolherbst: there you can compile just nouveau
20:44 EmperorDAZ: thanks for the tips
20:44 karolherbst: and install it into your system
20:45 karolherbst: then you don't need to touch the kernel
20:45 EmperorDAZ: GCC right?
20:45 karolherbst: yeah
20:45 karolherbst: and a bunch of other stuff
22:05 imirkin: upon a more careful look at what's going on, what glamor is doing seems perfectly ok
22:14 imirkin: skeggsb: is there any difference between the gart and vram dma handles for tesla (with nouveau)?
22:19 skeggsb: nope, they both map over the entire channel address space
22:19 skeggsb: we still have two for legacy reasons, there's no good reason to do so anymore
22:19 imirkin: sure
22:19 imirkin: was just checking
22:38 vducuy: hi all, how can i change bpp to 16 when booting? default is 32 for 3.18.20 kernel. thanks
22:39 imirkin: you mean for fbcon? or for X?
22:39 vducuy: fbcon
22:40 vducuy: i boot from u-boot. do we have any parameter to set when boot?
22:40 imirkin: looks like you could do something like video=1024x768-16
22:41 vducuy: thanks. let me try
22:41 imirkin: i haven't personally tried that
22:41 imirkin: just reading the docs
22:55 vducuy: tried both video=1680x1050-16 and video=1680x1050,bpp=16. does not work
22:56 imirkin: what if you specify your connector as well?
22:56 imirkin: e.g. video=DVI-I-1:1680x1050-16
22:58 vducuy: i used VGA analog port. how to specify?
22:59 imirkin: vducuy: it's whatever it comes up as... 'git grep /sys/class/drm/card*-*/status' should help you figure it out
22:59 imirkin: er
22:59 imirkin: make that
22:59 imirkin: 'grep . /sys/class/drm/card*-*/status'
23:01 vducuy: sys/class/drm/card0-DVI-I-1/status:disconnected /sys/class/drm/card0-TV-1/status:disconnected /sys/class/drm/card0-VGA-1/status:connected
23:04 vducuy: it WORK
23:04 vducuy: thank imirkin
23:04 imirkin: with VGA-1:1680x1050-16?
23:04 imirkin: btw, curious why you want this...
23:05 imirkin: using a TNT or something?
23:05 vducuy: yeap. video=VGA-1:1680x1050-16
23:05 vducuy: no. i run android
23:05 vducuy: and android not support bpp=32
23:07 imirkin: weird... i won't even bother wondering why not
23:07 imirkin: skeggsb: this seems like a more plausible patch: http://hastebin.com/tutazepagu.coffee
23:08 vducuy: it's because i used built-in android EGL engine. not openGL yet
23:09 imirkin: EGL isn't directly connected to opengl... fyi there has been a bunch of effort in getting mesa to play nice with android
23:13 vducuy: next steps i have to make mesa work with android. still learning how to do
23:16 skeggsb: imirkin: building...
23:16 imirkin: skeggsb: well that'll only help for nv50
23:16 imirkin: skeggsb: i need to do something similar for nvc0... i can't repro the issue on my GF108 though
23:17 imirkin: ultimately it's still a hack though. i don't see what the serialize would do there
23:19 skeggsb: oh, i didn't notice the nv50-ness
23:19 imirkin: i had a trace with oddness on nv50 though... need to find it
23:19 imirkin: this might fix that issue as wlel
23:23 skeggsb: what other fermi+ boards do you have btw? interested to know if it happens on everything *except* nvc1
23:24 skeggsb: err, gf108
23:24 skeggsb:still needs to get used to that
23:24 imirkin: i have a GF108 here and GK208 at the office, i can check that out tomorrow
23:24 imirkin: oh, and a GK20A sitting on a shelf
23:25 imirkin: brb
23:27 imirkin: nooope. no help there.
23:31 imirkin: skeggsb: this is an equivalent version for fermi+ : http://hastebin.com/qebebuwamo.pl
23:31 imirkin: [ok, not completely equivalent... but a little equivalent ;) ]
23:32 skeggsb: somewhat smaller :)
23:35 hakzsam: imirkin, the only stuff I fixed which could be related to is an unaligned memory access when reading couters using that compute kernel. ButI I think this has been fixed as a side effect and probably by you. Anyway, I'll enable compute support by default on Fermi and if someone use those MP counters and complain about 3D sutff, I'll fix it :)
23:35 imirkin: hakzsam: iirc things were going wrong even without using MP counters before, no?
23:36 hakzsam: I don't think because compute support is currently only used by MP counters
23:38 hakzsam: I mean, it's not possible to test that compute support without using them
23:38 imirkin: i thought before compute would get initialized by default
23:38 imirkin: on any nvc0 screen
23:38 imirkin: and that was breaking things
23:40 hakzsam: yes, it is initialized by default but that weird 3D effects only happened when lauching a compute kernel
23:40 skeggsb: i suspect some of the state might alias?
23:41 imirkin: seems likely
23:41 hakzsam: no idea
23:41 skeggsb: the class interface is only a wrapper around the "real" state, so it's not inconceivable that the compute class tramples some of the same state that we expect to be persistant when using fermi/kepler/maxwell classes
23:42 imirkin: skeggsb: well iirc we're missing something in ctxsw for GK110+ for compute right?
23:42 skeggsb: not that i know of
23:42 hakzsam: skeggsb, okay, makes sense
23:42 skeggsb: simple test: invalidate all 3d state after using compute and see
23:43 imirkin: there's a bit more to it
23:43 imirkin: there's nvc0->state which keeps track of some things
23:45 imirkin: although those things are unlikely to alias to the compute stuff
23:45 skeggsb: imirkin: shockingly enough, that patch seems to actually work
23:45 imirkin: skeggsb: that's quite sad :(
23:46 mupuf: skeggsb: hey, did you hear about the context switching bug on the gf100/110? I tried having a look at it and I really looked like a monkey with a stick
23:46 skeggsb: there was another type of corruption i was seeing that was harder to reproduce, but i suspected was related.. i'll see if that's gone too, but it'll take some time
23:46 mupuf: basically, some of the counters are not context switched
23:46 hakzsam: imirkin, I'll be glad to fix the problem if someone complain when compute support is enabled by default :)
23:46 hakzsam: mupuf, he knows
23:46 hakzsam: I sent him an email yesterday night
23:47 skeggsb: mupuf: hakzsam emailed me about it earlier, i believe nvidia separate the pm context from the rest and make it optional
23:47 skeggsb: we don't implement it at all
23:47 mupuf: that's fun that it works at all then
23:47 skeggsb: it's not surprising it works, we still set the default values, but don't context switch them
23:47 skeggsb: our ucode is somewhat... simpler.. than nvidia's
23:47 mupuf: is it a different address space you need to copy? I did not see a list of registers, it looked like we just dumped everything
23:48 mupuf: no, I mean, many registers related to the MP are context-switched
23:48 mupuf: we made sure of that
23:48 mupuf: some counters are not context switched though
23:49 skeggsb: yes, nvidia split it out for some (presumably good) reason, so it's only context switched for clients that use it
23:49 mupuf: and it apparently works on other fermis, so I guess they decided not to make it optional anymore
23:49 mupuf: ack
23:49 mupuf: well, that can make sense, why store state that is unecessary?
23:49 mupuf: it takes up memory bandwidth
23:49 hakzsam: and that only happens on some boards especially when they have more GPCs/TPCs than others
23:50 mupuf: but the hw already knows about the usage of the counters, so I wonder why they decided to involve the kernel in this :s
23:50 skeggsb: the hw doesn't decide what's context switched, that's what the ucode does
23:50 mupuf: ack, but the hw could keep track of it, that's what I meant
23:52 mupuf: I guess we could check that the SEL register is not 0 and only context switch if this is true
23:52 hakzsam: mupuf, as skeggsb told me, I'll have a look at the android gk20a code to get some inspiration about that
23:52 hakzsam: mupuf, nope, SEL can be 0 (ie. active_cycles)
23:52 mupuf: ok, please fw me the email
23:53 hakzsam: okay
23:53 hakzsam: done
23:53 mupuf: skeggsb: thanks, have to go now!
23:53 mupuf: cheers
23:53 hakzsam: have to go too, see you
23:53 mupuf: I see
23:54 skeggsb: imirkin: i'm guessing that serialise is undesirable in general?
23:54 hakzsam: mupuf, well, I think we can decide to context switch if the MP mux is enabled or not
23:54 imirkin: skeggsb: i'm guessing as well