All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mel Gorman <mgorman@suse.de>
To: Kautuk Consul <consul.kautuk@gmail.com>
Cc: stable@kernel.org, "Russell King\"" <rmk@arm.linux.org.uk>,
	Will Deacon <will.deacon@arm.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ARM : sparsemem: Crashes on ARM platform when sparsemem enabled in linux-2.6.???35.13 due to pfn_valid(???) and pfn_valid_???within().
Date: Wed, 3 Aug 2011 11:56:07 +0100	[thread overview]
Message-ID: <20110803105607.GC19099@suse.de> (raw)
In-Reply-To: <CAFPAmTQGkTstM1j0kJWng8rf9_wfBa427r69-5rQpFJCSQGZkw@mail.gmail.com>

On Tue, Aug 02, 2011 at 01:36:49PM +0530, Kautuk Consul wrote:
> Hi,
> 
> On my ARM machine, I have linux-2.6.35.13 installed and the total
> kernel memory is not aligned to the section size SECTION_SIZE_BITS.
> 
> I observe kernel crashes in the following 3 scenarios:
> i)    When we do a "cat /proc/pagetypeinfo": This happens because the
> pfn_valid() macro is not able to detect invalid PFNs in the loop in
> vmstat.c: pagetypeinfo_showblockcount_print().
> ii)    When we do "echo xxxx > /proc/vm/sys/min_free_kbytes": This
> happens because the pfn_valid() macro is not able to detect invalid
> PFNs in page_alloc.c: setup_zone_migrate_reserve().
> iii)   When I try to copy a really huge file: This happens because the
> CONFIG_HOLES_IN_ZONE config option is not set.
>        The code then crashes in the VM_BUG_ON in loop in
> move_freepages() as pfn_valid_within() did not compile correctly to
> pfn_valid().
> 
> This patch is a combination of :
> a)  Back-ported changes of the patch from Will Deacon found at:
> http://git.kernel.org/?p=linux/kernel/git/stable/linux-3.0.y.git;a=commit;h=7b7bf499f79de3f6c85a340c8453a78789523f85
> b) Addition of the CONFIG_HOLES_IN_ZONE config option to
> arch/arm/Kconfig in order to prevent crashes in move_freepages()
> when/if the total kernel memory is not aligned to SECTION_SIZE_BITS.
> This also leads to
> proper compilation of the pfn_valid_within() macro which otherwise
> will always return 1 to the caller.
> 

Ok, for -stable backports, it is required that each patch is a backport
of a single commit. This is to ensure that there are no accidental
forks or fixes that get lost. If this patch is a combination of two
patches, then the expected format for review would be in three mails

Mail 1: [Patch 0/2] A leader explaining why the series is required. The
	information you have above is fine

Mail 2: [Patch 1/2] would be commit 
        [7b7bf499: ARM: 6913/1: sparsemem: allow pfn_valid to be
        overridden when using SPARSEMEM]

	The only difference between that commit and your commit would
	be that it's being sent to stable and at the beginning of the
	mail you should have

	"commit: 7b7bf499f79de3f6c85a340c8453a78789523f85"

	This is to the history of the patch is clear at a glance

Mail 3: [Patch 2/2] would be whatever commit introduces
	CONFIG_HOLES_IN_ZONE. If this is not in mainline already,
	it should be merged to mainline before backporting.

See Documentation/stable_kernel_rules.txt .

In this format for example, I would not even have to review patch 1/2
properly other than checking it's equivalent to the mainstream patch
that I already ack'd. It'd probably have been picked up by now :/ .

I don't know about patch 2 yet because I didn't go to the effort of
applying this patch, reverting the upstream commit and examining the
remainder.

I know this appears awkward but review bandwidth is extremely limited
and it's important that fixes do not get lost.

-- 
Mel Gorman
SUSE Labs

WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mgorman@suse.de>
To: Kautuk Consul <consul.kautuk@gmail.com>
Cc: stable@kernel.org, "Russell King\"" <rmk@arm.linux.org.uk>,
	Will Deacon <will.deacon@arm.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ARM : sparsemem: Crashes on ARM platform when sparsemem enabled in linux-2.6.???35.13 due to pfn_valid(???) and pfn_valid_???within().
