alyssa changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - https://gitlab.freedesktop.org/panfrost - Logs https://freenode.irclog.whitequark.org/panfrost - <daniels> avoiding X is a huge feature
stikonas has quit [Remote host closed the connection]
anarsoul has quit [Remote host closed the connection]
anarsoul has joined #panfrost
vstehle has quit [Ping timeout: 258 seconds]
megi has quit [Ping timeout: 245 seconds]
rcf has quit [Ping timeout: 245 seconds]
rcf has joined #panfrost
herbmilleriw has quit [Ping timeout: 244 seconds]
herbmilleriw has joined #panfrost
vstehle has joined #panfrost
yann has quit [Ping timeout: 245 seconds]
<tomeu> shadeslayer: I was thinking of strings so one can also put stuff such as dimensions, format, texture kind, maybe even the proc name of the client that created it, ...
<tomeu> we are going to be hacking a lot on panfrost, so I think this is going to pay off in the future
<tomeu> I'm thinking of using this for debugging BO leaks and for aiding in making sure shared buffers have the expected format and modifiers
guillaume_g has joined #panfrost
adjtm_ has quit [Ping timeout: 246 seconds]
warpme_ has joined #panfrost
yann has joined #panfrost
pH5 has joined #panfrost
adjtm_ has joined #panfrost
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
warpme_ has quit [Client Quit]
warpme_ has joined #panfrost
<shadeslayer> tomeu: yep, can totally be done
<shadeslayer> so I came up with a approach that suits us, we have a PANFROST_DRM_BO_TYPE_* (<bbrezillon> texture, polygon-list, tiler-heap, ...) field and a char *label in the args, we store the label in each BO and have the kernel print memory allocated to each type in debugfs
<shadeslayer> and we can have a PANFROST_DRM_BO_TYPE_USER for anything custom
<shadeslayer> no need for hashing :)
chewitt has joined #panfrost
<shadeslayer> we can just index the array with the BO type, so easy to keep track of size
<bbrezillon> shadeslayer: I think BO_TYPE_TEXTURE,POLYGON_LIST, ... should just be user BOs
<bbrezillon> the kernel doesn't know about those things
<bbrezillon> so, I guess just passing a string at BO creation time is fine
<shadeslayer> bbrezillon: ok, then we need to figure out if we want to print how much memory each of these BO's takes to debugfs
<bbrezillon> shadeslayer: yep, sounds like a good idea
<shadeslayer> bbrezillon: that's kind of a performance issue I fear, we'd need to have a string/int k/v hash
<shadeslayer> and that'd lead to performance penalties
<bbrezillon> shadeslayer: you might also want to implement the use case described by alyssa (print the BO type when you get a page fault)
<shadeslayer> bbrezillon: sounds like a pretty good idea yes
<tomeu> that will be great
<bbrezillon> shadeslayer: you'll anyway need to hash the string if you want to avoid duplication
<shadeslayer> bbrezillon: hash the string for?
<bbrezillon> to avoid copying allocating memory for the same string over and over again
<bbrezillon> this being said, a BO already allocates a lot of memory, maybe we don't care about the extra few bytes needed here
<shadeslayer> do you think we'd be allocating the same string if we add stuff like pid, dimensions, format, etc
<shadeslayer> that sounds like a pretty unique string to me
<tomeu> guess userspace could only set strings when DEBUG or so
<bbrezillon> oh, then you won't be able to classify things if you do that
<shadeslayer> ^^ that's what I was thinking, guard behind a #ifdef DEBUG
<shadeslayer> bbrezillon: well, we could do a coarse classification for printing to DEBUGFS
<shadeslayer> for eg App A and App B could would both allocate BO_TYPE_TEXTURE, but their label's would be different, so we can figure out how much texture memory is allocated all together, but not on a per app basis
<bbrezillon> I guess we can dump all BOs and let a userspace tool do the classication based on the label
<shadeslayer> bbrezillon: also a option, makes everything a lot more easier
<bbrezillon> BTW, BOs can be passed to other processes
<shadeslayer> bbrezillon: as in a shared BO?
<bbrezillon> yes
<shadeslayer> uhhh ... yeah ... that's gonna not fly
<shadeslayer> I think I'll just implement the basic label'ing and printing on page fault for now
<shadeslayer> because printing to debugfs will need some consideration clearly
<bbrezillon> have you discussed with anholt?
<shadeslayer> I haven't no
<shadeslayer> I'll ping him
megi has joined #panfrost
raster has joined #panfrost
warpme_ has quit [Quit: warpme_]
raster has quit [Remote host closed the connection]
raster has joined #panfrost
warpme_ has joined #panfrost
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
megi has quit [Ping timeout: 258 seconds]
NeuroScr has quit [Ping timeout: 244 seconds]
NeuroScr has joined #panfrost
jolan has joined #panfrost
warpme_ has quit [Quit: warpme_]
chewitt has quit [Ping timeout: 245 seconds]
warpme_ has joined #panfrost
chewitt has joined #panfrost
raster has quit [Remote host closed the connection]
raster has joined #panfrost
NeuroScr has quit [Quit: NeuroScr]
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
afaerber has joined #panfrost
megi has joined #panfrost
guillaume_g has quit [Quit: Konversation terminated!]
guillaume_g has joined #panfrost
davidlt has joined #panfrost
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
davidlt has quit [Ping timeout: 244 seconds]
davidlt has joined #panfrost
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
davidlt has quit [Ping timeout: 246 seconds]
guillaume_g has quit [Quit: Konversation terminated!]
chewitt has quit [Quit: Adios!]
guillaume_g has joined #panfrost
guillaume_g has quit [Quit: Konversation terminated!]
raster has quit [Remote host closed the connection]
pH5 has quit [Quit: bye]
stikonas has joined #panfrost
herbmilleriw has quit [Remote host closed the connection]
davidlt has joined #panfrost
<shadeslayer> I'll send it off for review tomorrow if there are no comments on IRC :)
<bbrezillon> robher: are we sure the GPU flushes its caches at the end of job (by job I mean a command stream submitted through the submit ioctl)?
<bbrezillon> I have inconsistent results when waiting on wait_bo or wait_syncobj before reading the BO
<bbrezillon> but adding a delay seems to solve the problem
<alyssa> bbrezillon: It's supposed to unless disabled otherwise
<alyssa> and does on kbase.
<alyssa> If it doesn't for us, probably a bug...
<alyssa> shadeslayer: s/label'ing'/labeling/
adjtm_ has quit [Ping timeout: 245 seconds]
<alyssa> (Or labelling if you prefer)
<alyssa> Using just a __u64 for the name (but then reinterpreting the result as a char*) makes me a little nervous
<bbrezillon> alyssa: the how we pass pointers
<bbrezillon> *that's how we
<alyssa> torvalds: Using just a __u64 for the name (but then reinterpreting the result as a char*) makes me a little nervous
<bbrezillon> alyssa: are you quoting Linus?
<bbrezillon> the __u64 is just here for the 32/64-bit compat
<bbrezillon> otherwise we would use a char __user *
raster has joined #panfrost
<bbrezillon> but that doesn't string passing safer
<bbrezillon> *doesn't make
davidlt has quit [Ping timeout: 246 seconds]
herbmilleriw has joined #panfrost
austriancoder has joined #panfrost
fysa has quit []
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
<alyssa> bbrezillon: No?
<alyssa> And.. hm
<alyssa> OK
<robher> bbrezillon: The GPU mappings are all non-cacheable which is more conservative than kbase.
<alyssa> EVen easier
warpme_ has quit [Quit: warpme_]
belgin has joined #panfrost
<belgin> hello
TheKit has quit [Ping timeout: 258 seconds]
<belgin> panfrost seems to crash when starting x on my veyron minnie chromebook. is this expected?
<belgin> i am using whatever version of panfrost is in the latest stable kernel 5.2.11
<urjaman> what mesa are you using?
<belgin> 19.1.5-1
<belgin> i'm on arch linux
<urjaman> build the latest master yourself
<belgin> ok thanks
<urjaman> 19.1 panfrost isnt really ready for anything
<belgin> ok
TheKit has joined #panfrost
davidlt has joined #panfrost
<belgin> btw, alyssa, i don't know if you still care, but i have managed to stabilize ath9k on rk3288 with dwc2 by adapting this patch to the latest linux (just the lines don't match a bit) https://raw.githubusercontent.com/armbian/build/master/patch/kernel/rockchip-dev/2007-drivers-wifi-ath9k-reverse-do-not-use-bulk-on-EP3-and-EP4.patch
popolon has joined #panfrost
<popolon> hi
<popolon> I compiled panfrost 19.2.0RC1 and last git on RK3288 with ArchLinuxARM, and lot of things works now :) Thanks for all the developpers !!
<popolon> on last git, glmark crash, but 2 new opensource games work perfectly : briquolo and foobillard+
<popolon> on 19.2.0RC1 glmark2 work perfectly but a little artifact on projected shadow on ideas bench. The shadow works fine with last git version
<popolon> warzone2100 works very fast on both, but with big glitchs (large tiangles mask little objects
<popolon> this one can probably used for test/debug.
<popolon> I made my tests on an Asus C201 laptop
<popolon> I don't know if I can help by adding bug reports or information on what work/don't work with test. I would not like to make you lost time in your progress.
<HdkR> WOo! Sounds like a good experience :)
<popolon> yes in 2 days, I'm very happy to see all this stuff working.
<popolon> weston 7.0.0 doesn't work anymore with both 19.2 (weston 6.x worked well)
<popolon> 7.0 reached archlinuxARM this morning
<popolon> Some WebGL experiment work (very slowly) in firefox too :)
<popolon> That's really far better than ARM blob
<popolon> https://experiments.withgoogle.com/chrome/globe a working exemple (on Firefox) with some glitchs (oooh, retesting with cvs version, no more glitch)
<popolon> not cvs git, sorry
vstehle has quit [Ping timeout: 258 seconds]
vstehle has joined #panfrost
davidlt has quit [Ping timeout: 258 seconds]
popolon has quit [Read error: Connection reset by peer]
vstehle has quit [Ping timeout: 245 seconds]
vstehle has joined #panfrost
vstehle has quit [Ping timeout: 258 seconds]
belgin has quit [Quit: Leaving]
vstehle has joined #panfrost
vstehle has quit [Ping timeout: 245 seconds]
vstehle has joined #panfrost
raster has quit [Remote host closed the connection]
vstehle has quit [Ping timeout: 245 seconds]
vstehle has joined #panfrost
vstehle has quit [Ping timeout: 245 seconds]
vstehle has joined #panfrost
stikonas has quit [Remote host closed the connection]