<icecream95>
alyssa: anarsoul: I tested Chromium desktop GL + WebGL recently, and it still causes GPU hangs
<bbrezillon>
alyssa: we should probably revert 794c239a990 ("panfrost: Keep cached BOs mmap'd")
<bbrezillon>
I mean, I'm not even sure we can kill userspace mappings when purging the BO, and even if we can, it might take some time to figure out how to do it
<bbrezillon>
the kernel should definitely refuse to mark a BO purgeable if it's still mmap-ed though
robmur01 has joined #panfrost
NeuroScr has quit [Quit: NeuroScr]
robmur01 has quit [Ping timeout: 256 seconds]
macc24 has joined #panfrost
Elpaulo has quit [Read error: Connection reset by peer]
Elpaulo has joined #panfrost
robmur01 has joined #panfrost
<daniels>
bbrezillon: I _think_ the API for that is that, if it's been marked purgeable, you have to mark with MADV_WILLNEED before using again; if that fails, then you unmap without using
<daniels>
so that allows you to keep the mmaps alive if the shrinker hasn't kicked in, keeping you performance in the best case
<daniels>
(so it follows that if you take a fault on a userspace access to a purged BO, you can just return -EFAULT or the zero page or or)
<bbrezillon>
so yes, ultimately we want to fix that, but in the meantime, we should probably revert the mesa commit keeping BOs mapped, and add a check in the MADV ioctl handler to prevent marking BOs purgeable when they are still mapped
<daniels>
bbrezillon: weird, I was sure that VC4 already did this ... does it have any other kind of different handling?
<bbrezillon>
daniels: I checked, and VC4 and freedreno seem to keep the BOs mapped when marking them purgeable
<bbrezillon>
I can't tell how it works for freedreno, but VC4 is a bit different, in that it allocates memory through CMA
<robher>
bbrezillon: I'm not sure I'd say I knew it was a limitation. More that it seemed odd to me to keep BOs mmap'ed (they may not need to be when re-used), and I had no idea what happened if purging them mmap'ed.
<bbrezillon>
well, normally that shouldn't be a problem, given freedreno and VC4 don't unmap the BOs
<bbrezillon>
but there's definitely a bug :)
robmur01 has quit [Ping timeout: 260 seconds]
cwabbott has quit [Quit: cwabbott]
cwabbott has joined #panfrost
guillaume_g has quit [Quit: Konversation terminated!]
macc24 has quit [Quit: WeeChat 2.8]
robmur01 has joined #panfrost
macc24_ has joined #panfrost
macc24_ is now known as macc24
mani_s has quit [Remote host closed the connection]
mani_s has joined #panfrost
cwabbott has quit [Quit: cwabbott]
cwabbott has joined #panfrost
cwabbott has quit [Client Quit]
cwabbott has joined #panfrost
<alyssa>
bbrezillon: I'll r-b the revert I guess
stikonas has quit [Ping timeout: 246 seconds]
stikonas has joined #panfrost
raster has quit [Quit: Gettin' stinky!]
macc24_ has joined #panfrost
macc24 has quit [Disconnected by services]
macc24_ is now known as macc24
cwabbott has quit [Quit: cwabbott]
cwabbott has joined #panfrost
macc24 has quit [Quit: WeeChat 2.8]
macc24 has joined #panfrost
macc24 has quit [Quit: WeeChat 2.8]
macc24 has joined #panfrost
macc24 has quit [Quit: WeeChat 2.8]
robmur01 has quit [Ping timeout: 240 seconds]
raster has joined #panfrost
robmur01 has joined #panfrost
nerdboy has joined #panfrost
davidlt has quit [Ping timeout: 260 seconds]
raster has quit [Quit: Gettin' stinky!]
nerdboy has quit [Ping timeout: 260 seconds]
mias has quit [Ping timeout: 256 seconds]
robmur01 has quit [Ping timeout: 265 seconds]
warpme_ has quit [Quit: Connection closed for inactivity]