ChanServ changed the topic of #dri-devel to: <ajax> nothing involved with X should ever be unable to find a bar
Haaninjo has quit [Quit: Ex-Chat]
Guest703 has quit [Ping timeout: 480 seconds]
ungeskriptet has quit [Quit: Ping timeout (120 seconds)]
ungeskriptet has joined #dri-devel
heat is now known as Guest704
heat has joined #dri-devel
ungeskriptet has quit [Quit: Ping timeout (120 seconds)]
Guest704 has quit [Remote host closed the connection]
ungeskriptet has joined #dri-devel
fireburn has quit []
Dark-Show has quit [Ping timeout: 480 seconds]
Dark-Show has joined #dri-devel
ungeskriptet has quit [Quit: Ping timeout (120 seconds)]
ungeskriptet has joined #dri-devel
ungeskriptet has quit []
ungeskriptet has joined #dri-devel
ungeskriptet has quit [Quit: Ping timeout (120 seconds)]
ungeskriptet has joined #dri-devel
heat has quit [Read error: No route to host]
heat has joined #dri-devel
ungeskriptet has quit [Quit: Ping timeout (120 seconds)]
ungeskriptet has joined #dri-devel
ungeskriptet is now known as Guest707
ungeskriptet has joined #dri-devel
riteo has quit [Remote host closed the connection]
ungeskriptet is now known as Guest708
ungeskriptet has joined #dri-devel
glennk has quit [Ping timeout: 480 seconds]
Guest707 has quit [Ping timeout: 480 seconds]
ungeskriptet has quit []
ungeskriptet has joined #dri-devel
Guest708 has quit [Ping timeout: 480 seconds]
ungeskriptet is now known as Guest711
ungeskriptet has joined #dri-devel
ungeskriptet has quit []
ungeskriptet has joined #dri-devel
Guest711 has quit [Ping timeout: 480 seconds]
ungeskriptet has quit []
ungeskriptet has joined #dri-devel
co1umbarius has joined #dri-devel
columbarius has quit [Ping timeout: 480 seconds]
ungeskriptet is now known as Guest714
ungeskriptet has joined #dri-devel
<robclark>
DemiMarie: more like different use-cases.. if it takes too long to render a single frame you might as well give up and declare context-lost.. whereas there are legit use-cases for long-running compute shaders, and there is vastly less state to save/restore.. so different trade-offs lead to different results
<DemiMarie>
robclark: I do wish that context loss was much less disruptive.
<DemiMarie>
Why do you need to reset the whole GPU, instead of just aborting the computation?
<robclark>
that is mostly an app problem
<DemiMarie>
yes, but unfortunately there are tons of broken apps
alanc has quit [Remote host closed the connection]
<robclark>
aborting the computation == undefined state... resetting gpu == defined state
Guest714 has quit [Ping timeout: 480 seconds]
alanc has joined #dri-devel
<DemiMarie>
robclark: only partially undefined
<DemiMarie>
And resetting the GPU tears down lots of other processes
<DemiMarie>
The huge blast radius of a problem is my main complaint.
<robclark>
if done correctly, it should effect other processes
<robclark>
shouldn't
<DemiMarie>
It means that shared GPUs are vulnerable to a denial of service attack.
<DemiMarie>
Which I consider to be a (possibly unfixable) security problem with current hardware.
ungeskriptet is now known as Guest716
ungeskriptet has joined #dri-devel
<robclark>
so, things like browsers take steps.. like disallowing webgl/webgpu to create new ctx if the tab (or origin?) has already triggered a gpu crash
<DemiMarie>
Can virtio-GPU native contexts do the same thing?
<DemiMarie>
Right now, it seems that GPU resets tend to cause a system-wide hang
<DemiMarie>
Which is really bad
<robclark>
re: systemwide hang, I guess that depends on gpu.. and things with vram sitting off pci bus have a harder time at it.. that is certainly not a problem on qc things and probably not on other igpu things
<DemiMarie>
I mostly hear people with AMD GPUs complaining of systemwide hangs
<DemiMarie>
It seems that a buggy VAAPI implementation causes the GPU to reset, which in turn causes the Wayland compositor to get a context lost error
<robclark>
re: nctx doing the same thing.. I don't think we could out of the box, and still pass deqp/cts (there are tests for robustness which intentionally trigger gpu hangs).. but maybe it would be an option if you didn't care about conformance
<DemiMarie>
It would indeed be a useful option
<DemiMarie>
Even more useful would be to log what happened in a way that allows the user to be asked.
Guest716 has quit [Ping timeout: 480 seconds]
<robclark>
I'd have to think about it.. it might need to be implemented in guest kernel (since host doesn't know if the same process simply closed and re-opened the guest drm device)
ungeskriptet has quit [Quit: Ping timeout (120 seconds)]
ungeskriptet has joined #dri-devel
oneforall2 has quit [Remote host closed the connection]
oneforall2 has joined #dri-devel
ungeskriptet has quit [Quit: Ping timeout (120 seconds)]
ungeskriptet has joined #dri-devel
ungeskriptet is now known as Guest719
ungeskriptet has joined #dri-devel
ungeskriptet is now known as Guest720
ungeskriptet has joined #dri-devel
Guest719 has quit [Ping timeout: 480 seconds]
Guest720 has quit [Ping timeout: 480 seconds]
ungeskriptet has quit [Quit: Ping timeout (120 seconds)]
ungeskriptet has joined #dri-devel
ungeskriptet has quit [Quit: Ping timeout (120 seconds)]
<pixelcluster>
yes, system-wide hangs are a pretty huge problem especially for dGPUs
<pixelcluster>
resetting the GPU for AMD GPUs means quite literally "rebooting" at least parts of the GPU (which on dGPUs also means *all* of VRAM is lost)
<pixelcluster>
if you get lucky and the hang is inside shaders, you can try killing these shaders instead of having to go for a full reset, but that doesn't work way too often
ungeskriptet has quit [Quit: Ping timeout (120 seconds)]
ungeskriptet has joined #dri-devel
<pixelcluster>
MODE2 also still has the big problem that it reboots all command processors etc., so if any innocent workload is running on a different queue while some other workload is hanging, that innocent workload will be killed too
<pixelcluster>
it's better than MODE1 but definitely not perfect
Leopold___ has joined #dri-devel
heat has quit [Ping timeout: 480 seconds]
Leopold_ has quit [Ping timeout: 480 seconds]
ungeskriptet is now known as Guest738
<DemiMarie>
robclark: for me, _any_ guest process hanging the GPU would be enough justification to trigger the prompt.
ungeskriptet has joined #dri-devel
sima has joined #dri-devel
ungeskriptet is now known as Guest739
ungeskriptet has joined #dri-devel
<robclark>
yeah, one way to approach it is for trusted host to prompt users to nerf badly behaving guest... it won't really be practical for conformance testing (since infinite loops is a thing that is basically allowed by the standard) but it puts the user in control
Guest738 has quit [Ping timeout: 480 seconds]
ungeskriptet has quit []
ungeskriptet has joined #dri-devel
Guest739 has quit [Ping timeout: 480 seconds]
<DemiMarie>
That is what I want indeed. Qubes OS doesn’t consider denial of service a security issue, but it’s still not great.
<DemiMarie>
pixelcluster: this explains why AMD GPUs have a bad reputation for problem recovery.
ungeskriptet is now known as Guest740
ungeskriptet has joined #dri-devel
<DemiMarie>
robclark: one idea I had was some sort of software fault isolation a la Native Client, where the shader compiler is patched to produce code can statically be checked to not hang the GPU in a not-easily-recoverable way.
benjaminl has joined #dri-devel
Guest740 has quit [Ping timeout: 480 seconds]
<psykose>
reminds me of the halting problem
ungeskriptet is now known as Guest741
ungeskriptet has joined #dri-devel
Guest741 has quit [Ping timeout: 480 seconds]
ungeskriptet is now known as Guest743
ungeskriptet has joined #dri-devel
Guest743 has quit [Ping timeout: 480 seconds]
ungeskriptet has quit [Quit: Ping timeout (120 seconds)]
ungeskriptet has joined #dri-devel
ungeskriptet is now known as Guest745
ungeskriptet has joined #dri-devel
Guest745 has quit [Ping timeout: 480 seconds]
junaid has joined #dri-devel
ungeskriptet has quit [Quit: Ping timeout (120 seconds)]
Leopold has quit [Remote host closed the connection]
Leopold has joined #dri-devel
lemonzest has quit [Quit: WeeChat 4.2.1]
lemonzest has joined #dri-devel
rasterman has quit [Quit: Gettin' stinky!]
kts has joined #dri-devel
glennk has joined #dri-devel
kts has quit []
Jeremy_Rand_Talos_ has quit [Remote host closed the connection]
Jeremy_Rand_Talos_ has joined #dri-devel
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
kts has joined #dri-devel
ManMower_ is now known as ManMower
kts has quit []
heat has joined #dri-devel
Jeremy_Rand_Talos_ has quit [Remote host closed the connection]
Jeremy_Rand_Talos_ has joined #dri-devel
Dr_Who has quit [Remote host closed the connection]
kts has joined #dri-devel
simon-perretta-img has quit [Ping timeout: 480 seconds]
simon-perretta-img has joined #dri-devel
kts has quit [Quit: Leaving]
robclark_ has left #dri-devel [#dri-devel]
cwabbott_ has quit []
cwabbott has joined #dri-devel
robclark has joined #dri-devel
kts has joined #dri-devel
maybebaby has joined #dri-devel
<maybebaby>
The best language for doing the needed is scala language and it's programmatic paradigm under the hood to mean to deal with compressed sequences and accessor transformer wild toggles. As well as rich iterations specification for or over collections
<maybebaby>
Sequences and sets
<maybebaby>
And the relevant approach is to derive an interface for ordered sets backed up by compressed bitsets.
<maybebaby>
The cherry on the cake is that they allow predicates to be built too to collections iterators and everyone.
<maybebaby>
It's fused paradigm correct for such purposes.
<dcbaker>
karolherbst: I got your bindgen static functions MR landed right before the feature freeze tomorrow
<maybebaby>
EU investments or funded language for hw
invertedoftc096919 has quit [Remote host closed the connection]
<maybebaby>
And the method is that every sequences has min max data structure, where the size is determined by biggest element in it.
invertedoftc096919 has joined #dri-devel
invertedoftc096919 has quit [Remote host closed the connection]
<maybebaby>
You can make this in rust too through crates, core does not have it unlike in scala.
<maybebaby>
It's because it's two directional information passing during the compilation as example building the whole lists per or during iteration building
<maybebaby>
The hash cause of counting zeros and ones keeps the state in hw structures
<maybebaby>
It says how big is the remainder from whatever modulo
<maybebaby>
Relative to that
<maybebaby>
Where as compilation provides the info to what range, hash provides to compiler or builder the difference of modulo, by or after the remainder calculated.
<karolherbst>
dcbaker: cool, thanks
<karolherbst>
dcbaker: btw, I think those "1.3.0" need to be replaced by "1.4.0"
<maybebaby>
You have transformers if you want to convert the type
maybebaby was kicked from #dri-devel by ChanServ [You are not permitted on this channel]
<dcbaker>
karolherbst: guess that’ll happen after the feature feeeze.
yrlf has quit [Quit: Ping timeout (120 seconds)]
yrlf has joined #dri-devel
junaid has quit [Remote host closed the connection]
jsa has joined #dri-devel
kts has quit [Ping timeout: 480 seconds]
davispuh has joined #dri-devel
rasterman has joined #dri-devel
kzd has joined #dri-devel
Marcand has joined #dri-devel
Leopold has quit [Remote host closed the connection]
bolson has joined #dri-devel
Leopold_ has joined #dri-devel
heat has quit [Remote host closed the connection]
heat has joined #dri-devel
Leopold_ has quit [Remote host closed the connection]
Leopold_ has joined #dri-devel
Marcand has quit [Ping timeout: 480 seconds]
Marcand has joined #dri-devel
ungeskriptet has joined #dri-devel
heat is now known as Guest880
Guest880 has quit [Read error: Connection reset by peer]
heat has joined #dri-devel
Mangix_ has quit []
Mangix has joined #dri-devel
rasterman has quit [Quit: Gettin' stinky!]
heat has quit [Remote host closed the connection]
heat has joined #dri-devel
Marcand has quit [Ping timeout: 480 seconds]
heat has quit [Read error: No route to host]
heat has joined #dri-devel
i509vcb_ has quit []
i509vcb has joined #dri-devel
bwidawsk_ has quit []
bwidawsk has joined #dri-devel
sukuna has joined #dri-devel
Duke`` has quit [Ping timeout: 480 seconds]
apinheiro has quit [Quit: Leaving]
jsa has quit []
eukara has quit [Remote host closed the connection]