mbox

[GIT,PULL,for-next] ARM: mm: Switch ARM port to NO_BOOTMEM for 3.14

Message ID 1386017539-10295-1-git-send-email-santosh.shilimkar@ti.com
State New
Headers show

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git for_3.14/arm-no-bootmem

Message

Santosh Shilimkar Dec. 2, 2013, 8:52 p.m. UTC
Russell,

Here is the pull request for-next so that the series gets wider testing
to catch any regression early in the cycle.

The following changes since commit 6ce4eac1f600b34f2f7f58f9cd8f0503d79e42ae:

  Linux 3.13-rc1 (2013-11-22 11:30:55 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git for_3.14/arm-no-bootmem

for you to fetch changes up to 84f452b1e8fc73ac0e31254c66e3e2260ce5263d:

  ARM: mm: Remove bootmem code and switch to NO_BOOTMEM (2013-11-23 17:58:35 -0500)

----------------------------------------------------------------

Grygorii Strashko (1):
  ARM: mm: Don't allow resizing of memblock data until "low" memory is
    not mapped

Santosh Shilimkar (2):
  ARM: mm: Fix max_mapnr with recent max*pfn updates
  ARM: mm: Remove bootmem code and switch to NO_BOOTMEM

 arch/arm/Kconfig        |    1 +
 arch/arm/kernel/setup.c |    2 +-
 arch/arm/mm/init.c      |   62 +++--------------------------------------------
 3 files changed, 6 insertions(+), 59 deletions(-)

Comments

Russell King - ARM Linux Dec. 5, 2013, 10:33 a.m. UTC | #1
On Mon, Dec 02, 2013 at 03:52:19PM -0500, Santosh Shilimkar wrote:
> Russell,
> 
> Here is the pull request for-next so that the series gets wider testing
> to catch any regression early in the cycle.

This unfortunately adds a new warning to all the ARM builds:

mm/nobootmem.c: In function '__free_pages_memory':
mm/nobootmem.c:88:201: warning: comparison of distinct pointer types lacks a cast

I don't think it's your change which is causing this, but it does
introduce this new code.  The problem is this:

        while (start < end) {
                order = min(MAX_ORDER - 1UL, __ffs(start));

The types of "MAX_ORDER - 1UL" and "__ffs(start)" differ, which may leads
to min() having unexpected behaviour.  This isn't helped by:

arch/x86/include/asm/bitops.h:static inline unsigned long __ffs(unsigned long word)

vs

static inline int fls(int x)
...
#define ffs(x) ({ unsigned long __t = (x); fls(__t & -__t); })
#define __ffs(x) (ffs(x) - 1)

So on ARM, we have a different return type.  We need to fix ARM's
definition of __ffs() et.al. to have comparable return types to x86.
Santosh Shilimkar Dec. 5, 2013, 12:28 p.m. UTC | #2
On Thursday 05 December 2013 05:33 AM, Russell King - ARM Linux wrote:
> On Mon, Dec 02, 2013 at 03:52:19PM -0500, Santosh Shilimkar wrote:
>> Russell,
>>
>> Here is the pull request for-next so that the series gets wider testing
>> to catch any regression early in the cycle.
> 
> This unfortunately adds a new warning to all the ARM builds:
> 
> mm/nobootmem.c: In function '__free_pages_memory':
> mm/nobootmem.c:88:201: warning: comparison of distinct pointer types lacks a cast
> 
I actually sent fix for it before sending you the pull request. Forgot
to capture that in message.

Patch[1] is already acked by Tejun and I was assuming it would
have been applied and should start showing up in next. Not sure
if its good idea but we could add the patch along with the $subject
series.

Regards,
Santosh

[1] https://lkml.org/lkml/2013/11/25/455