Date: Wed, 3 Aug 2011 11:56:07 +0100	[thread overview]
Message-ID: <20110803105607.GC19099@suse.de> (raw)
In-Reply-To: <CAFPAmTQGkTstM1j0kJWng8rf9_wfBa427r69-5rQpFJCSQGZkw@mail.gmail.com>

On Tue, Aug 02, 2011 at 01:36:49PM +0530, Kautuk Consul wrote:
> Hi,
> 
> On my ARM machine, I have linux-2.6.35.13 installed and the total
> kernel memory is not aligned to the section size SECTION_SIZE_BITS.
> 
> I observe kernel crashes in the following 3 scenarios:
> i)    When we do a "cat /proc/pagetypeinfo": This happens because the
> pfn_valid() macro is not able to detect invalid PFNs in the loop in
> vmstat.c: pagetypeinfo_showblockcount_print().
> ii)    When we do "echo xxxx > /proc/vm/sys/min_free_kbytes": This
> happens because the pfn_valid() macro is not able to detect invalid
> PFNs in page_alloc.c: setup_zone_migrate_reserve().
> iii)   When I try to copy a really huge file: This happens because the
> CONFIG_HOLES_IN_ZONE config option is not set.
>        The code then crashes in the VM_BUG_ON in loop in
> move_freepages() as pfn_valid_within() did not compile correctly to
> pfn_valid().
> 
> This patch is a combination of :
> a)  Back-ported changes of the patch from Will Deacon found at:
> http://git.kernel.org/?p=linux/kernel/git/stable/linux-3.0.y.git;a=commit;h=7b7bf499f79de3f6c85a340c8453a78789523f85
> b) Addition of the CONFIG_HOLES_IN_ZONE config option to
> arch/arm/Kconfig in order to prevent crashes in move_freepages()
> when/if the total kernel memory is not aligned to SECTION_SIZE_BITS.
> This also leads to
> proper compilation of the pfn_valid_within() macro which otherwise
> will always return 1 to the caller.
> 

Ok, for -stable backports, it is required that each patch is a backport
of a single commit. This is to ensure that there are no accidental
forks or fixes that get lost. If this patch is a combination of two
patches, then the expected format for review would be in three mails

Mail 1: [Patch 0/2] A leader explaining why the series is required. The
	information you have above is fine

Mail 2: [Patch 1/2] would be commit 
        [7b7bf499: ARM: 6913/1: sparsemem: allow pfn_valid to be
        overridden when using SPARSEMEM]

	The only difference between that commit and your commit would
	be that it's being sent to stable and at the beginning of the
	mail you should have

	"commit: 7b7bf499f79de3f6c85a340c8453a78789523f85"

	This is to the history of the patch is clear at a glance

Mail 3: [Patch 2/2] would be whatever commit introduces
	CONFIG_HOLES_IN_ZONE. If this is not in mainline already,
	it should be merged to mainline before backporting.

See Documentation/stable_kernel_rules.txt .

In this format for example, I would not even have to review patch 1/2
properly other than checking it's equivalent to the mainstream patch
that I already ack'd. It'd probably have been picked up by now :/ .

I don't know about patch 2 yet because I didn't go to the effort of
applying this patch, reverting the upstream commit and examining the
remainder.

I know this appears awkward but review bandwidth is extremely limited
and it's important that fixes do not get lost.

-- 
Mel Gorman
SUSE Labs

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2011-08-03 10:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-02  8:06 [PATCH] ARM : sparsemem: Crashes on ARM platform when sparsemem enabled in linux-2.6.​35.13 due to pfn_valid(​) and pfn_valid_​within() Kautuk Consul
2011-08-02  8:06 ` Kautuk Consul
2011-08-03 10:56 ` Mel Gorman [this message]
2011-08-03 10:56   ` [PATCH] ARM : sparsemem: Crashes on ARM platform when sparsemem enabled in linux-2.6.???35.13 due to pfn_valid(???) and pfn_valid_???within() Mel Gorman

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=20110803105607.GC19099@suse.de \
    --to=mgorman@suse.de \
    --cc=consul.kautuk@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=rmk@arm.linux.org.uk \
    --cc=stable@kernel.org \
    --cc=will.deacon@arm.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.