Subject: Possible regression in next-20150323 due to "ARM, arm64: kvm: get rid of the bounce page"

From: [email-masked] (Kevin Hilman)
Date: Tue, 31 Mar 2015 15:10:33 -0700

Hi Ard,

Ard Biesheuvel <[email-masked]> writes:

[...]

> I think Will and I were both under the impression that this patch
>
> https://git.kernel.org/cgit/linux/kernel/git/arm64/linux.git/log/?h=kvm-bounce-page
>
> fixed the issue conclusively.

Nope, that branch is already part of linux-next, and linux-next still
fails to compile for 20+ defconfigs[1]

> Could you elaborate on the issue please? What is the error you are
> getting, and can you confirm that is is caused by ld choking on the
> linker script? If not, this is another error than the one we have been
> trying to fix

It's definitely not linker script related.

Using "arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.7.3-12ubuntu1) 4.7.3",
here's the error when building for multi_v7_defconfig (full log
available[2]):

../mm/migrate.c: In function 'migrate_pages':
../mm/migrate.c:1148:1: internal compiler error: in push_minipool_fix, at config/arm/arm.c:13101
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions.
Preprocessed source stored into /tmp/ccO1Nz1m.out file, please attach
this to your bugreport.
make[2]: *** [mm/migrate.o] Error 1
make[2]: Target `__build' not remade because of errors.
make[1]: *** [mm] Error 2

build bisect points to commit 21f992084aeb[3], but that doesn't revert
cleanly so I haven't got any further than that yet.

Kevin

[1] http://kernelci.org/build/next/kernel/next-20150331/
[2] http://storage.kernelci.org/next/next-20150331/arm-multi_v7_defconfig/build.log
[3] 21f992084aeb777675ba5f9c2dc6663e8a06e467 is the first bad commit

Author: Kirill A. Shutemov <[email-masked]>
Date:   Wed Mar 25 13:02:28 2015 +1100

    page-flags: define behavior of FS/IO-related flags on compound pages

    It seems we don't have compound page on FS/IO path currently.  Use
    NO_COMPOUND to catch if we have.

    The odd exception is PG_dirty: sound uses compound pages and maps
    them
    with PTEs.  NO_COMPOUND triggers VM_BUG_ON() in set_page_dirty() on
    handling shared fault.  Let's use HEAD for PG_dirty.

    Signed-off-by: Kirill A. Shutemov <[email-masked]>
    Cc: Andrea Arcangeli <[email-masked]>
    Cc: Hugh Dickins <[email-masked]>
    Cc: Dave Hansen <[email-masked]>
    Cc: Mel Gorman <[email-masked]>
    Cc: Rik van Riel <[email-masked]>
    Cc: Vlastimil Babka <[email-masked]>
    Cc: Christoph Lameter <[email-masked]> 
    Cc: Naoya Horiguchi <[email-masked]>
    Cc: Steve Capper <[email-masked]>
    Cc: "Aneesh Kumar K.V" <[email-masked]>
    Cc: Johannes Weiner <[email-masked]>
    Cc: Michal Hocko <[email-masked]>
    Cc: Jerome Marchand <[email-masked]>
    Signed-off-by: Andrew Morton <[email-masked]>

:040000 040000 0d621460af1123de8fc33c881ae314c914725afc
b843f45fb2a1c2537e8c17946d3f8af512cab84d M      include
bisect run success