07:21 pmoreau: imirkin: I can confirm that my GK107 did not like the OmegaEngine and caused the screen to freeze. I did it just before sleeping and haven’t dug up the logs yet.
07:24 pmoreau: I would probably have to try without the Intel chip, but I had some `asynchronous wait on fence i915:[global]:87f4 timed out; asynchronous wait on fence nouveau:omega[19660]:fdfffbcc timed out` messages.
07:53 pmoreau: It’s about the GV100, but there are some nice details about cores and sub-cores, especially their respective clocks: https://www.servethehome.com/nvidia-v100-volta-update-hot-chips-2017/
08:13 mupuf: oh, so they will go for HBM2 again
08:13 mupuf: close to 1 TB/s of bandwidth :o
08:16 karolherbst: wuhu
08:37 karolherbst: mupuf: do you think you may find time to review my lthermal throttling series?
08:50 karolherbst: pmoreau: interesting, but why? Maybe because they doubled the scheduler?
08:53 pmoreau: There are still 4 sub-cores per SM, so no. I would guess that the changes in Volta related to threading (each lane has its own $PC, more synchronisations possibilites) would have made dual-issueing way more complicated, without providing too many benefits.
08:58 mupuf: karolherbst: wait, I did not review it already?
08:59 mupuf: I will set aside some time for that
09:05 karolherbst: mupuf: nice thanks! Well you reviewed the first 10 patches because they were from an earlier series, but patches 11-13 are the new one regarding the thermal policy table and so on
09:05 karolherbst: well and patch 9 also misses your reviewed by
09:06 karolherbst: and 7 as well, but I kind of think you gave me a r-by for that? not quite sure anymore
09:06 pmoreau: karolherbst: Sorry, I completely stopped while reviewing those patches. I’ll try to finish that asap, but it might have to wait until Sunday, once I’m back home.
09:07 karolherbst: pmoreau: yeah, no worries :)
09:07 karolherbst: as long as I don't get bored doing other stuff, it's fine
09:08 pmoreau: :-p
10:56 karolherbst: meh, stuff breaks with 17.1.7 :(
11:58 RSpliet: pmoreau: scandalous...
11:59 RSpliet: there still is some sort of dual issue, just hidden better
12:05 RSpliet: the discord between the Int and FP32 units processing one warp insn every 2 cycles (provided warps are still 32 threads) and the MDU dispatching 1 insn every cycle means that if you properly interleave int and fp32 instructions, you get it to process two instructions in parallel for the same warp.
12:08 RSpliet: However, they're issued one cycle apart, which might make it easier on the register file design and removes the second instruction decoder.
12:28 pmoreau: RSpliet: Agreed
17:59 Shinryuu: it seems I need some help because I need to overclock my card and this is the issue I have, http://ix.io/zmI (just thinking am I missing something..) my GPU card is GTX 570 DirectCU II and I'm on Arch running on a 4.12.8 kernel
17:59 imirkin_: Shinryuu: reclocking on GFxxx is presently unsupported, sorry!
18:00 Shinryuu: imirkin_: oh!
18:00 imirkin_: [ftr, we call this "reclocking", not "overclocking"]
18:00 Shinryuu: well, reclocking makes more sense I guess
18:00 Shinryuu: because you're switching modes
18:00 imirkin_: we're not going out of spec or anything - those levels are present in the vbios.
18:01 Shinryuu: indeed
18:01 imirkin_: that super-low setting by default has gotta hurt =/
18:02 imirkin_: most of the lower-end fermis default to a middle level
18:02 Shinryuu: yeah, I wanted to fiddle with mpv and noticed the stuttering everywhere so I guessed I have an extremely low setting
18:02 imirkin_: but the high-end ones default to the low clock
18:02 imirkin_: might i recommend mplayer?
18:03 imirkin_: but yeah, with those clocks, might not be fast enough
18:03 Shinryuu: heh, yeah
18:03 imirkin_: note that h264 decoding isn't perfect, although that imperfection tends to be in the raw decoding
18:04 imirkin_: happens with super-high-bandwidth scenes, i think. not sure.
18:04 imirkin_: (like slow camera panning, that sort of thing)
18:05 Shinryuu: well, I wish this project luck because this seems to be sane vs. binary blop
18:05 imirkin_: patches welcome ;)
18:05 Shinryuu: ;)
18:06 imirkin_: we're beyond low on developer bandwidth...
18:06 imirkin_: above zero though, so ... epsilon?
18:06 Shinryuu: too bad I'm out-of-question in that regard
18:07 Shinryuu: I'm more like a copy cat and hobbyist
18:07 imirkin_: hence the name of your box?
18:07 Shinryuu: might be :D
18:08 imirkin_: it's a little unfortunate, because the 3d driver actually works *reasonably* well on fermi, but with such low clocks it's barely useable
18:09 Shinryuu: that's very true
18:09 imirkin_: i suspect my GF108 is faster than your GF110
18:11 Shinryuu: I can only imagine
18:12 imirkin_: (GF108 = the shit gpu in the series... GT 610, that sort of thing)
18:12 Shinryuu: sounds like they're GPUs designed for "home media center" usage or something
18:16 imirkin_: something like that
19:37 karolherbst: ohhh, I have a tesla GPU, right
20:11 Shinryuu: guess I'll have to pick up a different GPU
20:12 Shinryuu: nouveau forever
20:16 imirkin_: Shinryuu: kepler tends to be fairly well supported and featureful
20:16 Shinryuu: imirkin_: thanks for the info
20:17 karolherbst: I still plan to finish the dynamic reclocking thing this year though
20:18 Shinryuu: can't unsee the 'herbst', reminds me a bit about herbstluftwm I'm on
20:20 karolherbst: imirkin_: I will run a full piglit run on my tesla for 17.1.6 and 17.1.7, maybe I catch something there
20:21 imirkin_: well hopefully that guy responds too
20:21 karolherbst: yeah
20:22 karolherbst: anyway, with a second X server I wasn't able to reproduce it on my kepler
20:22 imirkin_: do you know what he was doing?
20:22 imirkin_: i have a G92 plugged in at home, i can try stuff...
20:24 karolherbst: webcam stuff with cheese and guvcview
20:27 Ox539: Hello, I’m using coreboot without optionroms, I have a GTX 780 and an Asus KGPE-D16 motherboard. I have a problem, I can’t see SeaBios with my videocard and I can’t boot parabola, I don’t see GRUB, I just can see a black screen.
20:29 imirkin_: is there some reason why you expect something different?
20:30 imirkin_: if you want video before an OS loads, the bios (or a delegate thereof) needs to know how to operate the video card
20:30 imirkin_: normally that delegate is the option rom
20:30 imirkin_: if you don't run option roms, then no video for you
20:31 karolherbst: I guess this is also required for those fw fbs, because they can't init the GPU?
20:31 imirkin_: "fw fbs"? like efi? that's bios + option rom work...
20:31 karolherbst: yeah
20:31 imirkin_: efi = bios
20:31 karolherbst: I was like 99% sure, just asked to be 100% sure
20:31 imirkin_: ;)
20:31 karolherbst: you never know with hardware
20:32 imirkin_: back in the bad old days, hw used to implement things like VGA
20:32 imirkin_: but now it's all emulated
20:32 karolherbst: yeah
20:32 imirkin_: (and by "bad old days" i mean 1995)
20:32 karolherbst: my first computer didn't had any kind of "GPU" anyway, or at least I think so
20:32 karolherbst: maybe a blitter
20:33 Ox539: Okay so no bios but why I can’t see Parabola booting ?
20:33 karolherbst: imirkin_: yeah, a blitter it had
20:33 imirkin_: no bios = why you can't see. dunno what parabola is, but no amount of anything will get you video until a proper driver is loaded
20:33 karolherbst: "Hardware-support for horizontal and vertical fine scrolling and split screen (using the Shifter video chip)" good times
20:34 imirkin_: karolherbst: CL54xx?
20:34 karolherbst: atari st 1040
20:34 imirkin_: oh heh
20:34 karolherbst: I think even a STE
20:34 karolherbst: not _quite_ sure
20:35 karolherbst: but I think so
20:35 karolherbst: Ox539: maybe no video driver installed or module fails to load or whatever other reason
20:35 karolherbst: Ox539: you could try to ssh into the machine
20:35 karolherbst: hard to guess if we know nothing
20:36 imirkin_: Ox539: once linux loads, you should get video (when nouveau loads). but there could be some kind of issue.
20:36 karolherbst: maybe somebody was funny and set nomodeset=1 for nouveau? there are still guys like that around
20:36 imirkin_: ah yeah, definitely could be.
20:37 karolherbst: Ox539: dmesg output would help
20:39 karolherbst: imirkin_: okay, for that texel_fetch thing, nouveau always uses texfetch with lzero
20:39 imirkin_: NV50_PROG_OPTIMIZE=0
20:39 karolherbst: so I guess this would need to be llod with 1 as the layer argument
20:39 imirkin_: perhaps my opt goes south
20:40 karolherbst: I am sure none of those tests fail due to optimize
20:40 karolherbst: I already test this
20:40 karolherbst: yeah, lzero with optimize=0
20:41 karolherbst: the tgsi: https://gist.github.com/karolherbst/2df61c7896465499980ce89aa4711cda
20:41 imirkin_: and NV50_PROG_DEBUG=255 output?
20:42 imirkin_: i wonder if it's pulling from TEMP[2].z or something by accident.
20:43 karolherbst: uhm...
20:43 imirkin_: just put that tgsi through nouveau_compiler
20:43 karolherbst: pre SSA shader: 14: texfetch 2D $r8 $s0 f32 { %r39 %r40 %r41 %r42 } %r35 %r36 %r38 (0) where %r38 is 0x2
20:44 karolherbst: pre SSA opts I mena
20:44 karolherbst: *mean
20:44 imirkin_: ok, so at least that works.
20:44 karolherbst: the heck
20:44 karolherbst: after SSA it is gone
20:45 karolherbst: 13: mov f32 %r38 %r37 (0)
20:45 imirkin_: coz of the lzero
20:45 imirkin_: which makes sense.
20:45 karolherbst: 12: mov u32 %r37 0x00000002 (0)
20:45 imirkin_: maybe paste the whole thing?
20:45 karolherbst: mhhh
20:45 karolherbst: yeah
20:45 imirkin_: if it thinks that the value is 0
20:45 imirkin_: it'll remove the lod arg
20:46 karolherbst: https://gist.github.com/karolherbst/bc8af33b14cc99ec8e00a80c4c79930c
20:47 imirkin_: that's with opts disabled too right?
20:47 karolherbst: yes
20:47 imirkin_: https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp#n117
20:47 imirkin_: well, something in there fucks it up
20:47 imirkin_: dunno what.
20:48 karolherbst: debugging time
20:48 imirkin_: i suspect it's coz it thinks the thing is a float
20:48 imirkin_: and so isInteger(0) returns true
20:48 imirkin_: since a 0x0000002 float would be == 0
20:48 imirkin_: should probably change it to lod.reg.data.u32 != 0
20:48 karolherbst: yeah, most likely
20:48 karolherbst: levelZero is false at least
20:49 karolherbst: lod.isInteger(0) is false
20:50 karolherbst: ohh wait
20:51 karolherbst: 2.80259693e-45 == 0
20:51 karolherbst: returns true
20:51 imirkin_: i.e. it's the thing i said.
20:51 karolherbst: yes
20:51 imirkin_: all the isInteger stuff needs auditing.
20:51 karolherbst: I just didn't let getImmediate run, that's why isInteger returned false
20:51 imirkin_: not just here.
20:51 imirkin_: it's only meant to be used with float args
20:52 karolherbst: mhh
20:52 karolherbst: mov u32 %r37 0x00000002; mov f32 %r38 %r37
20:52 karolherbst: I guess the second should be a cvt then
20:52 imirkin_: nope
20:52 imirkin_: the code is fine.
20:52 imirkin_: mov's are typeless.
20:52 karolherbst: okay, I see
20:52 imirkin_: it's the consuming insturction which determines how the bits are interpreted
20:53 karolherbst: okay, and texfetch expects the lod to be a float?
20:53 imirkin_: no, an int
20:53 karolherbst: okay.... I see it now
20:53 imirkin_: :)
20:53 karolherbst: crap
20:53 imirkin_: so like i said, all the isInteger stuff needs auditing
20:53 karolherbst: yes
20:53 imirkin_: i don't think there's that much of it
20:53 imirkin_: and i suspect it's mostly correct
20:54 karolherbst: except for small integers
20:54 karolherbst: mhhhhhh
20:54 karolherbst: mhhhhhh
20:54 imirkin_: no
20:54 karolherbst: the value is of type float
20:54 imirkin_: has nothign to do with small integers
20:54 imirkin_: isInteger() should only be called if the immediate value is to be consumed as a float by the instruction in question
20:54 imirkin_: which is not the case here.
20:55 imirkin_: if you like, file a bug and i'll deal with it properly tonight
20:55 karolherbst: why as a float? I mean if the value would be of type U32 or something, it would be fine
20:55 imirkin_: mov's and immediates are typeless.
20:55 imirkin_: so you can't tell what type it truly is.
20:55 karolherbst: yeah sure, but texfetch expects an int
20:55 imirkin_: exactly
20:55 karolherbst: this we already know
20:56 imirkin_: so isInteger should only be used in the context of the value being consumed as float.
20:56 imirkin_: or perhaps another solution. dunno. definitely not what we have now.
20:56 imirkin_: i'd have to RTFS
20:56 imirkin_: which i can't do right now
20:56 karolherbst: okay, I'll make a bug then
20:57 karolherbst: I could imagine that other lod related thing is broken by this as well
20:57 Lyude: Just wanted to make sure you guys are aware, nouveau seems to be broken on GK107GLM (kepler quadro) on this W530, hits a NULL pointer deref when trying to resume the card 200~https://paste.fedoraproject.org/paste/eezIGtycBgO9gQL~oqJG3g
20:58 imirkin_: that sure is a bit unfortunate...
20:58 imirkin_: file a bug and ping your coworker ben? :)
20:58 karolherbst: Lyude: always or just bad luck?
20:58 Lyude: karolherbst: always
20:58 imirkin_:blames DP
20:58 Lyude: this is nouveau-next btw
20:59 Lyude: or whatever you guys call the most up to date nouveau repo
20:59 karolherbst: Lyude: git bisect if you like :p
20:59 imirkin_: Lyude: which one is the most up-to-date one?
20:59 Lyude: imirkin_: the one from skeggsb's github repo, I believe it's the one airlied pulls from unless i'm mistaken
20:59 Lyude:gets url
20:59 imirkin_: the linux one or the nouveau one?
21:00 Lyude: linux one
21:00 Lyude: Fetch URL: https://github.com/skeggsb/linux.git
21:00 imirkin_: (they're largely identical at this particular second, but they usually are not - ben doesn't queue up the work on the linux repo until he's ready to send it to dave, so it gets no -next time)
21:04 karolherbst: imirkin_: okay, with the lod thing "fixed" the test passes
21:04 imirkin_: cool
21:04 imirkin_: make sure to file that bug.
21:04 karolherbst: yeah
21:04 imirkin_: (and you too, Lyude)
21:05 Lyude: Under DRI? I realized I've never actually filed a nouveau bug before since usually I just have the time to fix them myself
21:05 Lyude: don't see any component for nouveau
21:05 imirkin_: xorg -> Driver/nouveau
21:05 Lyude: cool
21:05 imirkin_: [historical]
21:06 karolherbst: imirkin_: I am sure the solution is to interpret such immediates as int, because getImmediate defaults to whatever the mov is set to
21:06 imirkin_: of course it is.
21:06 imirkin_: but what also needs to be done is audit all other instances of isInteger() to check them for similar bugs.
21:06 karolherbst: okay, if you want to do this, go ahead :)
21:06 imirkin_: i wonder if instead it shouldn't look at the op's ->sType
21:07 imirkin_: perhaps it doesn't have access to that?
21:07 karolherbst: it doesn't
21:07 karolherbst: src->insn->sType is used at least
21:07 karolherbst: ohh wait
21:07 karolherbst: it's a ValueRef
21:07 imirkin_: right.
21:07 imirkin_: should haev it.
21:07 karolherbst: so it knows it's def, right?
21:08 karolherbst: "const ValueRef *src = this;" ;) somebody didn't like OOP code
21:09 karolherbst: okay, a ValueRef doesn't know it's use directly
21:09 karolherbst: imirkin_: painful part: immediate used as an int _and_ as a float
21:09 karolherbst: for silly reasons
21:09 Ox539: I have the dmesg log, I will give you a link.
21:09 karolherbst: but might be done somewhere
21:09 imirkin_: karolherbst: yeah...
21:10 karolherbst: so isInteger needs to somehow check what type we except indeed
21:10 karolherbst: maybe we should simply force this by adding a second argument
21:10 imirkin_: or just not call it at all when it's an integer :)
21:11 imirkin_: however i think it's convenient for some peephole stuff
21:11 karolherbst: or use "isFloat" if we need it as a float ;)
21:11 imirkin_: to have a single call work for multiple types
21:11 karolherbst: but then we have silly type checks everywhere
21:11 imirkin_: so i think just the inference needs a bit of fixing.
21:11 karolherbst: and I think isInteger(0, insn->sType) is good enough or so
21:11 imirkin_: it should know its insn
21:12 imirkin_: anyways, either propose a patch and i can review, or file a bug and i'll fix it.
21:12 CMEPTb: hi. is ther any way to get back pstate=1 functionality back? i have a gtx770 just noticed that it now doesn't work. how about fan control? any luck there?
21:12 imirkin_: CMEPTb: it's there by default now.
21:12 karolherbst: and in debugfs
21:12 imirkin_: CMEPTb: it's now in /sys/kernel/debug/dri/0/pstate
21:13 karolherbst: imirkin_: I will create the bug anyway, maybe I come up with something today, or not
21:13 imirkin_: kk
21:13 imirkin_: CMEPTb: make sure you're using kernel 4.10+ if you want reliable reclocking on that board
21:13 Ox539: The dmesg log : https://framabin.org/?3339abe322e510ad#9oFUJzAWB6bk5ZYIv83MxtIRgDSN+BlQkWeDAUShu+k=
21:14 imirkin_: Ox539: looks like it detects your screen ... but it gets set to fb1, primary goes to the AST board
21:14 imirkin_: Ox539: [ 8.283750] fbcon: astdrmfb (fb0) is primary device
21:15 CMEPTb: imirkin, yea i just put in 4.12.. how about fan control? it seems like it never gets above 300 rpm
21:15 CMEPTb: oh n/m hit 370!
21:15 imirkin_: CMEPTb: clock up to 0f and run unigine heaven.
21:15 imirkin_: make sure you get earmuffs :)
21:16 imirkin_: and clamp your box down, since otherwise it'll take off
21:16 CMEPTb: imirkin, how do i clock up to 0f? i've tried to do what some guide i found said but i don't have that /sys file
21:16 imirkin_: echo 0f > /sys/kernel/debug/dri/0/pstate
21:17 Ox539: Do you know how to change the priority ?
21:17 imirkin_: Ox539: not offhand... you could just not build the driver for AST
21:17 imirkin_: or perhaps there's some way to prevent it from loading
21:18 CMEPTb: is 0f safe? not sure what this card can do i never had to overclock it yet
21:18 imirkin_: CMEPTb: cat the file first to see the available levels
21:18 imirkin_: this is not "overclock", this is "reclock"
21:18 Ox539: But I can’t use the bios if I have not this driver… :/
21:19 imirkin_: Ox539: i'm talking about in linux
21:19 imirkin_: which comes well after the bios
21:19 karolherbst: CMEPTb: the clocks are already limited on newest kernels
21:19 karolherbst: CMEPTb: nouveau doesn't use the Turboboost clocks by default now, but you can enable them
21:19 imirkin_: perhaps airlied remembers how to convince it to use one fb or another as the primary
21:20 Ox539: Okay… x)
21:20 karolherbst: by removing every other fb, would be my way
21:20 imirkin_: yeah, but i mean if a bunch load, which gets used by default
21:20 imirkin_: might have to do with vgaarb
21:21 karolherbst: astdrmfb is some odd fb considered "good"
21:21 karolherbst: usually there is a switch from a firmware based fb to a "full" fb later on
21:21 imirkin_: AST = server "gpu", often for remote kvm things
21:21 karolherbst: and in this case this is astdrmfb
21:21 imirkin_: but it's a real hardware chip
21:21 karolherbst: if nouveau would load faster, it would be novueaudrmfb
21:21 imirkin_: it's not firmware fb
21:22 karolherbst: *nouveaufb
21:22 imirkin_: i dunno if that's true - look at the vgaarb lines
21:22 imirkin_: [ 1.845801] pci 0000:05:00.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none
21:22 imirkin_: [ 1.845807] pci 0000:08:01.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
21:22 karolherbst: mine is the same
21:22 imirkin_: so AST owns=io+mem while nouveau does not
21:22 psyk: yea um af made my screen turn into random colors
21:22 psyk: that was not safe
21:22 karolherbst: psyk: kernel version?
21:23 imirkin_: i think it defaults to the one that owns io+mem
21:23 karolherbst: CMEPTb: uname -a
21:23 CMEPTb: Linux vmdesk 4.12.5-gentoo #2 SMP PREEMPT Wed Aug 23 03:09:02 CDT 2017 x86_64 Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz GenuineIntel GNU/Linux
21:23 karolherbst: mhhh
21:23 imirkin_: CMEPTb: congratulations on being one of the few for whom that's the case. karolherbst will have lots of questions for you.
21:23 imirkin_: CMEPTb: try one of the lower levels
21:23 karolherbst: crap
21:23 karolherbst: I want such a GPU in my hands :O
21:24 CMEPTb: i can help
21:24 CMEPTb: i will be your hands :P
21:24 CMEPTb: what do?
21:24 karolherbst: not the same thing :(
21:24 CMEPTb: next best!
21:24 karolherbst: install nvidia
21:24 karolherbst: and do mmiotraces
21:24 imirkin_: but more immediately, try one of the lower levels and see if reclocking to those works
21:24 karolherbst: mhh
21:24 karolherbst: dumping vbios.rom also helps
21:24 karolherbst: 0a should always work
21:24 imirkin_: yeah, see if there's anything unexpected in there.
21:25 karolherbst: (tm)
21:25 CMEPTb: ok yes let me try to start from easy to hard
21:25 CMEPTb: sec
21:25 karolherbst: imirkin_: I know we don't handle super high clocks properly, but a 770 isn't such a card _normally_
21:25 karolherbst: ohh wait no
21:25 karolherbst: 770 has high clocks
21:25 karolherbst: crap
21:26 CMEPTb: 0a seems to work fine
21:26 karolherbst: CMEPTb: cat pstate
21:26 CMEPTb: already at 43c and still under 400 rpm
21:26 imirkin_: karolherbst: i thought you limited it with the nvboost stuff, safe by default and all
21:26 CMEPTb: # cat /sys/kernel/debug/dri/0/pstate
21:26 CMEPTb: 07: core 405 MHz memory 648 MHz
21:26 CMEPTb: 0a: core 405-1032 MHz memory 1620 MHz
21:26 CMEPTb: 0e: core 405-1280 MHz memory 7010 MHz
21:26 CMEPTb: 0f: core 405-1280 MHz memory 7010 MHz
21:26 CMEPTb: AC: core 405 MHz memory 648 MHz
21:26 karolherbst: duh....
21:26 karolherbst: that's not 0a
21:26 karolherbst: dmesg pls
21:27 CMEPTb: hwat's not 0a??
21:27 CMEPTb: ok sec copying dmesg
21:27 karolherbst: imirkin_: not if the base clock is still 1.1GHz or so
21:27 karolherbst: imirkin_: nvboost is safe from a thermal point of view
21:27 karolherbst: imirkin_: I mean the base clocks
21:27 imirkin_: yea
21:27 karolherbst: imirkin_: but funily, from a voltage point of view less stable
21:28 karolherbst: but I am sure we do the right thing voltage wise
21:29 karolherbst: except we assume a higher temperature, which _shouldn't_ cause any problems
21:29 karolherbst: but I am sure it does for <1% of all GPUs
21:29 CMEPTb: https://dpaste.de/2ErT
21:30 CMEPTb: 47c and 570rpm. when does it ramp up ?
21:31 CMEPTb: sec i'll brb. need to step away for a few
21:31 karolherbst: CMEPTb: a kepler GPU even runs nicely on 95°C
21:31 karolherbst: don't worry for everything below 60
21:31 CMEPTb: oh.. woah
21:31 karolherbst: Tesla was nice at 110 or something
21:31 karolherbst: even my passive cooled Tesla runs at 79°C at full idle... lowest clocks
21:31 CMEPTb: in win during bf4 it will hit 70 and i try to bring it down with msi's fan control thing. good with 65 then
21:32 karolherbst: those GPUs have emergency shutdowns if they get too hot
21:32 karolherbst: usually around 104°C
21:32 karolherbst: mhh
21:32 karolherbst: CMEPTb: try again with echo 0a into pstate
21:33 karolherbst: imirkin_: I think nouveau doesn't do everything right at clocks starting at 1040 or something. 1032 is pretty close to what I would expect being not that stable
21:34 karolherbst: I really should work on this
21:34 imirkin_: karolherbst: perhaps send a patch to limit it until you work it out?
21:34 karolherbst: imirkin_: actually a good idea
21:34 karolherbst: we have the infrastructure for this
21:34 imirkin_: my guess is that over time, nouveau becomes more popular with older hardware
21:34 imirkin_: and kepler's are becoming old
21:34 karolherbst: yeah
21:35 karolherbst: it's funny, cause there is a hard line for this
21:35 karolherbst: 1023 might be super stable, going to 1037 -> immediate crash
21:35 karolherbst: and you would expect the voltage to not matter for such simple steps
21:35 CMEPTb: karolherbst, again? but last time it messed up my screen.
21:35 karolherbst: CMEPTb: I thought 0f did
21:35 karolherbst: or 0a as well?
21:35 CMEPTb: oh right
21:36 CMEPTb: yea i'm at 0a now
21:36 karolherbst: mhhhhhh
21:36 CMEPTb: 0a works
21:36 CMEPTb: yea you right 0f did it
21:36 CMEPTb: should i try 0e?
21:36 imirkin_: CMEPTb: are you sure? your pstate output didn't show you were on 0a
21:36 imirkin_: the "AC" line indicates your current state
21:36 imirkin_: nah, 0e will be the same
21:37 CMEPTb: 07: core 405 MHz memory 648 MHz
21:37 CMEPTb: 0a: core 405-1032 MHz memory 1620 MHz AC DC *
21:37 CMEPTb: 0e: core 405-1280 MHz memory 7010 MHz
21:37 CMEPTb: 0f: core 405-1280 MHz memory 7010 MHz
21:37 CMEPTb: AC: core 1032 MHz memory 1620 MHz
21:37 CMEPTb: i copied the previous output
21:37 imirkin_: ah, that's right then.
21:37 CMEPTb: i have not updated firmware on this card ever. should it dump its bios for ya?
21:38 imirkin_: there's a vbios.rom in the same dir as the pstate file
21:38 CMEPTb: oh pff ok sec
21:39 CMEPTb: ok um how do i send it to ya
21:39 imirkin_: filebin.ca
21:41 CMEPTb: err
21:41 CMEPTb: says uploaded
21:41 CMEPTb: didn't give a url wtf
21:42 CMEPTb: and i don't use twitter
21:42 imirkin_: prolly current url
21:43 CMEPTb: https://filebin.ca/3XuehD02Eb0K/vbios.rom
21:43 CMEPTb: aaah worked the 2nd time
21:43 CMEPTb: so did my dmesg look alright?
21:43 imirkin_: yeah perfectly fine
21:44 imirkin_: we just assumed that reclock to 0a failed based on your earlier output
21:44 CMEPTb: what about all those dssp errors
21:44 imirkin_: and wanted to see why
21:44 CMEPTb: hm ok
21:44 CMEPTb: is it just me or is 0e and 0f identical?
21:45 imirkin_: they're probably different somehow
21:45 imirkin_: just not in the things we print
21:45 imirkin_: could be something to do with boosting
21:45 imirkin_: could be some temperature curve setting
21:45 imirkin_: could be pcie speed
21:46 imirkin_: could be some other clock domain
21:46 imirkin_: or one of 100 other things :)
21:46 CMEPTb: aaaaah gotcha ;)
21:46 CMEPTb: well let me know what to do next
21:46 CMEPTb: i'm way excited to help the nouveau team
21:46 karolherbst: usually 0e==0f
21:46 karolherbst: some cards have mem clock 6GHz on 0e and 7GHz on 0f
21:47 karolherbst: and maybe other things affect things _somehow_
21:47 karolherbst: that's nve4, right?
21:47 CMEPTb: that's craziness btw, 7ghz?! i'd need liquid nitrogen cooling for my cpu to do that
21:47 CMEPTb: sorry but i don't know what gtx770 translates too. it's gygabite if that helps
21:47 CMEPTb: i have a box...
21:48 CMEPTb: oh my cpu and ram is OC'd if that makes a diff. not much. just 4.4ghz and slight oc on ram
21:49 CMEPTb: 01:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 770] (rev a1) (prog-if 00 [VGA controller])
21:49 CMEPTb: Subsystem: Gigabyte Technology Co., Ltd GK104 [GeForce GTX 770]
21:49 CMEPTb: Flags: bus master, fast devsel, latency 0, IRQ 44
21:49 CMEPTb: Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
21:49 CMEPTb: Memory at e8000000 (64-bit, prefetchable) [size=128M]
21:49 CMEPTb: Memory at f0000000 (64-bit, prefetchable) [size=32M]
21:49 CMEPTb: I/O ports at e000 [size=128]
21:49 CMEPTb: Expansion ROM at 000c0000 [disabled] [size=128K]
21:49 CMEPTb: Capabilities: [60] Power Management version 3
21:49 CMEPTb: Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
21:50 CMEPTb: Capabilities: [78] Express Endpoint, MSI 00
21:50 CMEPTb: Capabilities: [b4] Vendor Specific Information: Len=14 <?>
21:50 CMEPTb: Capabilities: [100] Virtual Channel
21:50 CMEPTb: Capabilities: [128] Power Budgeting <?>
21:50 CMEPTb: Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
21:50 CMEPTb: Capabilities: [900] #19
21:50 CMEPTb: Kernel driver in use: nouveau
21:50 CMEPTb: Kernel modules: nouveau
21:50 CMEPTb: does that help?
21:50 karolherbst: no
21:51 CMEPTb: ok where would you look ?
21:51 imirkin_: CMEPTb: please use pastebin
21:51 karolherbst: okay
21:51 karolherbst: 1137MHz is on 0e/0f
21:51 karolherbst: so yeah
21:51 karolherbst: too high
21:52 imirkin_: CMEPTb: more than 3 lines on irc is considered flooding
21:52 CMEPTb: oh. my bad
21:52 karolherbst: maybe all of the GPUs with broken reclocking are due to the high clock issues
21:52 karolherbst: I hope this, but I am sure I saw something else as well
21:53 karolherbst: CMEPTb: yeah okay, I know what your issue is, should probably starting to work on this for real, sadly my time is limited too much right now
21:54 karolherbst: CMEPTb: nvidia shouls start to downclock your GPU at 80°C, so that's like the target temperature you should be aware of
21:55 karolherbst: *should
21:55 CMEPTb: ah ok so 70 was perfectly fine
21:55 karolherbst: yeah
21:55 CMEPTb: karolherbst, cool! so this is something with the nouveau driver and soon i'll be able to let 'er rip?
21:55 karolherbst: well
21:55 karolherbst: soon = at least 10 weeks
21:56 CMEPTb: better than never :)
21:56 karolherbst: yeah
21:56 karolherbst: 0a should be fine though
21:56 CMEPTb: thanks karolherbst i appreciate the work you do very much
21:56 karolherbst: and this should already give a decen speedup
21:56 karolherbst: thanks
21:56 imirkin_: well, getting up to 7ghz for ram should be a huge diff
21:56 karolherbst: yeah sure
21:56 karolherbst: but 0a is better than 07 ;)
21:56 imirkin_: is it easy to whip up a patch to limit the max clock?
21:57 CMEPTb: yup it's much better than before. and fan is doing it's thing too nice
21:57 karolherbst: imirkin_: no
21:57 karolherbst: oh
21:57 karolherbst: yes
21:57 karolherbst: imirkin_: https://github.com/karolherbst/nouveau/blob/master_4.12/drm/nouveau/nvkm/subdev/clk/base.c#L79
21:57 karolherbst: imirkin_: this function needs to return false above certein freqs
21:57 karolherbst: *certain
21:57 imirkin_: do you know what that freq is?
21:58 karolherbst: see the switch(clk->boost_mode) thing
21:58 karolherbst: imirkin_: I guess 1GHz is a safe line
21:58 karolherbst: might be 1050 MHz or 1040 or 1025
21:58 karolherbst: something around this
21:58 imirkin_: well, he was fine with 1032
21:58 karolherbst: maybe even 1100 and I remember badly
21:58 karolherbst: imirkin_: it might also depend on the actual hw
21:58 imirkin_: yeah
21:58 imirkin_: should make a param
21:59 karolherbst: after that line: https://github.com/karolherbst/nouveau/blob/master_4.12/drm/nouveau/nvkm/subdev/clk/base.c#L88
21:59 karolherbst: if (freq > 2000) return false;
21:59 karolherbst: or was it 2000000?
21:59 karolherbst: mhhh
21:59 imirkin_: it's in khz
21:59 karolherbst: yeah
21:59 karolherbst: then 1000 * 1000 * 2
21:59 imirkin_: why 2?
21:59 karolherbst: for silly reasons
21:59 karolherbst: vbios declares stuff *2
21:59 imirkin_: :)
21:59 imirkin_: right.
22:00 karolherbst: vpstate entry: -- entry 1, pstate = f, reqPower = 0 mW, reqSlowdownPower = 0 mW, clock0 = 2274 MHz
22:00 karolherbst: don't ask :D
22:00 imirkin_: the ddr thing?
22:00 karolherbst: even worse
22:00 karolherbst: maybe
22:00 karolherbst: no idea
22:00 karolherbst: it makes no sense
22:01 karolherbst: because then you have other tables not using *2
22:01 karolherbst: but using *2 for memory still
22:03 karolherbst: CMEPTb: so yeah, if you want you can modify your kernel
22:03 CMEPTb: yes!
22:03 CMEPTb: i just compiled this one last night
22:04 CMEPTb: since hardned-sources is going away :((
22:04 karolherbst: will update my kernel git and then give you a proper patch you can put into /etc/portage/patches or whereever
22:04 CMEPTb: sweet
22:04 CMEPTb: um gonna go read up on how to apply patches
22:06 karolherbst: put a file into /etc/portage/patches/$category/$package
22:06 CMEPTb: omg that's super easy yea
22:06 CMEPTb: cool.
22:06 CMEPTb: i'll be your lab rat :) will this make it to the official driver quicker then?
22:07 karolherbst: CMEPTb: https://gist.githubusercontent.com/karolherbst/1f37085d4d6c009a062e5ee7b7e5f88c/raw/b25ba7ffc29806685c8973560cd14f7a5a89230d/hack.patch
22:08 karolherbst: CMEPTb: if you emerge the kernel sources again, there should be something like "applying user patches ... no support whatever"
22:12 CMEPTb: * Applying patches from /etc/portage/patches/sys-kernel/gentoo-sources-4.12.5 ...
22:12 CMEPTb: * hack-nouveau.patch ... [ ok ]
22:12 CMEPTb: * User patches applied.
22:12 CMEPTb: ok rebuilding the kerrrrrrnlll
22:12 karolherbst: :)
22:17 CMEPTb: doesn't take very long with -j6
22:18 CMEPTb: because i'm paranoid, actually edited base.c to see those 2 lines present :P
22:23 karolherbst: imirkin: hum, piglit seems broken on tesla
22:23 karolherbst: or rather
22:23 karolherbst: piglit shows us in many different ways, why nouveau is broken for tesla
22:24 CMEPTb: rebooting. brb
22:24 karolherbst: fbo-depthstencil kills nouveau
22:29 imirkin_: karolherbst: =/
22:29 CMEPTb: hey giyzes!
22:29 CMEPTb: 0f: core 405-1280 MHz memory 7010 MHz AC DC *
22:29 CMEPTb: AC: core 1019 MHz memory 7009 MHz
22:29 CMEPTb: ^_^
22:29 imirkin_: yay
22:29 karolherbst: :)
22:29 imirkin_: enjoy the video games.
22:30 karolherbst: those 200 MHz won't matter much anay *runs away*
22:30 karolherbst: *anyway
22:30 CMEPTb: wooots
22:30 CMEPTb: cs:go here i come
22:30 CMEPTb: i freaking love linux, especially GENTOO!
22:31 imirkin_: i think someone was complaining about something CS:GO-related
22:32 CMEPTb: so it's now at 1019 not 1280? or is 1280 too much? what's this card supposed to be able to do in linux?
22:34 CMEPTb: ok now to get the corsair liquid cooling profile thing working in linux. that looks like fun too.
22:34 CMEPTb: again, thanks karolherbst and imirkin you guys are the best!
22:34 CMEPTb: viva la nouveau!
22:35 imirkin_: it depends on the ambient temperature and a few other things
22:37 karolherbst: well
22:37 karolherbst: in theory the vbios exposes clocks up to 1293.5 MHz
22:37 karolherbst: but in practise you can only get the clocks which the pstate file exports
22:37 karolherbst: we are a little smarter here than nvidia
22:38 karolherbst: and 1280 is the highest clock possible with perfect temperature
22:38 CMEPTb: aaaaah
22:38 CMEPTb: it's 80 in the house now, in F
22:39 karolherbst: I expect something around 1240MHz to be the max possible on your GPU though
22:39 karolherbst: maybe even less
22:40 karolherbst: for that to calculate I would need the "speedo" value of your GPU
22:41 CMEPTb: yea i honestly don't know what it's at in winders... as i said i don't play any games atm that would need me to OC or mess with the card at all
22:41 CMEPTb: so will this update make it to the world soon?
22:42 karolherbst: not as is
22:42 karolherbst: or maybe something like that for now until we figure it out for sure
22:44 CMEPTb: aaah ok. coolness. i am the only person on the planet with this card that can clock it up to 1019 :P~
22:44 CMEPTb:struts
22:44 karolherbst: doubtful :p
22:45 CMEPTb: or does it work fine for other gtx770s?
22:45 karolherbst: we can only tell if we figure out the detauls
22:45 karolherbst: *details
22:45 CMEPTb: just mine is defective somehow?
22:45 karolherbst: well
22:45 karolherbst: depends on the exact brand/board/whatever
22:45 karolherbst: some have lower "base" clocks
22:45 karolherbst: and work perfectly well
22:46 karolherbst: there are some "OC" cards with higher clocks, which then might not work
22:46 karolherbst: and sometimes they do
22:46 karolherbst: we only know it is related to high clocks + X details
22:47 CMEPTb: aaah yea this one is supposed to be OC'd somewhat from the box yeah
22:47 karolherbst: imirkin: if you like, you can try a full TESLA piglit run. I only have my server which I really don't want to break right now and piglit messes the system up too much already
22:48 karolherbst: CMEPTb: yeah, those OC cards are a mix of "high quality chip" + being nearer to being unstable
22:49 karolherbst: I can increase the clocks on my GPU by 100MHz easily without having to increase the voltage to still guarantee a stable experience, for some cards going 30MHz above spec is already unstable