ChanServ changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - Logs https://oftc.irclog.whitequark.org/panfrost - <macc24> i have been here before it was popular
Major_Biscuit has quit [Ping timeout: 480 seconds]
Rathann has joined #panfrost
alMalsamo has joined #panfrost
rasterman has joined #panfrost
rkanwal has joined #panfrost
atler has joined #panfrost
Daanct12 has joined #panfrost
icecream95 has quit [Ping timeout: 480 seconds]
Daanct12 has quit [Remote host closed the connection]
Daanct12 has joined #panfrost
jelly has quit [Read error: Connection reset by peer]
jelly has joined #panfrost
nanokatze has joined #panfrost
Daanct12 has quit [Quit: Leaving]
MajorBiscuit has quit [Quit: WeeChat 3.4]
alMalsamo has quit [Ping timeout: 480 seconds]
alMalsamo has joined #panfrost
camus has quit [Remote host closed the connection]
camus has joined #panfrost
MajorBiscuit has joined #panfrost
camus has quit []
<macc24>
has anyone tried passing through a mali gpu to a vm?
<HdkR>
Mali SR-IOV when?
<HdkR>
(Mali-G AE already supports VM passthrough)
<HdkR>
Fancy Nvidia style GPU partitioning
<macc24>
mali ae?
<HdkR>
Automotive stuff
<macc24>
ah
<macc24>
i just got the dumbest idea ever
camus has joined #panfrost
<robclark>
if mali sits behind an iommu (or somehow has two levels of address translation, one which could be controlled by the hypervisor) you should be able to passthru to vm guest
<robclark>
(which would let vm host also use the gpu, unlike the passthru approach)
<cphealy>
robclark: Being able to run VMs on ARM SoCs with native GPU performance, that's really cool!
<cphealy>
I wonder if the vendor Mali drivers support that? ;-)
<robclark>
if they did, I'm sure they'd have told us by now
<robclark>
since VMs are kinda an important thing for CrOS
<cphealy>
ahh, good point!
<robmur01>
FWIW the Arm Juno board does have a separate stage 2 SMMU in front of the GPU, and I think some Xen folks were looking to play with that a while back
<HdkR>
robclark: Have you tested performance with PC games and that yet? :D
<robclark>
well, mostly android games, but yeah
<robclark>
at this point there is still a lot of unrelated stuff that has a ways to go from perf standpoint.. (disk i/o, schedutil tuning, etc).. but generally the perf is within few percent of native on gpu side.. the biggest problem right now is just optimizing/minimizing mmap'd buffers because those are rather expensive in the host vmm
<robclark>
ie. I'm implementing suballoc, not to save memory but to reduce # of mmap's
<HdkR>
Very interesting
<robclark>
oddly (or not when you think about it) there are a bunch of recent and in-flight host-kernel features added to support this, like userspace allocated iova (to keep bo allocation async as much as possible).. but nice thing about open src drivers is we can make changes across the stack to get the features we want ;-)
<HdkR>
Open source is good stuff
<HdkR>
robclark: Is there a way to test this today in a Linux guest VM?
<HdkR>
I would love to throw some games at it to see the perf hit
<robclark>
*soon*.. but you'll need a chromebook (other snapdragon stuff, other than maybe AE, enters kernel in EL1)
<robclark>
I'll kernel up kernel bits needed soon (maybe today if I get time) for next merge window.. the virglrenderer part is almost ready to merge, and I need to clean up and push a mesa MR
MajorBiscuit has quit [Quit: WeeChat 3.4]
<HdkR>
I'm sure it'll take a while to get me back to it anyway. I think there is some hack to get EL1 working on my board.
<robclark>
you mean EL2?
<HdkR>
But a Chromebook might be a bit rough, they are all mid-range things. Heck of a downgrade compared to 888 or S8G1 :P
<HdkR>
er yes, went the wrong way.
<HdkR>
Annoying that x86 is CPL3 for userspace, ARMv8 is EL0 :D
rasterman has quit [Quit: Gettin' stinky!]
<Pu244>
HdkR, yeah, drove me nuts for a while too.
<Pu244>
Makes more sense, though.
<Pu244>
ARM: EL0/EL1. Hypervisor: EL2. Monitor: EL3. Fancy Super Mega Monitor: Just keep adding.
<Pu244>
Vs x86, Ring 0, Ring -1, Ring -2... Ring "... aw crap."
<Pu244>
So, this CMA thing is still driving me nuts, it just can't make big allocations after the system is running for a while.
<Pu244>
The global DMA hack suggestion requires yet more kernel hacking to work, since it won't enable with a MMU running.
<HdkR>
The negative rings is the best trolling though :D
<Pu244>
Is there any way to just say, "Look, I *know* I'm saying you can't use this for other stuff, but, holy crap, reserve this memory for the GPU and don't fragment it"?
<Pu244>
Or do I have to write my own for that?
<Pu244>
... I mean, not *hard,* just annoying af.
alMalsamo has quit [Ping timeout: 480 seconds]
Rathann has quit [Ping timeout: 480 seconds]
rasterman has joined #panfrost
<robmur01>
Pu244: to expand on what I mentioned a while back; define a regular non-CMA "reserved-memory" node, point to it with a "memory-region" property on the display device, teach the meson DRM driver to call of_reserved_mem_device_init(). See existing callers of that function and their respective DT bindings for examples
<robmur01>
the global coherent pool was only meant to be an "easy" hack to avoid modifying individual drivers, sorry for sending you off on that wild goose chase! :)
* robmur01
gives in to the IT department's looming forced restart...
robmur01 has quit [Quit: Leaving]
<Pu244>
No problem. :) I've accepted that the easy options don't work. I didn't spend too long on it.
robmur01 has joined #panfrost
MajorBiscuit has joined #panfrost
alMalsamo has joined #panfrost
MajorBiscuit has quit [Ping timeout: 480 seconds]
MajorBiscuit has joined #panfrost
MajorBiscuit has quit []
mps has left #panfrost [#panfrost]
rkanwal has quit [Quit: rkanwal]
rasterman has quit [Quit: Gettin' stinky!]
icecream95 has joined #panfrost
<icecream95>
macc24: I've used Mali GPUs inside a VM, and to an OpenBSD guest, too. glmark2 only ran at 1 fps, though
nanokatze has quit [Remote host closed the connection]
<robclark>
what hw (other than juno) has both an iommu and gpu mmu?