On Thu, Dec 21, 2017 at 03:49:20PM +0100, gregkh wrote: > On Thu, Dec 21, 2017 at 12:33:45PM +0100, Arnd Bergmann wrote: > > On Thu, Dec 21, 2017 at 12:06 PM, kernelci.org bot <bot@xxxxxxxxxxxx> wrote: > > > stable-rc/linux-4.9.y build: 183 builds: 179 failed, 4 passed, 179 errors (v4.9.71-115-gd4b9c892aea4) > > > > > > Full Build Summary: https://kernelci.org/build/stable-rc/branch/linux-4.9.y/kernel/v4.9.71-115-gd4b9c892aea4/ > > > > > > Tree: stable-rc > > > Branch: linux-4.9.y > > > Git Describe: v4.9.71-115-gd4b9c892aea4 > > > Git Commit: d4b9c892aea47e47ebc74e59533cef79f9ca30eb > > > Git URL: http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git > > > Built: 4 unique architectures > > > > > > Build Failures Detected: > > > > > > arm64: gcc version 5.3.1 20160412 (Linaro GCC 5.3-2016.05) > > > > > > allnoconfig: FAIL > > > defconfig: FAIL > > > tinyconfig: FAIL > > > > > > arm: gcc version 5.3.1 20160412 (Linaro GCC 5.3-2016.05) > > > > > > acs5k_defconfig: FAIL > > > acs5k_tiny_defconfig: FAIL > > > allnoconfig: FAIL > > > > > Errors summary: > > > > > > 179 include/linux/sched.h:1479:35: error: field 'arch' has incomplete type > > > > This comes from 09b09ab71840 ("mm, x86/mm: Make the batched unmap TLB flush > > API more generic"), backported from e73ad5ff2f76d upstream. > > > > My 10-second analysis suggests that we should backport > > dcc2dc45f7cf ("sched/headers, mm: Move 'struct tlbflush_unmap_batch' from > > <linux/sched.h> to <linux/mm_types_task.h>") Arnd, Yeah, I thought of picking that one but I decided not to mess around with where things are in v4.9, both in terms of data declaration and filenames, tried to keep as they look like in v4.9. > > Ugh, that's not a "straight" port at all, and will it really solve the > problem here? At first glance I don't see how, but I must be missing > something... > > Eduardo, any ideas here? It's blowing up on your backported patch :( Maybe amending the following hunk would be an easier fix given that the tlbflush_unmap_batch is only used within the CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH. diff --git a/include/linux/sched.h b/include/linux/sched.h index 74c8347..0856501 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1465,7 +1465,6 @@ enum perf_event_task_context { #ifdef CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH #include <asm/tlbbatch.h> -#endif /* Track pages that require TLB flushes */ struct tlbflush_unmap_batch { @@ -1488,6 +1487,7 @@ struct tlbflush_unmap_batch { */ bool writable; }; +#endif struct task_struct { #ifdef CONFIG_THREAD_INFO_IN_TASK That (cross)compiles fine with multi_v7_defconfig. > > thanks, > > greg k-h -- All the best, Eduardo Valentin