All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@kernel.org>
To: <linux-mm@kvack.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Michal Hocko <mhocko@suse.com>,
	Vineet Gupta <vgupta@synopsys.com>,
	linux-arch@vger.kernel.org
Subject: [PATCH 06/19] arc: get rid of superfluous __GFP_REPEAT
Date: Mon, 11 Apr 2016 13:07:59 +0200	[thread overview]
Message-ID: <1460372892-8157-7-git-send-email-mhocko@kernel.org> (raw)
In-Reply-To: <1460372892-8157-1-git-send-email-mhocko@kernel.org>

From: Michal Hocko <mhocko@suse.com>

__GFP_REPEAT has a rather weak semantic but since it has been introduced
around 2.6.12 it has been ignored for low order allocations.

pte_alloc_one_kernel uses __get_order_pte but this is obviously
always zero because BITS_FOR_PTE is not larger than 9 yet the page
size is always larger than 4K.  This means that this flag has never
been actually useful here because it has always been used only for
PAGE_ALLOC_COSTLY requests.

Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: linux-arch@vger.kernel.org
Signed-off-by: Michal Hocko <mhocko@suse.com>
---
 arch/arc/include/asm/pgalloc.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arc/include/asm/pgalloc.h b/arch/arc/include/asm/pgalloc.h
