Re: Please add new Android branches

Nick Desaulniers <[email protected]>
Newsgroups dev.linux.lists.kernelci,dev.linux.lists.llvm
Message-ID <CAKwvOdkHE7rXgOUyUSCKZ690bjV88E9yVfmG-7vLH6iqqr2G-Q@mail.gmail.com>
On Tue, Sep 19, 2023 at 4:12 PM Todd Kjos <[email protected]> wrote:
>
> On Tue, Sep 19, 2023 at 4:02 PM Nick Desaulniers
> <[email protected]> wrote:
> >
> > On Tue, Sep 19, 2023 at 3:54 PM Todd Kjos <[email protected]> wrote:
> > >
> > > Guillaume,
> > >
> > > How about this for android trees:
> > >
> > > 1) same compilers as current config (gcc-10, clang-14)
> > > 2) archs: arm, arm64, i386, x80_64, riscv
> > > 3) same configs as current android tests
> > > 4) plus configs used by corresponding stable kernel
> > > (https://linux.kernelci.org/job/stable) not included in #3
> > >
> > > We get a nice benefit from sync'ing with the stable kernels since it
> > > allows us to tell which issues originate upstream and which are
> > > introduced by android changes. It's also useful to build each with
> > > both toolchains so we can expose the cases where gcc-10 is OK but
> > > clang-14 has issues (and visa-versa).

Also, why clang-14? Clang 18 is ToT, clang 17 is latest release.

> > >
> > > I don't think we need to build all of the combinations if there are
> > > too many builds - we could trim out some of the configs from #4 (you
> > > can recommend which).
> > >
> > > We'd also like to start in an all-green state. So let's trim out the
> > > error cases that aren't caused by android kernel code. I think there
> > > are some 32-bit cases that fail with the clang-14 tools and some other
> > > cases that fail in stable.
> >
> > That would be news to me. Got any more info on that?
>
> We've talked about it. You said at the time that they were known
> issues with clan and old arm architectures, but you didn't have time
> to deal with them. We're not building any of those cases now with the
> reduced test set, but here is an example from June 15:
>
> https://linux.kernelci.org/build/android/branch/android13-5.10/kernel/ASB-2023-06-05_13-5.10-9-g4d9cc0c1eadb2/

Ah, the long tail of configs.  I guess since ACK doesn't have a
gki_defconfig for ARCH=arm, a grab bag of arbitrary configs is the
next best thing.

Half of the red exclamation marks on that link are are "0 warnings - 0
errors".  What's up with that?

For the ones with errors, clicking logs gives you HTTP 404.  Guessing
those aren't retained very long? Surprised then the landing page is.

>
> Here are the errors/warnings:
>
> Build Logs Summary
>
> Errors Summary
>
> 19drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:2447:9: error: shift
> count >= width of type [-Werror,-Wshift-count-overflow]
> 5drivers/net/ethernet/i825xx/ether1.c:237:1: error: invalid
> instruction, did you mean: ldrb, ldrexb?
> 5drivers/net/ethernet/i825xx/ether1.c:175:1: error: invalid
> instruction, did you mean: strb, strexb?
> 4drivers/net/ethernet/i825xx/ether1.c:238:1: error: invalid
> instruction, did you mean: strb, strexb?
> 4drivers/net/ethernet/i825xx/ether1.c:174:1: error: invalid
> instruction, did you mean: ldrb, ldrexb?
> 2fatal error: too many errors emitted, stopping now [-ferror-limit=]
> 2arm-linux-gnueabihf-gcc: error: unrecognized -march target: armv3m
> 2arm-linux-gnueabihf-gcc: error: missing argument to ‘-march=’
> 1lib/bitfield_kunit.c:93:1: error: the frame size of 4192 bytes is
> larger than 2048 bytes [-Werror=frame-larger-than=]
> 1ld.lld: error: undefined symbol: clock_task_mult
> 1fs/namei.c:2131:13: error: use of bitwise '|' with boolean operands
> [-Werror,-Wbitwise-instead-of-logical]
> 1drivers/usb/gadget/udc/pxa25x_udc.c:2328:11: error: invalid % escape
> in inline assembly string
> 1arch/arm/mach-ep93xx/crunch-bits.S:99:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:98:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:97:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:96:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:95:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:94:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:191:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:190:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:189:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:188:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:187:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:186:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:185:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:184:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:183:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:182:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:181:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:180:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:179:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:178:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:177:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:176:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:174:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:173:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:172:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:171:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:170:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:169:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:168:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:167:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:166:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:165:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:164:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:163:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:162:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:161:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:160:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:159:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:158:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:157:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:156:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:155:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:154:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:153:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:152:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:151:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:149:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:148:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:144:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:141:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:140:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:138:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:137:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:136:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:135:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:134:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:133:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:132:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:131:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:130:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:129:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:128:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:127:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:126:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:125:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:124:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:123:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:122:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:121:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:120:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:119:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:118:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:117:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:116:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:115:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:109:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:108:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:107:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:106:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:105:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:104:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:103:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:102:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:101:2: error: invalid instruction
> 1arch/arm/mach-ep93xx/crunch-bits.S:100:2: error: invalid instruction
> 1<stdin>:830:2: error: syscall fstat64 not implemented [-Werror,-W#warnings]
> 1<stdin>:830:2: error: #warning syscall fstat64 not implemented [-Werror=cpp]
> 1<stdin>:1127:2: error: syscall fstatat64 not implemented [-Werror,-W#warnings]
> 1<stdin>:1127:2: error: #warning syscall fstatat64 not implemented [-Werror=cpp]
> 1:1: error: invalid instruction, did you mean: ldrb, ldrexb?
> 1/tmp/kci/linux/build/../kernel/sched/fair.c:4998: undefined reference
> to `clock_task_mult'
> 1/tmp/kci/linux/build/../kernel/sched/fair.c:4983: undefined reference
> to `clock_task_mult'
> 1/tmp/kci/linux/build/../kernel/sched/fair.c:11476: undefined
> reference to `clock_task_mult'
>
> Warnings Summary
>
> 2163ld.lld: warning: lld uses blx instruction, no object with
> architecture supporting feature detected
> 188clang: warning: argument unused during compilation:
> '-march=armv7-a' [-Wunused-command-line-argument]
> 92clang: warning: argument unused during compilation: '-march=armv6k'
> [-Wunused-command-line-argument]
> 5clang: warning: argument unused during compilation: '-march=armv7-m'
> [-Wunused-command-line-argument]
> 2cc1: all warnings being treated as errors
> 22 warnings generated.
> 2./usr/include/linux/bcache.h:355:2: warning: field '' with variable
> sized type 'union jset::(anonymous at
> ./usr/include/linux/bcache.h:355:2)' not at the end of a struct or
> class is a GNU extension [-Wgnu-variable-sized-type-not-at-end]
> 2./usr/include/linux/bcache.h:354:2: warning: field '' with variable
> sized type 'union jset::(anonymous at
> ./usr/include/linux/bcache.h:354:2)' not at the end of a struct or
> class is a GNU extension [-Wgnu-variable-sized-type-not-at-end]
> 1fs/namei.c:2131:13: note: cast one or both operands to int to silence
> this warning
> 1WARNING: modpost: module pstore uses symbol sync_filesystem from
> namespace VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver,
> but does not import it.
> 1WARNING: modpost: module pstore uses symbol clear_inode from
> namespace VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver,
> but does not import it.
> 1WARNING: modpost: module dax uses symbol unlock_new_inode from
> namespace VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver,
> but does not import it.
> 1WARNING: modpost: module dax uses symbol inode_init_once from
> namespace VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver,
> but does not import it.
> 1WARNING: modpost: module dax uses symbol iget5_locked from namespace
> VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver, but does
> not import it.
> 1#warning syscall fstatat64 not implemented
> 1#warning syscall fstat64 not implemented
>
>
> >
> > >
> > > Could we start with all of the builds for #1 - #4 and then tune it up
> > > after a few runs to get rid of long-failing cases and/or to just
> > > reduce the load on the build service?
> > >
> > > -Todd
> > >
> > >
> > >
> > > On Wed, Sep 6, 2023 at 12:50 PM Todd Kjos <[email protected]> wrote:
> > > >
> > > > +Viktor Martensson +Betty Zhou
> > > >
> > > > Guillaume,
> > > >
> > > > I think that's a great idea. I'll get back to you with the set of
> > > > configs, arch, compilers we'd like to have coverage for.
> > > >
> > > > -Todd
> > > >
> > > >
> > > > On Wed, Sep 6, 2023 at 11:46 AM Guillaume Tucker
> > > > <[email protected]> wrote:
> > > > >
> > > > > Hi Todd,
> > > > >
> > > > > On 05/09/2023 19:18, Todd Kjos wrote:
> > > > > > On Thu, Aug 10, 2023 at 8:56 AM Todd Kjos <[email protected]> wrote:
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >> On Tue, Jul 11, 2023 at 4:57 AM Guillaume Tucker <[email protected]> wrote:
> > > > > >>>
> > > > > >>> Hi Todd,
> > > > > >>>
> > > > > >>> On 11/07/2023 00:41, Todd Kjos wrote:
> > > > > >>>> Please add the following new Android branches to kernelci testing.
> > > > > >>>>
> > > > > >>>> repo: https://android.googlesource.com/kernel/common
> > > > > >>>> branches:
> > > > > >>>> - android15-6.1
> > > > > >>>> - android14-6.1-lts
> > > > > >>>> - android14-5.15-lts
> > > > > >>>
> > > > > >>> I've created this PR accordingly:
> > > > > >>>
> > > > > >>>   https://github.com/kernelci/kernelci-core/pull/2002
> > > > > >>>
> > > > > >>> Please note that we're now operating with reduced build coverage
> > > > > >>> due to some temporary limitations with our Azure subscription.  I
> > > > > >>> know the Android kernel builds should be covered by the GCP
> > > > > >>> clusters but right now the system is designed to distribute
> > > > > >>> kernel builds randomly across all clusters so we can't easily tie
> > > > > >>> Android builds to the Android clusters.  Hopefully we'll find a
> > > > > >>> solution to go back to normal coverage within a week or two.
> > > > > >>
> > > > > >>
> > > > > >> Hi Guillaume, Any ETA for when the full set of builds is restored? We still have greatly reduced build coverage and it's been a month.
> > > > > >
> > > > > > Ping. We are getting a lot less value out of kernelci with the greatly
> > > > > > reduced set of builds for the Android kernels. When will the full
> > > > > > build coverage be resumed?
> > > > > >
> > > > > > If it needs to stay reduced, can we decide precisely which builds are
> > > > > > done for Android kernels?
> > > > >
> > > > > Sorry for the slow reply.
> > > > >
> > > > > I think it's fine now to re-enable the Android builds and maybe
> > > > > we should also take this opportunity to confirm which ones are
> > > > > the most relevant to you guys.  As part of the process of
> > > > > adjusting the build coverage, I also fixed the GKI builds which I
> > > > > thought were the main ones.  Even if there is enough build
> > > > > capacity to build "everything", keeping it streamlined to what is
> > > > > really useful makes the overall system more effective.
> > > > >
> > > > > Are there any particular combinations of arch, config, compilers
> > > > > you care about more than others?
> > > > >
> > > > > Thanks,
> > > > > Guillaume
> > > > >
> > >
> >
> >
> > --
> > Thanks,
> > ~Nick Desaulniers



-- 
Thanks,
~Nick Desaulniers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.