Message ID | 20210205130307.8294-1-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Autoselect CONFIG_CHECKPOINT_RESTORE for SYS_kcmp | expand |
On Fri, Feb 05, 2021 at 01:03:07PM +0000, Chris Wilson wrote: > gallium (iris) depends on os_same_file_description() to disambiguate > screens and so avoid importing the same screen fd twice as two distinct > entities (that share all the kernel resources, so actions on screen > affect the other and would cause random faiure). As they depend on it, > so must we. os_same_file_description() uses SYS_kcmp to check the file > tables for the equivalent struct file, but SYS_kcmp is hidden behind > CONFIG_CHECKPOINT_RESTORE. As this is not default, we must select it for > ourselves to ensure that our userspace is fully supported. > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3046 > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Jani Nikula <jani.nikula@intel.com> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Hm shouldn't we crank this up to CONFIG_DRM? Or embedded folks going to be unhappy about that? If so I guess we'd need to pull out just the SYS_kcmp part ... Asking because I think Bas is also looking at this, and it's not great if we're building on this and then users end up with very subtly broken gl/vk stacks :-/ -Daniel > --- > drivers/gpu/drm/i915/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig > index 1e1cb245fca7..470a5214bd33 100644 > --- a/drivers/gpu/drm/i915/Kconfig > +++ b/drivers/gpu/drm/i915/Kconfig > @@ -21,6 +21,7 @@ config DRM_I915 > select ACPI_VIDEO if ACPI > select ACPI_BUTTON if ACPI > select SYNC_FILE > + select CHECKPOINT_RESTORE # gallium depends on SYS_kcmp > select IOSF_MBI > select CRC32 > select SND_HDA_I915 if SND_HDA_CORE > -- > 2.20.1 >
On Fri, Feb 05, 2021 at 04:58:32PM +0100, Daniel Vetter wrote: > On Fri, Feb 05, 2021 at 01:03:07PM +0000, Chris Wilson wrote: > > gallium (iris) depends on os_same_file_description() to disambiguate > > screens and so avoid importing the same screen fd twice as two distinct > > entities (that share all the kernel resources, so actions on screen > > affect the other and would cause random faiure). As they depend on it, > > so must we. os_same_file_description() uses SYS_kcmp to check the file > > tables for the equivalent struct file, but SYS_kcmp is hidden behind > > CONFIG_CHECKPOINT_RESTORE. As this is not default, we must select it for > > ourselves to ensure that our userspace is fully supported. > > > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3046 > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > > Cc: Jani Nikula <jani.nikula@intel.com> > > Cc: Daniel Vetter <daniel.vetter@ffwll.ch> > > Hm shouldn't we crank this up to CONFIG_DRM? > > Or embedded folks going to be unhappy about that? If so I guess we'd need > to pull out just the SYS_kcmp part ... > > Asking because I think Bas is also looking at this, and it's not great if > we're building on this and then users end up with very subtly broken gl/vk > stacks :-/ Forgot to add Airlie. -Daniel > -Daniel > > > --- > > drivers/gpu/drm/i915/Kconfig | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig > > index 1e1cb245fca7..470a5214bd33 100644 > > --- a/drivers/gpu/drm/i915/Kconfig > > +++ b/drivers/gpu/drm/i915/Kconfig > > @@ -21,6 +21,7 @@ config DRM_I915 > > select ACPI_VIDEO if ACPI > > select ACPI_BUTTON if ACPI > > select SYNC_FILE > > + select CHECKPOINT_RESTORE # gallium depends on SYS_kcmp > > select IOSF_MBI > > select CRC32 > > select SND_HDA_I915 if SND_HDA_CORE > > -- > > 2.20.1 > > > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch
Am Freitag, dem 05.02.2021 um 16:59 +0100 schrieb Daniel Vetter: > On Fri, Feb 05, 2021 at 04:58:32PM +0100, Daniel Vetter wrote: > > On Fri, Feb 05, 2021 at 01:03:07PM +0000, Chris Wilson wrote: > > > gallium (iris) depends on os_same_file_description() to disambiguate > > > screens and so avoid importing the same screen fd twice as two distinct > > > entities (that share all the kernel resources, so actions on screen > > > affect the other and would cause random faiure). As they depend on it, > > > so must we. os_same_file_description() uses SYS_kcmp to check the file > > > tables for the equivalent struct file, but SYS_kcmp is hidden behind > > > CONFIG_CHECKPOINT_RESTORE. As this is not default, we must select it for > > > ourselves to ensure that our userspace is fully supported. > > > > > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3046 > > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > > > Cc: Jani Nikula <jani.nikula@intel.com> > > > Cc: Daniel Vetter <daniel.vetter@ffwll.ch> > > > > Hm shouldn't we crank this up to CONFIG_DRM? > > > > Or embedded folks going to be unhappy about that? If so I guess we'd need > > to pull out just the SYS_kcmp part ... > > > > Asking because I think Bas is also looking at this, and it's not great if > > we're building on this and then users end up with very subtly broken gl/vk > > stacks :-/ amdgpu gallium winsys seems to also require this, so selecting it from higher up in the Kconfig tree makes sense and I don't think embedded would be massively unhappy about this. However kcmp seems to be useful on its own and pulling it out of CHECKPOINT_RESTORE sounds like the right thing to do. Regards, Lucas > > > -Daniel > > > > > --- > > > drivers/gpu/drm/i915/Kconfig | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig > > > index 1e1cb245fca7..470a5214bd33 100644 > > > --- a/drivers/gpu/drm/i915/Kconfig > > > +++ b/drivers/gpu/drm/i915/Kconfig > > > @@ -21,6 +21,7 @@ config DRM_I915 > > > select ACPI_VIDEO if ACPI > > > select ACPI_BUTTON if ACPI > > > select SYNC_FILE > > > + select CHECKPOINT_RESTORE # gallium depends on SYS_kcmp > > > select IOSF_MBI > > > select CRC32 > > > select SND_HDA_I915 if SND_HDA_CORE > > > -- > > > 2.20.1 > > > > > > > -- > > Daniel Vetter > > Software Engineer, Intel Corporation > > http://blog.ffwll.ch >
diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig index 1e1cb245fca7..470a5214bd33 100644 --- a/drivers/gpu/drm/i915/Kconfig +++ b/drivers/gpu/drm/i915/Kconfig @@ -21,6 +21,7 @@ config DRM_I915 select ACPI_VIDEO if ACPI select ACPI_BUTTON if ACPI select SYNC_FILE + select CHECKPOINT_RESTORE # gallium depends on SYS_kcmp select IOSF_MBI select CRC32 select SND_HDA_I915 if SND_HDA_CORE
gallium (iris) depends on os_same_file_description() to disambiguate screens and so avoid importing the same screen fd twice as two distinct entities (that share all the kernel resources, so actions on screen affect the other and would cause random faiure). As they depend on it, so must we. os_same_file_description() uses SYS_kcmp to check the file tables for the equivalent struct file, but SYS_kcmp is hidden behind CONFIG_CHECKPOINT_RESTORE. As this is not default, we must select it for ourselves to ensure that our userspace is fully supported. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3046 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/i915/Kconfig | 1 + 1 file changed, 1 insertion(+)