Skip to contentSkip to conversation

nommu build failures on ARM in linux-next

DISCUSSION Paul Gortmaker 4 participants 7 messages May 29, 2014 – Jun 2, 2014 Linux-next tree

lore
Share & tools
lore
#1 lore raw
Quoted 7 lines · Paul Gortmaker

Hi Russell,

The allnoconfig builds in linux-next fail because __clear_cr lives in mmu.c without any stub or similar in nommu.c

Introduced by:

Quoted 8 lines

commit 247e4fff3aa927ad069447e6da05bb966b70dece

Author: Russell King <[email protected]>
Date:   Sun Apr 13 18:57:29 2014 +0100

ARM: provide common method to clear bits in CPU control register

Sample failure:
http://kisskb.ellerman.id.au/kisskb/buildresult/11264405/

ALIGNMENT_TRAP depends on CPU_CP15_MMU, so it's quite reasonable that __clear_cr should exist in this case - but it doesn't because it's in mmu.c. I guess we need __clear_cr moved to arch/arm/kernel/setup.c.

Signature · 2 lines
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
#2 lore raw
Quoted 12 lines · Russell King - ARM Linux
Quoted 11 lines · Paul Gortmaker

Hi Russell,

The allnoconfig builds in linux-next fail because __clear_cr lives in mmu.c without any stub or similar in nommu.c

Introduced by:

commit 247e4fff3aa927ad069447e6da05bb966b70dece

Author: Russell King <[email protected]>
Date:   Sun Apr 13 18:57:29 2014 +0100
Quoted 8 lines
Quoted 4 lines

ARM: provide common method to clear bits in CPU control register

Sample failure:
http://kisskb.ellerman.id.au/kisskb/buildresult/11264405/

ALIGNMENT_TRAP depends on CPU_CP15_MMU, so it's quite reasonable that __clear_cr should exist in this case - but it doesn't because it's in mmu.c. I guess we need __clear_cr moved to arch/arm/kernel/setup.c.

I've been looking at doing this, and while it can be done by applying a patch on top, that's not my preferred solution.

However, my preferred solution (which is to fix the commit) needs a bit of rework of the patch series, and given the number of patches I'm carrying right now, I'm just going to drop the branch out of linux-next and hold it off until the following merge window instead.

Even so, I suspect even with this build problem solved, that's not going to be the end of the story for noMMU breakage... it's certainly something that gets very little testing by anyone. I suspect it should be removed from the mainline kernel tree rather than being a constant source of these kinds of problems.

Signature · 2 lines
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
#3 lore raw
Quoted 30 lines · [Re: nommu build failures on ARM in linux-next] On 30/05/2014 (Fri 00:40)…
Quoted 12 lines · Russell King - ARM Linux
Quoted 11 lines · Paul Gortmaker

Hi Russell,

The allnoconfig builds in linux-next fail because __clear_cr lives in mmu.c without any stub or similar in nommu.c

Introduced by:

commit 247e4fff3aa927ad069447e6da05bb966b70dece

Author: Russell King <[email protected]>
Date:   Sun Apr 13 18:57:29 2014 +0100
Quoted 8 lines
Quoted 4 lines

ARM: provide common method to clear bits in CPU control register

Sample failure:
http://kisskb.ellerman.id.au/kisskb/buildresult/11264405/

ALIGNMENT_TRAP depends on CPU_CP15_MMU, so it's quite reasonable that __clear_cr should exist in this case - but it doesn't because it's in mmu.c. I guess we need __clear_cr moved to arch/arm/kernel/setup.c.

I've been looking at doing this, and while it can be done by applying a patch on top, that's not my preferred solution.

However, my preferred solution (which is to fix the commit) needs a bit of rework of the patch series, and given the number of patches I'm carrying right now, I'm just going to drop the branch out of linux-next and hold it off until the following merge window instead.

Quoted 5 lines

Even so, I suspect even with this build problem solved, that's not going to be the end of the story for noMMU breakage... it's certainly something that gets very little testing by anyone. I suspect it should be removed from the mainline kernel tree rather than being a constant source of these kinds of problems.

One doesn't have to look very far to see that I'm in favour of pushing obsolete options/drivers/subsystems off a cliff if I can get away with it, so that we don't get crushed under our own weight/complexity.

So if you really think it is time for ARM noMMU to go, I'll volunteer to craft up a removal series for you for 3.17 -- just say the word.

Paul.
--

Quoted 4 lines
Signature · 3 lines
-- 
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
#4 lore raw
In reply to Russell King - ARM Linux
Quoted 5 lines · Russell King - ARM Linux

Even so, I suspect even with this build problem solved, that's not going to be the end of the story for noMMU breakage... it's certainly something that gets very little testing by anyone. I suspect it should be removed from the mainline kernel tree rather than being a constant source of these kinds of problems.

Uwe can have a look next week.

Taken that it took *ages* to get Cortex-M3 support in mainline and taken that it might become more interesting with the upcoming generation of FPGAs and Cortex-A SoCs with an additional Cortex-M, it would be pretty bad to lose NOMMU again.

rsc

Signature · 4 lines
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
#5 lore raw
In reply to Russell King - ARM Linux

Hello,

[adding a few people to Cc]

Quoted 30 lines · Russell King - ARM Linux
Quoted 12 lines · Russell King - ARM Linux
Quoted 11 lines · Paul Gortmaker

Hi Russell,

The allnoconfig builds in linux-next fail because __clear_cr lives in mmu.c without any stub or similar in nommu.c

Introduced by:

commit 247e4fff3aa927ad069447e6da05bb966b70dece

Author: Russell King <[email protected]>
Date:   Sun Apr 13 18:57:29 2014 +0100
Quoted 8 lines
Quoted 4 lines

ARM: provide common method to clear bits in CPU control register

Sample failure:
http://kisskb.ellerman.id.au/kisskb/buildresult/11264405/

ALIGNMENT_TRAP depends on CPU_CP15_MMU, so it's quite reasonable that __clear_cr should exist in this case - but it doesn't because it's in mmu.c. I guess we need __clear_cr moved to arch/arm/kernel/setup.c.

I've been looking at doing this, and while it can be done by applying a patch on top, that's not my preferred solution.

However, my preferred solution (which is to fix the commit) needs a bit of rework of the patch series, and given the number of patches I'm carrying right now, I'm just going to drop the branch out of linux-next and hold it off until the following merge window instead.

Quoted 5 lines

Even so, I suspect even with this build problem solved, that's not going to be the end of the story for noMMU breakage... it's certainly something that gets very little testing by anyone. I suspect it should be removed from the mainline kernel tree rather than being a constant source of these kinds of problems.

That would mean that support for Cortex-M3 would die, too, which would (IMHO) be sad.

Currently the efm32 test in our autobuilder is broken, I will address that and then keep an eye on it.

Best regards
Uwe

Signature · 2 lines
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
#6 lore raw

Hello,

Quoted 7 lines · Uwe Kleine-K?nig
Quoted 5 lines

Even so, I suspect even with this build problem solved, that's not going to be the end of the story for noMMU breakage... it's certainly something that gets very little testing by anyone. I suspect it should be removed from the mainline kernel tree rather than being a constant source of these kinds of problems.

That would mean that support for Cortex-M3 would die, too, which would (IMHO) be sad.

Just for your information: The problem in question here doesn't affect ARM-v7M (aka Cortex-M[34]) because the patch only touches areas protected by #ifdef CONFIG_CPU_CP15 which is off for these machines.

Best regards
Uwe

Signature · 2 lines
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |