Quoting Chris Wilson (2017-11-28 20:56:23) > Quoting Tvrtko Ursulin (2017-11-28 18:17:54) > > > > On 20/11/2017 12:23, Lionel Landwerlin wrote: > > > This enables userspace to discover the engines available on the GPU. > > > Here is the layout on a Skylake GT4: > > > > > > /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt > > > > On this one I think Joonas had a concern that it is difficult for > > userspace to get to the sysfs root from the drm file descriptor. > > > > Lionel pointed out that for master nodes it is quite easy: > > > > fstat(fd, &st); > > sprintf(sysfs_root, "/sys/dev/char/%u:%u", major(st.st_rdev), minor(st.st_rdev)); > > > > For render nodes it is trickier in a way that they would have to > > additional resolve an unknown master drm card number. For instance: > > > > /sys/dev/char/%u:%u/device/drm/cardX > > > > Where the "X" is unknown. > > > > But, is it even an use case for render nodes to try and get to the > > sysfs root of the master card? Are they allowed to do so? > > Yes. Mesa uses render nodes, and mesa needs the topology for its > performance monitoring api. So /sys/dev/char/226:128/ does not link to /sys/dev/char/226:0/. Maybe we should just add a card symlink from each minor back to our sysfs root? That seems doable. Then we just need open("/sys/dev/char/%u:%u/card"); -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx