All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Nirmoy Das <nirmoy.das@intel.com>
Cc: <intel-gfx@lists.freedesktop.org>,
	<dri-devel@lists.freedesktop.org>,
	Andi Shyti <andi.shyti@linux.intel.com>
Subject: Re: [PATCH] drm/i915/gem: Suppress oom warning in favour of ENOMEM to userspace
Date: Wed, 26 Jun 2024 11:24:04 -0400	[thread overview]
Message-ID: <ZnwylM64-5HqQr4R@intel.com> (raw)
In-Reply-To: <20240626143318.11600-1-nirmoy.das@intel.com>

On Wed, Jun 26, 2024 at 04:33:18PM +0200, Nirmoy Das wrote:
> We report object allocation failures to userspace with ENOMEM
> so add __GFP_NOWARN to remove superfluous oom warnings.
> 
> Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4936
> Cc: Andi Shyti <andi.shyti@linux.intel.com>
> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_scatterlist.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_scatterlist.c b/drivers/gpu/drm/i915/i915_scatterlist.c
> index e93d2538f298..4d830740946d 100644
> --- a/drivers/gpu/drm/i915/i915_scatterlist.c
> +++ b/drivers/gpu/drm/i915/i915_scatterlist.c
> @@ -90,7 +90,7 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node,
>  
>  	GEM_BUG_ON(!max_segment);
>  
> -	rsgt = kmalloc(sizeof(*rsgt), GFP_KERNEL);
> +	rsgt = kmalloc(sizeof(*rsgt), GFP_KERNEL | __GFP_NOWARN);
>  	if (!rsgt)
>  		return ERR_PTR(-ENOMEM);

is it really safe?
I don't believe we can guarantee a good fallback plan here if allocation fails.
__i915_refct_sgt_init
might end up in a null dereference, no?!

>  
> @@ -104,7 +104,7 @@ struct i915_refct_sgt *i915_rsgt_from_mm_node(const struct drm_mm_node *node,
>  	}
>  
>  	if (sg_alloc_table(st, DIV_ROUND_UP_ULL(node->size, segment_pages),
> -			   GFP_KERNEL)) {
> +			   GFP_KERNEL | __GFP_NOWARN)) {
>  		i915_refct_sgt_put(rsgt);
>  		return ERR_PTR(-ENOMEM);
>  	}
> @@ -178,7 +178,7 @@ struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res,
>  	GEM_BUG_ON(list_empty(blocks));
>  	GEM_BUG_ON(!max_segment);
>  
> -	rsgt = kmalloc(sizeof(*rsgt), GFP_KERNEL);
> +	rsgt = kmalloc(sizeof(*rsgt), GFP_KERNEL | __GFP_NOWARN);
>  	if (!rsgt)
>  		return ERR_PTR(-ENOMEM);
>  
> @@ -190,7 +190,7 @@ struct i915_refct_sgt *i915_rsgt_from_buddy_resource(struct ttm_resource *res,
>  		return ERR_PTR(-E2BIG);
>  	}
>  
> -	if (sg_alloc_table(st, PFN_UP(res->size), GFP_KERNEL)) {
> +	if (sg_alloc_table(st, PFN_UP(res->size), GFP_KERNEL | __GFP_NOWARN)) {
>  		i915_refct_sgt_put(rsgt);
>  		return ERR_PTR(-ENOMEM);
>  	}
> -- 
> 2.42.0
> 

  reply	other threads:[~2024-06-26 15:24 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-26 14:33 [PATCH] drm/i915/gem: Suppress oom warning in favour of ENOMEM to userspace Nirmoy Das
2024-06-26 15:24 ` Rodrigo Vivi [this message]
2024-06-26 15:36   ` Nirmoy Das
2024-06-26 15:50     ` Rodrigo Vivi
2024-06-26 21:07       ` Nirmoy Das
2024-06-26 17:02 ` ✓ Fi.CI.BAT: success for " Patchwork
2024-06-27  2:09 ` ✓ Fi.CI.IGT: " Patchwork
2024-06-27 10:04 ` [PATCH] " Andi Shyti
2024-06-27 16:56   ` Nirmoy Das
2024-06-27 22:36     ` Andi Shyti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZnwylM64-5HqQr4R@intel.com \
    --to=rodrigo.vivi@intel.com \
    --cc=andi.shyti@linux.intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=nirmoy.das@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.