Re: [PATCH stable/4.0.y] ARM: 8325/1: exynos: move resume code to .text section

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 16 June 2015 at 00:59, Russell King - ARM Linux
<linux@xxxxxxxxxxxxxxxx> wrote:
> On Mon, Jun 15, 2015 at 03:17:34PM -0700, Kevin Hilman wrote:
>> Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> writes:
>>
>> > On 15 June 2015 at 13:08, Russell King - ARM Linux
>> [...]
>>
>> >> I think the question is - what's caused stable-4.0 to start spitting
>> >> these errors?  Presumably, 4.0 didn't, and stable-4.0 has regressed?
>> >> Maybe, rather than trying to fix this new regression, the original
>> >> cause should be reverted?
>> >>
>> >
>> > Not sure whether it's a regression. I think this code does not usually
>> > get built in Thumb2 mode in the first place.
>>
>> It's not a regression in stable-4.0, v4.0 has the same build failure.
>>
>> I think we've only caught this now since I added multi_v7 +
>> CONFIG_THUMB2_KERNEL=y builds to kernelci.org for mainline and the
>> stable trees.
>
> Okay, so it's not a user reported regression, but comes from a build
> system.  So I continue to wonder what the value is of trying to fix
> it in stable kernels, vs the risk of de-stabilising them, especially
> when the fix we have in mainline can't be applied.
>
> I'd suggest waiting until we have proper users reporting a failure
> over this.  (Who's a proper user?)
>

Well, unfortunately that ship has sailed. This patch has already been
included in 4.0.5.

So the question is whether we should revert it or not. My position is
that there is no need:

In vanilla v4.0, there are 8 mach-specific invocations of cpu_resume()
(which resides in .data itself):

>From the .text section:
arch/arm/mach-imx/suspend-imx6.S
arch/arm/mach-mvebu/pmsu_ll.S
arch/arm/mach-omap2/sleep34xx.S
arch/arm/mach-s3c24xx/sleep.S
arch/arm/mach-s3c64xx/sleep.S
arch/arm/mach-tegra/reset-handler.S

>From the .data section:
arch/arm/mach-exynos/sleep.S
arch/arm/mach-s5pv210/sleep.S

In mainline, we moved cpu_resume() and the two latter callers into
.text as well, but strictly for the purpose of allowing much larger
kernels to be linked, This is not supported by v4.0 anyway, so moving
the call to cpu_resume() from .data to .text for exynos is unlikely to
cause trouble since it just brings it in line with what the majority
(including s3c24xx and s3c64xx) are already doing. (The link problem
for large kernels needs all 3 patches, but not necessarily in a strict
order.)

And the side effect is that it dodges the binutils issue, allowing
v4.0-stable to be built in Thumb2 mode for Exynos and
multi_v7_defconfig.

-- 
Ard.
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]