Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1674650

Re: [PATCH 2/6] mm, tree wide: replace __GFP_REPEAT by __GFP_RETRY_MAYFAIL with more useful semantic

From Vlastimil Babka <vbabka@suse.cz>
Newsgroups linux.kernel
Subject Re: [PATCH 2/6] mm, tree wide: replace __GFP_REPEAT by __GFP_RETRY_MAYFAIL with more useful semantic
Date 2017-06-26 14:00 +0200
Message-ID <tWAQp-1Ty-9@gated-at.bofh.it> (permalink)
References <tVsBz-8nM-3@gated-at.bofh.it> <tVsBB-8nM-41@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 06/23/2017 10:53 AM, Michal Hocko wrote:
...

> diff --git a/include/linux/gfp.h b/include/linux/gfp.h
> index 4c6656f1fee7..6be1f836b69e 100644
> --- a/include/linux/gfp.h
> +++ b/include/linux/gfp.h
> @@ -25,7 +25,7 @@ struct vm_area_struct;
>  #define ___GFP_FS		0x80u
>  #define ___GFP_COLD		0x100u
>  #define ___GFP_NOWARN		0x200u
> -#define ___GFP_REPEAT		0x400u
> +#define ___GFP_RETRY_MAYFAIL		0x400u
>  #define ___GFP_NOFAIL		0x800u
>  #define ___GFP_NORETRY		0x1000u
>  #define ___GFP_MEMALLOC		0x2000u
> @@ -136,26 +136,55 @@ struct vm_area_struct;
>   *
>   * __GFP_RECLAIM is shorthand to allow/forbid both direct and kswapd reclaim.
>   *
> - * __GFP_REPEAT: Try hard to allocate the memory, but the allocation attempt
> - *   _might_ fail.  This depends upon the particular VM implementation.
> + * The default allocator behavior depends on the request size. We have a concept
> + * of so called costly allocations (with order > PAGE_ALLOC_COSTLY_ORDER).
> + * !costly allocations are too essential to fail so they are implicitly
> + * non-failing (with some exceptions like OOM victims might fail) by default while
> + * costly requests try to be not disruptive and back off even without invoking
> + * the OOM killer. The following three modifiers might be used to override some of
> + * these implicit rules
> + *
> + * __GFP_NORETRY: The VM implementation will try only very lightweight
> + *   memory direct reclaim to get some memory under memory pressure (thus
> + *   it can sleep). It will avoid disruptive actions like OOM killer. The
> + *   caller must handle the failure which is quite likely to happen under
> + *   heavy memory pressure. The flag is suitable when failure can easily be
> + *   handled at small cost, such as reduced throughput
> + *
> + * __GFP_RETRY_MAYFAIL: The VM implementation will retry memory reclaim
> + *   procedures that have previously failed if there is some indication
> + *   that progress has been made else where.  It can wait for other
> + *   tasks to attempt high level approaches to freeing memory such as
> + *   compaction (which removes fragmentation) and page-out.
> + *   There is still a definite limit to the number of retries, but it is
> + *   a larger limit than with __GFP_NORERY.

Also, __GFP_NORETRY ^ (for grep purposes).

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH 0/6] mm: give __GFP_REPEAT a better semantic Michal Hocko <mhocko@kernel.org> - 2017-06-23 11:00 +0200
  [PATCH 1/6] MIPS: do not use __GFP_REPEAT for order-0 request Michal Hocko <mhocko@kernel.org> - 2017-06-23 11:00 +0200
    Re: [PATCH 1/6] MIPS: do not use __GFP_REPEAT for order-0 request Ralf Baechle <ralf@linux-mips.org> - 2017-06-23 12:30 +0200
    Re: [PATCH 1/6] MIPS: do not use __GFP_REPEAT for order-0 request Vlastimil Babka <vbabka@suse.cz> - 2017-06-26 11:40 +0200
  [PATCH 5/6] drm/i915: use __GFP_RETRY_MAYFAIL Michal Hocko <mhocko@kernel.org> - 2017-06-23 11:00 +0200
  [PATCH 6/6] mm, migration: do not trigger OOM killer when migrating memory Michal Hocko <mhocko@kernel.org> - 2017-06-23 11:00 +0200
    Re: [PATCH 6/6] mm, migration: do not trigger OOM killer when  migrating memory Andrew Morton <akpm@linux-foundation.org> - 2017-06-23 22:50 +0200
      Re: [PATCH 6/6] mm, migration: do not trigger OOM killer when  migrating memory Michal Hocko <mhocko@kernel.org> - 2017-06-26 07:30 +0200
    Re: [PATCH 6/6] mm, migration: do not trigger OOM killer when  migrating memory Vlastimil Babka <vbabka@suse.cz> - 2017-06-26 14:20 +0200
  [PATCH 4/6] mm: kvmalloc support __GFP_RETRY_MAYFAIL for all sizes Michal Hocko <mhocko@kernel.org> - 2017-06-23 11:00 +0200
    Re: [PATCH 4/6] mm: kvmalloc support __GFP_RETRY_MAYFAIL for all  sizes Vlastimil Babka <vbabka@suse.cz> - 2017-06-26 14:10 +0200
      Re: [PATCH 4/6] mm: kvmalloc support __GFP_RETRY_MAYFAIL for all  sizes Michal Hocko <mhocko@kernel.org> - 2017-06-26 14:20 +0200
  [PATCH 2/6] mm, tree wide: replace __GFP_REPEAT by __GFP_RETRY_MAYFAIL with more useful semantic Michal Hocko <mhocko@kernel.org> - 2017-06-23 11:00 +0200
    Re: [PATCH 2/6] mm, tree wide: replace __GFP_REPEAT by  __GFP_RETRY_MAYFAIL with more useful semantic Vlastimil Babka <vbabka@suse.cz> - 2017-06-26 13:50 +0200
      Re: [PATCH 2/6] mm, tree wide: replace __GFP_REPEAT by  __GFP_RETRY_MAYFAIL with more useful semantic Vlastimil Babka <vbabka@suse.cz> - 2017-06-26 14:20 +0200
        Re: [PATCH 2/6] mm, tree wide: replace __GFP_REPEAT by  __GFP_RETRY_MAYFAIL with more useful semantic Michal Hocko <mhocko@kernel.org> - 2017-06-26 14:40 +0200
          Re: [PATCH 2/6] mm, tree wide: replace __GFP_REPEAT by  __GFP_RETRY_MAYFAIL with more useful semantic Michal Hocko <mhocko@kernel.org> - 2017-06-26 14:50 +0200
      Re: [PATCH 2/6] mm, tree wide: replace __GFP_REPEAT by  __GFP_RETRY_MAYFAIL with more useful semantic Michal Hocko <mhocko@kernel.org> - 2017-06-26 14:20 +0200
    Re: [PATCH 2/6] mm, tree wide: replace __GFP_REPEAT by  __GFP_RETRY_MAYFAIL with more useful semantic Vlastimil Babka <vbabka@suse.cz> - 2017-06-26 14:00 +0200

csiph-web