I wonder what the average readback rate on modern GPUs is. And whether it has an impact on, eg, on-GPU graphics compositing.
That's how you destroy data. Don't assume mtdblock0 will always be the same thing.
For graphics applications, this is a good tradeoff as they generally use large objects (e.g. textures) but for existing compute applications, the latency penalty is often too high.
The PS4 can presumably get away with this as applications will be specifically written for it, unlike PCs which have to support legacy software.
Practically all discrete GPUs are connected through PCI-e, and serving memory requests through that would slow things to a crawl. PCI-e 4.0 with 16 lanes has 32 GB/s of bandwidth. A Geforce 1050 has more memory bandwidth than that (84 GB/s), and that GPU is not high end.
Don't get me wrong, it's cool that it's possible to use Video RAM as a swap device. But I don't see the practical value.
My laptop has 8GB of RAM, enough for most use, but it proved way too small when trying to compile Chromium (where the linker would get OOM killed even with 8GB RAM + 8GB swap). If I was instead doing that on a system with <24GB of RAM but with a beefy GPU, using some of the graphics memory as swap instead of a relatively slow SATA 3 SSD would've been attractive.
It was stop gap measure before their CPUs went 64-bit, but at the time it was kind of a clever solution.