00:00mupuf_: mlankhorst: indeed for what? :D
00:03karolherbst1: mupuf_: I tried to understand what the blob is doing and somehow, I think he cares none tiny bit about the cstates or voltage map table
00:04karolherbst: mupuf_: what your patch is doing seems right nethertheless, because my gpu doesn't crash
00:04karolherbst: even with this insane low pwm values
00:06karolherbst: mupuf_: the blob uses voltage between 0.84V and 1.005V (round about), but the table goes from 0.79V to 1.037V
00:11karolherbst: mupuf_: I think just using the lower bound for calculating the voltage might be too risky and may lead to instabilities. Also there might be information about how high the voltage needs to be for lower and higher clocks than descriped in the cstates
00:43mlankhorst: mupuf_: clocking
00:54mupuf_: karolherbst: you are right, we do not understand this voltage map table yet
00:54mupuf_: mlankhorst: still not sure I understand what you are talking about :D
00:54karolherbst: mupuf_: the values are right though
00:55karolherbst: or at least the voltage isn't bad
00:55mupuf_: well, let's say they are not too wrong :D
00:55mupuf_: but hey, happy to help when I can ;)
00:55karolherbst: running gpu at 0.79V now
00:55karolherbst: with a 100% core benchmark
00:55karolherbst: 405MHz though, but hey
00:55mupuf_: check out the longer battery life!
00:55mupuf_: you'll thank me at least for that
00:55karolherbst: which really matters on my laptop
00:56karolherbst: I mean its nice
00:56karolherbst: the gpu really cools down
00:56karolherbst: I think it got to 34°C in full idle
00:56mupuf_: hehe, see you! I'm late for work
00:56mlankhorst: mupuf_: you pinged me about it :P
00:56mupuf_: instead of ?
00:56karolherbst: I think something around 50 is "normal"
00:56karolherbst: with blob
00:56mlankhorst: oh nm
00:56mlankhorst: stupid false positives :P
00:57karolherbst: mupuf_: may be fun with overclocking, my gpu stays pretty cool even at +15% core clock
00:57mupuf_: mlankhorst: lol, ok
00:57karolherbst: but for that, I need to know the valid voltage ranges
00:57karolherbst: mupuf_: check that out: http://www.plotshare.com/sessions/220404211/Plot1.png
00:57karolherbst: x is freq
00:57karolherbst: ohh, it says that there
00:57karolherbst: will try stuff out maybe
00:58karolherbst: but you should go to work, so I won't poke you for the next hour :p
00:58mupuf_: at this time, I'm going to work just to catch lunch in time with my colleagues... I am terrible on mondays...
00:59karolherbst: happend to me too once
00:59karolherbst: funny how things change, if you don't have a specific time to arrive
01:00karolherbst: this is insane, 50°C at full load, but lowest pstate
01:01karolherbst: 63°C on highest pstate
01:03karolherbst: side note: gputest pixmark piano is a wonderfull gpu core benchmark
01:04karolherbst: mem clock and pcie speed have no effect on that
01:50karolherbst: any comments on that one? https://github.com/envytools/envytools/pull/20
02:15mwk: karolherbst: LGTM
02:16mwk: should I merge it?
02:17karolherbst: don't know yet
02:17karolherbst: the lnk_ctl2 commit is fine, not sure about the other one though
02:18karolherbst: mwk: do you have a kepler/maxwell card and a pcie 2.0 only board?
02:19mwk: I don't think I even own a PCIE 3 capable board...
02:19mwk: yeah, got a few Keplers and a Maxwell
02:20karolherbst: ohh nice
02:20karolherbst: would you like to check that reg?
02:20karolherbst: my assumption is that 0x8c1c0 shows the current system configuration speed limit
02:21mwk: but in a few hours at the earliest
02:21karolherbst: no problem
02:21karolherbst: I only saw that in mupufs trace
02:21karolherbst: so there is a chance I am wrong with that one
02:21karolherbst: I mean the blob reads that reg, but I only found one combination where its "5.0"
02:22karolherbst: and shortly after reading that, the blob reduces the lnkCap, which the blob usually sets to max
02:22karolherbst: wait, the lnk_ctl2 speed was reduced, not the cap
02:23karolherbst: mwk: is there a way to fake a reg read by the blob?
02:24mwk: nothing that I know of
02:24karolherbst: ohh I can write that reg
02:24karolherbst: now this may be interessting
02:25karolherbst: argh :/ the blob set it back
02:26pq: I suppose you could hack mmiotrace to fake a reg... but I bet it gets ugly fast
02:26pq: if it is something that mmiotrace catches in the first place
02:27karolherbst: now it is getting annyoing :/
02:29karolherbst: ohh man, with this reg I can also control the lnkCap :/
02:32karolherbst: okay, I am wrong about this reg
02:33karolherbst: mwk: https://github.com/envytools/envytools/pull/20 now its good to merge
02:33karolherbst: I just removed the one commit
02:34karolherbst: has to investigate a bit more
02:51mupuf_: karolherbst: hey, I gave you push rights to envytools. Keep on sending pull requests for comments when you feel unsure
02:51mupuf_: but anyway, you've earned your stripes
02:55karolherbst: :) thanks
02:56karolherbst: doesn't seem to work yet, but maybe later
02:57karolherbst: I only tested if I could do something on the github site, so I didn't actually tried to push anything
02:58karolherbst: okay, now I have to find the "real" max speed reg
02:59mupuf_: you may need to accept the invitation first
03:13karolherbst: mupuf_: do you know that one? https://gist.github.com/karolherbst/5bbb07d1d44416160729
03:14mupuf_: crashing the blob is rather trivial, I am afraid :p
03:14karolherbst: or maybe I really upset the driver
03:25karolherbst: ohhh no
03:25karolherbst: I used the wrong bit
03:25karolherbst: stupid me
03:25karolherbst: mupuf_: but this is nice, isn't it? https://gist.github.com/karolherbst/0eb71233d84e64d77d4d
03:29karolherbst: bit 20 is really only readable
03:30karolherbst: and 21
03:36karolherbst: mupuf_: reator is 5.0 only?
03:36karolherbst: ohh see it now
03:36karolherbst: also on this maxwell card
03:36karolherbst: 0008c1c0: 00130036
03:37karolherbst: bit 16-19 are lnk cap
03:37karolherbst: bit 20-21 seem to indicate system max speed
03:37karolherbst: they are also read only
03:38karolherbst: or at least the reg does look the same with the next read
03:38karolherbst: anybody here with kepler/maxwell card and pcie 1.0 board?
03:48karolherbst: tizbac: ping
03:50karolherbst: tizbac: you have/had a nve4 and a pci 1.0 board?
05:52Soukyuu: hello, do you think there will be a performance difference if I compile nouveau/mesa myself with march=native or something?
05:52karolherbst: Soukyuu: for mesa it may make a difference
05:53karolherbst: but march isn't everything
05:53Soukyuu: also, can I use EGL with a tesla card/nouveau? blob only added it in 343.x and my latest driver is 340.x
05:54imirkin: Soukyuu: yeah, you should get EGL 1.5 with the latest mesa iirc
05:54imirkin: (and EGL 1.4 with older mesa)
05:54Soukyuu: neat. will try switching to it once this download finishes
05:55Soukyuu: btw, karolherbst, was it you who had a setup that allowed to switch nouveau/blob without restarting?
05:55imirkin: that setup involves not using nouveau for display
05:55karolherbst: Soukyuu: if you have a dual gpu setup, then its no big deal
05:56karolherbst: if the main isn't used with nouveau
05:56Soukyuu: ah, nvm then...
05:56karolherbst: but I meant more the installation thingy
05:56imirkin: blob messes up the display engine *hard* and nouveau can't undo it
05:56karolherbst: if you install everything right, you can have mesa/nouveau and the blob coexist on the same system
05:56imirkin: or rather... we haven't spent the time to figure out wtf it is we need to do to get it going after the blob touches it
05:57imirkin: Soukyuu: btw which gpu do you have?
05:57Soukyuu: from what I remember, a blob package conflicts with one needed for nouveau on arch, so it's a matter of swapping them
05:58Soukyuu: imirkin: 260gtx
05:58imirkin: oh right.
05:58Soukyuu: I'm the dude who had problems getting smooth mpv playback a few days ago
05:58imirkin: i told you about reclocking right?
05:58karolherbst: Soukyuu: ohh I see :/
05:58Soukyuu: yup, that + pcie link increas
05:58Soukyuu: speaking of multiple gpus, is nouveau capable of "base mosaic" with two different cards?
05:58karolherbst: its ridiculous how many distris can't get this right
05:59Soukyuu: the blob is racist and doesn't allow it, while happily working in windows with the same card combo
05:59karolherbst: Soukyuu: I bet the config is just screwed up
05:59Soukyuu: for base mosaic?
06:00Soukyuu: it tells me it wants two identical cards as if I was enabling SLI
06:00Soukyuu: (it = blob)
06:00Soukyuu: all i wanted back then is two cards with 3 monitor on one X screen
06:00imirkin: what's "base mosaic"?
06:00karolherbst: "BaseMosaic can be used to extend a single X screen transparently across all of the available display outputs on each GPU."
06:01imirkin: ah, multi-gpu is kinda the worst with the open stack
06:01imirkin: nothing to do with nouveau in particular
06:01Soukyuu: it's bad enough with blob already, so I'm not surprised ^^;
06:01imirkin: there are 2 ways to do it... xinerama which loses you accel
06:01imirkin: and randr output offloading
06:01imirkin: which means rendering on one gpu, and then copying to the other
06:01karolherbst: Soukyuu: did you do " nvidia-xconfig --base-mosaic --metamodes=METAMODES where the METAMODES string specifies the desired grid configuration." ?
06:02Soukyuu: uhh, I think so
06:02karolherbst: imirkin: xinerama makes accel impossible? uhhh
06:03imirkin: karolherbst: disables direct accel
06:04karolherbst: Soukyuu: I think you need "MOSAIC with Sync"
06:05karolherbst: Option "SLI" "MOSAIC"
06:05Soukyuu: oh, that's interesting
06:06karolherbst: but it may not work
06:06karolherbst: mhh sounds like this is only for quadro cards?
06:06Soukyuu: Will try it sometime anyway, thanks. My main reason for getting that was to have my 2 monitors and a TV connected, but now I don't have that TV anymore
06:07Soukyuu: brb, switching to nouveau
06:09karolherbst: imirkin: it would be interessting to know how mac os x handles gpu switches without stopping applications
06:11karolherbst: mhh I need a pcie 2.0 kepler card :/
06:12RSpliet: I need a mountain of Fermis, Keplers and Maxwells... but it's just not in the cards right now :-P
06:12RSpliet: isn't my kepler PCIe 2.0?
06:13imirkin: nice one
06:14karolherbst: RSpliet: this is the list of PCIe 2.0 kepler cards: https://gist.github.com/karolherbst/eb26331b2b3961cd2a36
06:14RSpliet: I have a GT640, not sure if it's rev 2...
06:15karolherbst: okay, checking
06:15karolherbst: there are 5 different modesl
06:15karolherbst: one fermi
06:15karolherbst: the pcie 2.0 one is a GK208-400-A1
06:16karolherbst: also x8 width
06:17Soukyuu: hmm ok, so EGL vs GLX doesn't make any difference. Which compile flags for mesa could I try to improve performance?
06:17karolherbst: Soukyuu: -O3
06:17karolherbst: maybe -Ofast is also nice
06:17karolherbst: but the latter may actually break things
06:17RSpliet: no, it's GK106 iirc...
06:17RSpliet: VBIOS in the repo
06:18imirkin: Soukyuu: just don't enable debug and you should be fine.
06:18karolherbst: RSpliet: :/ sad, I mean good for you
06:18Soukyuu: karolherbst: things are already kinda broken, KDE's menu briefly shows artifacts on open (blurred area)
06:19karolherbst: I really need the 0x08c1c0 reg from a pcie2.0 card
06:19karolherbst: or pcie 4.0
06:19karolherbst: doesn't matter, but not 3.0
06:20karolherbst: I don't understand the first 8 bits of that damn reg
06:21karolherbst: its either 0x32 or 0x36
06:21karolherbst: and the former only for one in the repo
06:22karolherbst: bit 2 may be a flag if the system supports pcie 2.0+, but who knows
06:32Soukyuu: http://pastebin.com/Wkd4P71n <- anything I should add/change here?
06:32karolherbst: why swrast ?
06:33imirkin: it's good to have
06:33Soukyuu: for nine, apparently it's good for wine rendering
06:33karolherbst: as a dev yes, but otherwise I would use llvmpipe?
06:33imirkin: i'd nuke osmesa and gles1
06:33imirkin: karolherbst: it is llvmpipe
06:34karolherbst: ohh then its for both gallium software drivers
06:34imirkin: also probably don't need xa
06:35karolherbst: ohh texture-float I somehow remember something bad coming from this, but I can't fetch what it was
06:36karolherbst: patent issue?
06:36imirkin: if you don't have it, you don't get GL3
07:24Soukyuu: hm, if I leave my card in highest pstate and suspend, then resume, it will wake up with fans blowing at full speed
07:24Soukyuu: and recompiling mesa/mesa-libgl with O3 didn't do anyhting =/
07:26karolherbst: Soukyuu: you can't magically improve GL performance by having an "optimized" binary
07:27Soukyuu: it was worth a try
07:27karolherbst: you can only decrease CPU overhead, which may improve perf for CPU limited tasks
07:27Soukyuu: yes, that was the idea
07:27karolherbst: so it makes a difference, but not generally
07:27Soukyuu: let's say it doesn't make a difference in my case
07:28Soukyuu: about pstates though, is some sort of automatic scaling planned down the road, or will it be fully manual as it is now?
07:29karolherbst: when its stable enough
07:29karolherbst: but it isn't yet
07:39Soukyuu: yes, that's what I meant. just wanted to know if there are plans for that.
07:40imirkin: there are plans to have plans
09:12zat: what is the prefered nouveau.debug lever for bug report logs?
09:14imirkin: depends what you're debugging
09:15zat: imirkin: those failed to idle channel stuff and such.
09:15imirkin: ah. no debug setting will provide useful info.
09:16zat: I am now testing in Linux 4.2 BTW
09:16imirkin: or put another way, i haven't the faintest idea how to debug things like that
09:16zat: it is far more stable but I still can crash nouveau by opening several pages at once with Firefox
09:17imirkin: "doctor, it hurts when i do that"
09:17imirkin: "don't do that"
09:17zat: that is the "surest" way to roproduce the issue
09:17zat: the problem is that sometimes the issue will be triggered by other things
09:18zat: due to this my system won't survive more than 1 day uptime
09:19zat: in the morning I said, wow my system survived!!! the bugs must be gone. I unlocked, opened a stream in VLC and all hung up. lol
09:21pmoreau: Oh crap! Didn't realised that sending messages to the list would mean they would be resend from the ml server, implying that as the ml server ip is not recognised as sending emails on my behalf, they would be labelled as spam or rejected…
09:22zat: uh now that you mention that, should I try the mailing list?
09:22imirkin: pmoreau: that's a common issue with spf =/
09:23karolherbst: zat: the problem with these errors is, that they don't tell whats the cause
09:23karolherbst: they are like: yeah, the gpu is pretty much messed up
09:23karolherbst: but that's it
09:23pmoreau: imirkin: Yeah… Either I can find a way around it, or I'll rather go back to the old address for everything… *sigh*
09:24karolherbst: you need to combine these with other stuff to get usefull implications (like if something gpu core related messes it up, it may be gpu core related)
09:24zat: karolherbst: there must be a way to find a clue...
09:24karolherbst: try stuff out
09:24karolherbst: find what exactly triggers is
09:24imirkin: pmoreau: fwiw your second email didn't come up as spam
09:24zat: karolherbst: I know a way to trigger it for sure
09:24karolherbst: but the list is long of possible causes, so you need to be smart about it ;)
09:25karolherbst: with "for sure" I mean, boot and you do something and then hang
09:25imirkin: zat: you do realize that firefox does like a billion things right?
09:25karolherbst: and that
09:25zat: oh yes, it is something giant
09:25karolherbst: it has to be something small
09:25imirkin: saying "do xyz in firefox and it hangs" is basically no information
09:25zat: but that will be the case with about anything I can do
09:26imirkin: ok, so then you need to convince someone who can narrow it down to reproduce it and spend the hours/days figuring out wtf is going on
09:26karolherbst: one way to cause such an issue is, to undervolt the core and let the hardware get into a faulty state. for that you undervolt the gpu and bang
09:26karolherbst: you need something as small as that
09:26pmoreau: imirkin: From which address was the second email and to which address was it directed? Cause I send a first one using the original address, but I cancelled it while it was waiting for moderation. And I only got problems for the second one from the dri-devel ml.
09:26zat: karolherbst: isn't there a way to get like a backtrace or such?
09:27karolherbst: this is a hardware issue
09:27imirkin: pmoreau: second one was from @free.fr
09:27imirkin: pmoreau: let me look at your domain settings....
09:27karolherbst: which may or may not be causeed by "software" "directly"
09:27pmoreau: imirkin: That's the old one
09:27imirkin: pmoreau: yeah, kill that ~all
09:28karolherbst: zat: you could try things like that: does gpu core or gpu memory intense applications let the gpu hang faster?
09:28karolherbst: is it somehow related to the clocks? maybe garbage is thrown at the gpu
09:28imirkin: pmoreau: although actually...
09:28imirkin: probably just a new domain, takes time for google to not mark it as spam
09:28imirkin: apparently that's a common problem as well
09:29imirkin: you need to send more email ;)
09:29karolherbst: the smaller the causing application is, the better it is to find the real issue
09:29zat: karolherbst: I will try to get it reproduce with something small
09:29zat: de you recommend any kernel parameters tweaking?
09:31zat: who is that no for
09:32pmoreau: imirkin: I tested with a friend gmail account, and it didn't get marked as spam after I had fiddle enough with the conf. I think the quarantine is due to spf failing, as the mail was bounced by the ml server.
09:32pmoreau: imirkin: Thought it should have been rejected, as I changed the policy to reject/reject.
09:33imirkin: zat: you. no kernel param tweaking. just find a repro that's smaller than "futz with firefox"
09:35zat: imirkin: can nouveau.config=NvGrUseFW=1 alter the results?
09:36imirkin: zat: yes
09:37zat: imirkin: do I better leave that option out?
09:37imirkin: i dunno... i guess it's made a difference for people in the past
09:38zat: uhm, better I'll be off to do more testing, brb
09:38zat: thx imirkin, karolherbst.
13:27whompy: imirkin: I have Gmail set to basically white list the mailing list. Interesting how many things have a warning that they would he been spam.
13:28whompy: It has been handy.
13:34pmoreau: l1k: That script is working perfectly on my MBP! Thanks a lot, I'll keep it! ;)
13:36l1k: pmoreau: awesome! we should send bruno bierbaumer a pull request with your MBP added to the list of supported machines. do you want to do that or should I do it?
13:37pmoreau: l1k: I'll try to do it
13:40l1k: pmoreau: really interesting, it means that this EFI boot variable was supported from the very first dual GPU MacBook Pro
13:41pmoreau: l1k: Yep! :D I do get some *warnings* that Nouveau tries to register twice the backlight interface in sysfs
13:41pmoreau: But I also had the same when switching from OS X
13:42l1k: pmoreau: with my patch set or without?
13:45l1k: pmoreau: I had a similar issue with i915 when adding reprobing: https://github.com/l1k/linux/commit/e03b4917124cc191c5a13dc9da05e7ceee818997#diff-83b2781eb66d25c8f607f15a3841879aR14345
13:46l1k: pmoreau: basically I had to check if the backlight was already registered and only register it if it wasn't. and put that check in a mutex_lock to eliminate races.
13:47l1k: pmoreau: that's probably a bug in nouveau for dual Nvidia systems.
13:47l1k: pmoreau: do you see that only when switched to the 9600M GT or also when it's switched to the 9400M on boot?
13:47pmoreau: l1k: Only when switching to the 9600M GT
13:48pmoreau: Both cards in that case say they are attached to a screen, so Nouveau tries to register a backlight.
13:49pmoreau: But by running the VBIOS script, it disappeared when I had switched using OS X. But the problem remains when using this script.
13:49imirkin: perhaps the backlight should get disconnected when shutting down the card?
13:50pmoreau: The card will be shutdown a few seconds after the cards are initialised
13:50pmoreau: So, they will both have tried to register before any card shut downs
13:53pmoreau: Both cards can't be used at the same on this setup, right?
13:58pmoreau: Does `xrandr --setprovideroffloadsink` only takes names as input?
13:58imirkin: also numbers
13:58pmoreau: Provider 0: id: 0xa7 cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 2 associated providers: 0 name:nouveau
13:58pmoreau: Provider 1: id: 0x63 cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 2 associated providers: 0 name:nouveau
13:59pmoreau: xrandr --setprovideroffloadsink 0 1
13:59pmoreau: X Error of failed request: BadValue (integer parameter out of range for operation)
13:59imirkin: other way
14:00imirkin: 1 0
14:00imirkin: is the usual way
14:00pmoreau: Still BadValue
14:02airlied: pmoreau: nouveau isn't advertising Sink Offload
14:04pmoreau: Oh right!
14:22tobijk: imirkin: did you find out what was wrong (or not) with my patch?
14:23imirkin: have yet to look
20:20marcosps1: imirkin: around?
22:44karolherbst: mhhh mupuf_ do you also get the feeling, that the lowest cstate and its "voltage map entry" is kind of strange?
22:45karolherbst: ohh right, there are these two unknown fields which are different in the lowest cstate
22:46karolherbst: how was the tool called to fake a load on the gpu?
23:57mupuf_: karolherbst: still wondering?
23:58karolherbst: with strange I don't mean stupid values, but something I wouldn't expect
23:59karolherbst: like why should the max voltage be higher for the lowest cstate?
23:59mupuf_: this voltage map table makes no sense to me
23:59karolherbst: I will try to get the pwm value for specfici clocks now
23:59karolherbst: I think the values are right though
23:59mupuf_: it should only store the lowest acceptable voltage