Intel Rolls Out New "Soft-Pinning" Patches For Linux Graphics Driver

You can see the latest patches on intel-gfx, while also copied onto the Mesa and DRI lists too for feedback on the API design for libdrm, with some of these soft-pinning-related patches being up to their sixth revision now without being merged.
One of the patches by Intel's Michał Winiarski explains the soft-pinning feature as, "Softpin allows userspace to take greater control of GPU virtual address space and eliminates the need of relocations. It can also be used to mirror addresses between GPU and CPU (shared virtual memory)."
Winiarski explained of the latest patches, "The goal of this series is to start a discussion whether the interface and implementation of softpin support proposed for libdrm is acceptable by all interested parties. The i915 patches are added so that it's easy to apply the series on latest drm-intel-nightly and libdrm master and start using softpin."
The soft-pin patches have been in the works for a while now. Ben Widawsky of Intel had written about it last year in a personal blog post about the future of PPGTT. "I believe the trends of the discussion (and the author’s personal preference) would be to add flags to the existing execbuf relocation mechanism. The flag would tell the kernel to not relocate it, and use the presumed_offset field that already exists. This is sometimes called, 'soft pin.' It is a bit of a chicken and egg problem since the amount of work in userspace to make this useful is non-trivial, and the feature can’t merged until there is an open source userspace."
Add A Comment