index 86ed671286df..3749234b7419 100644
--- a/arch/arc/include/asm/pgalloc.h
+++ b/arch/arc/include/asm/pgalloc.h
@@ -95,7 +95,7 @@ static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm,
 {
 	pte_t *pte;
 
-	pte = (pte_t *) __get_free_pages(GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO,
+	pte = (pte_t *) __get_free_pages(GFP_KERNEL | __GFP_ZERO,
 					 __get_order_pte());
 
 	return pte;
@@ -107,7 +107,7 @@ pte_alloc_one(struct mm_struct *mm, unsigned long address)
 	pgtable_t pte_pg;
 	struct page *page;
 
-	pte_pg = (pgtable_t)__get_free_pages(GFP_KERNEL | __GFP_REPEAT, __get_order_pte());
+	pte_pg = (pgtable_t)__get_free_pages(GFP_KERNEL, __get_order_pte());
 	if (!pte_pg)
 		return 0;
 	memzero((void *)pte_pg, PTRS_PER_PTE * sizeof(pte_t));
-- 
2.8.0.rc3

WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org>
To: linux-mm@kvack.org
Cc: Andrew Morton <akpm@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Michal Hocko <mhocko@suse.com>,
	Vineet Gupta <vgupta@synopsys.com>,
	linux-arch@vger.kernel.org
Subject: [PATCH 06/19] arc: get rid of superfluous __GFP_REPEAT
Date: Mon, 11 Apr 2016 13:07:59 +0200	[thread overview]
Message-ID: <1460372892-8157-7-git-send-email-mhocko@kernel.org> (raw)
In-Reply-To: <1460372892-8157-1-git-send-email-mhocko@kernel.org>

From: Michal Hocko <mhocko@suse.com>

__GFP_REPEAT has a rather weak semantic but since it has been introduced
around 2.6.12 it has been ignored for low order allocations.

pte_alloc_one_kernel uses __get_order_pte but this is obviously
always zero because BITS_FOR_PTE is not larger than 9 yet the page
size is always larger than 4K.  This means that this flag has never
been actually useful here because it has always been used only for
PAGE_ALLOC_COSTLY requests.

Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: linux-arch@vger.kernel.org
Signed-off-by: Michal Hocko <mhocko@suse.com>
---
 arch/arc/include/asm/pgalloc.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arc/include/asm/pgalloc.h b/arch/arc/include/asm/pgalloc.h
index 86ed671286df..3749234b7419 100644
--- a/arch/arc/include/asm/pgalloc.h
+++ b/arch/arc/include/asm/pgalloc.h
@@ -95,7 +95,7 @@ static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm,
 {
 	pte_t *pte;
 
-	pte = (pte_t *) __get_free_pages(GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO,
+	pte = (pte_t *) __get_free_pages(GFP_KERNEL | __GFP_ZERO,
 					 __get_order_pte());
 
 	return pte;
@@ -107,7 +107,7 @@ pte_alloc_one(struct mm_struct *mm, unsigned long address)
 	pgtable_t pte_pg;
 	struct page *page;
 
-	pte_pg = (pgtable_t)__get_free_pages(GFP_KERNEL | __GFP_REPEAT, __get_order_pte());
+	pte_pg = (pgtable_t)__get_free_pages(GFP_KERNEL, __get_order_pte());
 	if (!pte_pg)
 		return 0;
 	memzero((void *)pte_pg, PTRS_PER_PTE * sizeof(pte_t));
-- 
2.8.0.rc3

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org>
To: linux-mm@kvack.org
Cc: Andrew Morton <akpm@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Michal Hocko <mhocko@suse.com>,
	Vineet Gupta <vgupta@synopsys.com>,
	linux-arch@vger.kernel.org
Subject: [PATCH 06/19] arc: get rid of superfluous __GFP_REPEAT
Date: Mon, 11 Apr 2016 13:07:59 +0200	[thread overview]
Message-ID: <1460372892-8157-7-git-send-email-mhocko@kernel.org> (raw)
Message-ID: <20160411110759.BUodyxKomhmrveVjPLJt8n7RK-163Y-zjkWbGvxiap0@z> (raw)
In-Reply-To: <1460372892-8157-1-git-send-email-mhocko@kernel.org>

From: Michal Hocko <mhocko@suse.com>

__GFP_REPEAT has a rather weak semantic but since it has been introduced
around 2.6.12 it has been ignored for low order allocations.

pte_alloc_one_kernel uses __get_order_pte but this is obviously
always zero because BITS_FOR_PTE is not larger than 9 yet the page
size is always larger than 4K.  This means that this flag has never
been actually useful here because it has always been used only for
PAGE_ALLOC_COSTLY requests.

Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: linux-arch@vger.kernel.org
Signed-off-by: Michal Hocko <mhocko@suse.com>
---
 arch/arc/include/asm/pgalloc.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arc/include/asm/pgalloc.h b/arch/arc/include/asm/pgalloc.h
index 86ed671286df..3749234b7419 100644
--- a/arch/arc/include/asm/pgalloc.h
+++ b/arch/arc/include/asm/pgalloc.h
@@ -95,7 +95,7 @@ static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm,
 {
 	pte_t *pte;
 
-	pte = (pte_t *) __get_free_pages(GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO,
+	pte = (pte_t *) __get_free_pages(GFP_KERNEL | __GFP_ZERO,
 					 __get_order_pte());
 
 	return pte;
@@ -107,7 +107,7 @@ pte_alloc_one(struct mm_struct *mm, unsigned long address)
 	pgtable_t pte_pg;
 	struct page *page;
 
-	pte_pg = (pgtable_t)__get_free_pages(GFP_KERNEL | __GFP_REPEAT, __get_order_pte());
+	pte_pg = (pgtable_t)__get_free_pages(GFP_KERNEL, __get_order_pte());
 	if (!pte_pg)
 		return 0;
 	memzero((void *)pte_pg, PTRS_PER_PTE * sizeof(pte_t));
-- 
2.8.0.rc3


  parent reply	other threads:[~2016-04-11 11:12 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-11 11:07 [PATCH 0/19] get rid of superfluous __GFP_REPORT Michal Hocko
2016-04-11 11:07 ` Michal Hocko
2016-04-11 11:07 ` [PATCH 01/19] tree wide: get rid of __GFP_REPEAT for order-0 allocations part I Michal Hocko
2016-04-11 11:07   ` Michal Hocko
2016-04-11 11:07   ` Michal Hocko
2016-04-14 19:56   ` David Rientjes
2016-04-14 19:56     ` David Rientjes
2016-04-15  7:44     ` Michal Hocko
2016-04-15  7:44       ` Michal Hocko
2016-04-15  7:44       ` Michal Hocko
2016-04-15  7:44       ` Michal Hocko
2016-04-11 11:07 ` [PATCH 02/19] x86: get rid of superfluous __GFP_REPEAT Michal Hocko
2016-04-11 11:07   ` Michal Hocko
2016-04-11 11:07   ` Michal Hocko
2016-04-11 11:07 ` [PATCH 03/19] x86/efi: " Michal Hocko
2016-04-11 11:07   ` Michal Hocko
2016-04-11 11:07   ` Michal Hocko
2016-04-12 15:53   ` Matt Fleming
2016-04-12 15:53     ` Matt Fleming
2016-04-11 11:07 ` [PATCH 04/19] arm: " Michal Hocko
2016-04-11 11:07   ` Michal Hocko
2016-04-11 11:07   ` Michal Hocko
2016-04-11 11:07 ` [PATCH 05/19] arm64: " Michal Hocko
2016-04-11 11:07   ` Michal Hocko
2016-04-11 11:07   ` Michal Hocko
2016-04-11 15:49   ` Will Deacon
2016-04-11 15:49     ` Will Deacon
2016-04-11 11:07 ` Michal Hocko [this message]
2016-04-11 11:07   ` [PATCH 06/19] arc: " Michal Hocko
2016-04-11 11:07   ` Michal Hocko
2016-04-11 14:23   ` Vineet Gupta
2016-04-11 14:23     ` Vineet Gupta
2016-04-11 11:08 ` [PATCH 07/19] mips: " Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08 ` [PATCH 08/19] nios2: " Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08 ` [PATCH 09/19] parisc: " Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08 ` [PATCH 10/19] score: " Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08 ` [PATCH 11/19] powerpc: " Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08 ` [PATCH 12/19] sparc: " Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08 ` [PATCH 13/19] s390: " Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:28   ` Cornelia Huck
2016-04-11 11:28     ` Cornelia Huck
2016-04-11 11:28     ` Cornelia Huck
2016-04-11 12:47     ` Heiko Carstens
2016-04-11 12:47       ` Heiko Carstens
2016-04-11 11:08 ` [PATCH 14/19] sh: " Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08 ` [PATCH 15/19] tile: " Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08 ` [PATCH 16/19] unicore32: " Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-11 11:08 ` [PATCH 17/19] dm: get rid of superfluous gfp flags Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-15 12:29   ` Mikulas Patocka
2016-04-15 12:29     ` Mikulas Patocka
2016-04-15 13:08     ` Michal Hocko
2016-04-15 13:08       ` Michal Hocko
2016-04-15 18:41       ` Mikulas Patocka
2016-04-15 18:41         ` Mikulas Patocka
2016-04-16 20:31         ` Michal Hocko
2016-04-16 20:31           ` Michal Hocko
2016-04-22 12:47           ` Michal Hocko
2016-04-22 12:47             ` Michal Hocko
2016-04-26 17:20             ` Mikulas Patocka
2016-04-26 17:20               ` Mikulas Patocka
2016-04-27  8:35               ` Michal Hocko
2016-04-27  8:35                 ` Michal Hocko
2016-04-27  8:35                 ` Michal Hocko
2016-04-11 11:08 ` [PATCH 18/19] crypto: get rid of superfluous __GFP_REPEAT Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-14  6:27   ` Herbert Xu
2016-04-14  6:27     ` Herbert Xu
2016-04-14  7:02     ` Michal Hocko
2016-04-14  7:02       ` Michal Hocko
2016-04-14  8:16       ` Herbert Xu
2016-04-14  8:16         ` Herbert Xu
2016-04-14  8:51   ` [PATCH resend] " Michal Hocko
2016-04-14  8:51     ` Michal Hocko
2016-04-15 14:37     ` Herbert Xu
2016-04-15 14:37       ` Herbert Xu
2016-04-11 11:08 ` [PATCH 19/19] jbd2: " Michal Hocko
2016-04-11 11:08   ` Michal Hocko
2016-04-13 11:21 ` CC in git cover letter vs patches (was Re: [PATCH 0/19] get rid of superfluous __GFP_REPORT) Vineet Gupta
2016-04-13 11:21   ` Vineet Gupta
2016-04-13 11:21   ` Vineet Gupta
2016-04-13 13:33   ` Michal Hocko
2016-04-13 13:33     ` Michal Hocko

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=1460372892-8157-7-git-send-email-mhocko@kernel.org \
    --to=mhocko@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=vgupta@synopsys.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.