Re: [Intel-gfx] [PATCH] drm/i915: Suppress oom warning for shmemfs object allocation failure

2022-07-27 Thread Andi Shyti
Hi Nirmoy,

On Wed, Jul 27, 2022 at 07:40:23PM +0200, Nirmoy Das wrote:
> From: Chris Wilson 
> 
> We report object allocation failures to userspace with ENOMEM, yet we
> still show the memory warning after failing to shrink device allocated
> pages. While this warning is similar to other system page allocation
> failures, it is superfluous to the ENOMEM provided directly to
> userspace.
> 
> v2: Add NOWARN in few more places from where we might return
> ENOMEM to userspace.
> 
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4936
> Signed-off-by: Chris Wilson 
> Co-developed-by: Nirmoy Das 
> Signed-off-by: Nirmoy Das 

Reviewed-by: Andi Shyti 

Andi


Re: [Intel-gfx] [PATCH] drm/i915: Suppress oom warning for shmemfs object allocation failure

2022-07-26 Thread Das, Nirmoy

Please ignore this one.


Nirmoy

On 7/26/2022 4:47 PM, Nirmoy Das wrote:

From: Chris Wilson 

We report object allocation failures to userspace with ENOMEM, yet we
still show the memory warning after failing to shrink device allocated
pages. While this warning is similar to other system page allocation
failures, it is superfluous to the ENOMEM provided directly to
userspace.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4936
Signed-off-by: Chris Wilson 
Signed-off-by: Nirmoy Das 
---
  drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c 
b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
index 4eed3dd90ba8..4466173e1bcc 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
@@ -137,7 +137,7 @@ int shmem_sg_alloc_table(struct drm_i915_private *i915, 
struct sg_table *st,
 * trigger the out-of-memory killer and for
 * this we want __GFP_RETRY_MAYFAIL.
 */
-   gfp |= __GFP_RETRY_MAYFAIL;
+   gfp |= __GFP_RETRY_MAYFAIL | __GFP_NOWARN;
}
} while (1);
  


Re: [Intel-gfx] [PATCH] drm/i915: Suppress oom warning for shmemfs object allocation failure

2022-07-21 Thread Das, Nirmoy



On 7/21/2022 11:49 AM, Matthew Auld wrote:

On 20/07/2022 13:23, Nirmoy Das wrote:

From: Chris Wilson 

We report object allocation failures to userspace with ENOMEM, yet we
still show the memory warning after failing to shrink device allocated
pages. While this warning is similar to other system page allocation
failures, it is superfluous to the ENOMEM provided directly to
userspace.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4936


Is it not possible that this triggers OOM warning when calling 
sg_alloc_table() or similar?



I haven't observed any after running the test for a while but I think it 
might be possible, Do you think I should add __GFP_NOWARN for that too ?



Nirmoy


I guess shmem_read_mapping_page_gfp() is the most likely spot where 
this triggers OOM, but that doesn't have to be the case?



Signed-off-by: Chris Wilson 
Signed-off-by: Nirmoy Das 
---
  drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c 
b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c

index 4eed3dd90ba8..4466173e1bcc 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
@@ -137,7 +137,7 @@ int shmem_sg_alloc_table(struct drm_i915_private 
*i915, struct sg_table *st,

   * trigger the out-of-memory killer and for
   * this we want __GFP_RETRY_MAYFAIL.
   */
-    gfp |= __GFP_RETRY_MAYFAIL;
+    gfp |= __GFP_RETRY_MAYFAIL | __GFP_NOWARN;
  }
  } while (1);


Re: [Intel-gfx] [PATCH] drm/i915: Suppress oom warning for shmemfs object allocation failure

2022-07-21 Thread Matthew Auld

On 20/07/2022 13:23, Nirmoy Das wrote:

From: Chris Wilson 

We report object allocation failures to userspace with ENOMEM, yet we
still show the memory warning after failing to shrink device allocated
pages. While this warning is similar to other system page allocation
failures, it is superfluous to the ENOMEM provided directly to
userspace.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4936


Is it not possible that this triggers OOM warning when calling 
sg_alloc_table() or similar? I guess shmem_read_mapping_page_gfp() is 
the most likely spot where this triggers OOM, but that doesn't have to 
be the case?



Signed-off-by: Chris Wilson 
Signed-off-by: Nirmoy Das 
---
  drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c 
b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
index 4eed3dd90ba8..4466173e1bcc 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
@@ -137,7 +137,7 @@ int shmem_sg_alloc_table(struct drm_i915_private *i915, 
struct sg_table *st,
 * trigger the out-of-memory killer and for
 * this we want __GFP_RETRY_MAYFAIL.
 */
-   gfp |= __GFP_RETRY_MAYFAIL;
+   gfp |= __GFP_RETRY_MAYFAIL | __GFP_NOWARN;
}
} while (1);
  


Re: [Intel-gfx] [PATCH] drm/i915: Suppress oom warning for shmemfs object allocation failure

2022-07-20 Thread Andrzej Hajda

On 20.07.2022 14:23, Nirmoy Das wrote:

From: Chris Wilson 

We report object allocation failures to userspace with ENOMEM, yet we
still show the memory warning after failing to shrink device allocated
pages. While this warning is similar to other system page allocation
failures, it is superfluous to the ENOMEM provided directly to
userspace.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4936
Signed-off-by: Chris Wilson 
Signed-off-by: Nirmoy Das 
---
  drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c 
b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
index 4eed3dd90ba8..4466173e1bcc 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
@@ -137,7 +137,7 @@ int shmem_sg_alloc_table(struct drm_i915_private *i915, 
struct sg_table *st,
 * trigger the out-of-memory killer and for
 * this we want __GFP_RETRY_MAYFAIL.
 */
-   gfp |= __GFP_RETRY_MAYFAIL;
+   gfp |= __GFP_RETRY_MAYFAIL | __GFP_NOWARN;



Reviewed-by: Andrzej Hajda 

Regards
Andrzej


}
} while (1);