While Oracle is most often criticized since their acquisition of Sun Microsystems for shafting the open-source community, in particular for OpenOffice, MySQL, OpenSolaris, and other projects, not everything
they do is bad for open-source and Linux. They have VirtualBox, various kernel developers, Chris Mason works for them on Btrfs, etc. They also still employ some graphics developers. One of these developers for some time now has been working on improving the GPU memory management situation in virtualized environments.
In early January I mentioned that an Oracle developer made open-source GPU drivers work with Xen virtualization
. In particular, TTM (Translation Table Maps) had to be cleaned up within the kernel as this GPU memory management system used by the Radeon and Nouveau drivers (among others) wasn't playing well with Xen.
These patches by Oracle's Konrad Rzeszutek Wilk were merged back in January. However, later testing revealed that it messed things up for those on ARM, PowerPC, and when swapping out pages to disk. As a result, some of the patches had to be reverted.
Konrad disappeared for a half-year, but he's now back with a new patch-set to clean-up the earlier code and make it work with these other conditions. They're entitled the TTM DMA pool v1
patch-set and are up for review. These new patches create a TTM DMA pool, which is a DMA pool but with extra features. This will then be merged back into the Linux kernel's main DMA pool code, assuming it doesn't cause any performance regressions.
These TTM patches work for the Nouveau and Radeon drivers and under PowerPC, IGPs, PCI-E GPUs, various IOMMUs, and other system features that caused breakage back in January. So far, so good.
For those wanting to know what's possible with graphics cards and Xen virtualization, here is a demo from Ubisoft
that they did using Xen and the NVIDIA binary drivers. It's quite interesting.
Now if only Oracle ported
TTM and its drivers (Radeon and Nouveau) to their own Solaris operating system... Or they might have, but with barely any communication to what's left of their open-source Solaris community, who knows?
In related Linux graphics news, but not quite deserving of its own news post at the moment, are Mesa patches that rework the G3DVL interface and provide a new MPEG-2 bit-stream parser. The G3DVL interface is used for the generic GPU video acceleration while also introducing a new MPEG-2 bitstream decoder. This is more good news in the Gallium3D video land. See the mailing list thread