Re: 3.14 x86 ACPI handover regression

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

 



[+ linux acpi]

could be other problems ...that is caused by wrong
use memblock_alloc replace memblock_find....

On Wed, Sep 10, 2014 at 8:44 AM, Daniel J Blueman <daniel@xxxxxxxxxxxxx> wrote:
> Kernels 3.14 and newer fail ACPI handover [1] on Supermicro H8QGL servers,
> invariant of BIOS version or settings, causing boot failure, confirmed
> across a bunch of servers.
>
> Doing some bisect-fu, it turns out that reverting Yinghai's patch fixes the
> behaviour. Booting with Santosh's patch (5b6e529521d3, which Yinghai
> reverts) succeeds, but interestingly booting with the patch before Santosh's
> patch also succeeds, suggesting there's other interaction. Behaviour is
> stable at all places tested.
>
> Any tips on how to proceed?
>
> Thanks,
>   Daniel
>
> -- [1]
>
> ACPI Error: Hardware did not enter ACPI mode (20131218/evxfevnt-113)
> ACPI Warning: AcpiEnable failed (20131218/utxfinit-169)
> ACPI: Unable to enable ACPI
>
> -- [2]
>
> commit 4ce7a8697cb795fda6bdf082c14743b4bcd551c3
> Author: Yinghai Lu <yinghai@xxxxxxxxxx>
> Date:   Mon Jan 27 17:06:50 2014 -0800
>
>     x86: revert wrong memblock current limit setting
>
>     Dave reported big numa system booting is broken.
>
>     It turns out that commit 5b6e529521d3 ("x86: memblock: set current limit
>     to max low memory address") sets the limit to low wrongly.
>
>     max_low_pfn_mapped is different from max_pfn_mapped.
>     max_low_pfn_mapped is always under 4G.
>
>     That will memblock_alloc_nid all go under 4G.
>
>     Revert 5b6e529521d3 to fix a no-boot regression which was triggered by
>     457ff1de2d24 ("lib/swiotlb.c: use memblock apis for early memory
>     allocations").
>
>     Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
>     Reported-by: Dave Hansen <dave.hansen@xxxxxxxxx>
>     Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
>     Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
>     Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
>     Cc: Ingo Molnar <mingo@xxxxxxx>
>     Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
>     Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
>     Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
>
> diff --git a/arch/x86/include/asm/page_types.h
> b/arch/x86/include/asm/page_types.h
> index 2f59cce..f97fbe3 100644
> --- a/arch/x86/include/asm/page_types.h
> +++ b/arch/x86/include/asm/page_types.h
> @@ -51,9 +51,9 @@ extern int devmem_is_allowed(unsigned long pagenr);
>  extern unsigned long max_low_pfn_mapped;
>  extern unsigned long max_pfn_mapped;
>
> -static inline phys_addr_t get_max_low_mapped(void)
> +static inline phys_addr_t get_max_mapped(void)
>  {
> -       return (phys_addr_t)max_low_pfn_mapped << PAGE_SHIFT;
> +       return (phys_addr_t)max_pfn_mapped << PAGE_SHIFT;
>  }
>
>  bool pfn_range_is_mapped(unsigned long start_pfn, unsigned long end_pfn);
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index c967559..06853e6 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -1119,7 +1119,7 @@ void __init setup_arch(char **cmdline_p)
>
>         setup_real_mode();
>
> -       memblock_set_current_limit(get_max_low_mapped());
> +       memblock_set_current_limit(get_max_mapped());
>         dma_contiguous_reserve(0);
>
>         /*
> --
> Daniel J Blueman
> Principal Software Engineer, Numascale
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux