Re: stable-rc/linux-4.9.y build: 183 builds: 179 failed, 4 passed, 179 errors (v4.9.71-115-gd4b9c892aea4)
From: Eduardo Valentin
Date: Thu Dec 21 2017 - 13:19:44 EST
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