[PATCH] drm/mm: revert "Break long searches in fragmented address spaces"

Christian König ckoenig.leichtzumerken at gmail.com
Tue Mar 31 08:59:45 UTC 2020


A not so gentle ping, since this pretty much broke all TTM based drivers.

Could we revert this for now?

Thanks,
Christian.

Am 30.03.20 um 14:34 schrieb Christian König:
> This reverts commit 7be1b9b8e9d1e9ef0342d2e001f44eec4030aa4d.
>
> The drm_mm is supposed to work in atomic context, so calling schedule()
> or in this case cond_resched() is illegal.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
>   drivers/gpu/drm/drm_mm.c | 8 +-------
>   1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c
> index bc6e208949e8..8981abe8b7c9 100644
> --- a/drivers/gpu/drm/drm_mm.c
> +++ b/drivers/gpu/drm/drm_mm.c
> @@ -45,7 +45,6 @@
>   #include <linux/export.h>
>   #include <linux/interval_tree_generic.h>
>   #include <linux/seq_file.h>
> -#include <linux/sched/signal.h>
>   #include <linux/slab.h>
>   #include <linux/stacktrace.h>
>   
> @@ -367,11 +366,6 @@ next_hole(struct drm_mm *mm,
>   	  struct drm_mm_node *node,
>   	  enum drm_mm_insert_mode mode)
>   {
> -	/* Searching is slow; check if we ran out of time/patience */
> -	cond_resched();
> -	if (fatal_signal_pending(current))
> -		return NULL;
> -
>   	switch (mode) {
>   	default:
>   	case DRM_MM_INSERT_BEST:
> @@ -563,7 +557,7 @@ int drm_mm_insert_node_in_range(struct drm_mm * const mm,
>   		return 0;
>   	}
>   
> -	return signal_pending(current) ? -ERESTARTSYS : -ENOSPC;
> +	return -ENOSPC;
>   }
>   EXPORT_SYMBOL(drm_mm_insert_node_in_range);
>   



More information about the dri-devel mailing list