All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: mingo@redhat.com, hpa@zytor.com, tglx@linutronix.de,
	benh@kernel.crashing.org, yinghai@kernel.org
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
	x86@kernel.org, Tejun Heo <tj@kernel.org>,
	David Howells <dhowells@redhat.com>
Subject: [PATCH 2/6] bootmem: Fix __free_pages_bootmem() to use @order properly
Date: Tue, 12 Jul 2011 09:58:06 +0200	[thread overview]
Message-ID: <1310457490-3356-3-git-send-email-tj@kernel.org> (raw)
In-Reply-To: <1310457490-3356-1-git-send-email-tj@kernel.org>

a226f6c899 (FRV: Clean up bootmem allocator's page freeing algorithm)
separated out __free_pages_bootmem() from free_all_bootmem_core().
__free_pages_bootmem() takes @order argument but it assumes @order is
either 0 or ilog2(BITS_PER_LONG).  Note that all the current users
match that assumption and this doesn't cause actual problems.

Fix it by using 1 << order instead of BITS_PER_LONG.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: David Howells <dhowells@redhat.com>
---
 mm/page_alloc.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 9119faa..b6da6ed 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -705,10 +705,10 @@ void __meminit __free_pages_bootmem(struct page *page, unsigned int order)
 		int loop;
 
 		prefetchw(page);
-		for (loop = 0; loop < BITS_PER_LONG; loop++) {
+		for (loop = 0; loop < (1 << order); loop++) {
 			struct page *p = &page[loop];
 
-			if (loop + 1 < BITS_PER_LONG)
+			if (loop + 1 < (1 << order))
 				prefetchw(p + 1);
 			__ClearPageReserved(p);
 			set_page_count(p, 0);
-- 
1.7.6

  parent reply	other threads:[~2011-07-12  7:58 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-12  7:58 [PATCHSET x86/mm] memblock, x86: Misc cleanups Tejun Heo
2011-07-12  7:58 ` [PATCH 1/6] x86: Fix memblock_x86_check_reserved_size() use in efi_reserve_boot_services() Tejun Heo
2011-07-14  3:37   ` [tip:x86/memblock] " tip-bot for Tejun Heo
2011-07-12  7:58 ` Tejun Heo [this message]
2011-07-14  3:38   ` [tip:x86/memblock] bootmem: Fix __free_pages_bootmem() to use @order properly tip-bot for Tejun Heo
2011-07-12  7:58 ` [PATCH 3/6] memblock: Use MEMBLOCK_ALLOC_ACCESSIBLE instead of ANYWHERE in memblock_alloc_try_nid() Tejun Heo
2011-07-14  3:38   ` [tip:x86/memblock] " tip-bot for Tejun Heo
2011-07-12  7:58 ` [PATCH 4/6] memblock: Use round_up/down() instead of memblock_align_up/down() Tejun Heo
2011-07-14  3:39   ` [tip:x86/memblock] " tip-bot for Tejun Heo
2011-07-12  7:58 ` [PATCH 5/6] memblock: Kill MEMBLOCK_ERROR Tejun Heo
2011-07-14  3:39   ` [tip:x86/memblock] " tip-bot for Tejun Heo
2011-07-12  7:58 ` [PATCH 6/6] memblock: Replace memblock_find_base() with memblock_find_in_range() Tejun Heo
2011-07-14  3:39   ` [tip:x86/memblock] " tip-bot for Tejun Heo

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=1310457490-3356-3-git-send-email-tj@kernel.org \
    --to=tj@kernel.org \
    --cc=benh@kernel.crashing.org \
    --cc=dhowells@redhat.com \
    --cc=hpa@zytor.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.org \
    /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.