Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

roadmap for testing compiler versions (and results over tinyconfig with gcc 6.3 and 8) #33

Open
5 tasks
FAMILIAR-project opened this issue Jan 7, 2021 · 0 comments
Assignees

Comments

@FAMILIAR-project
Copy link
Collaborator

some ad-hoc experiments and manual compilation for gcc 8 (instead of gcc 6.3) using a custom Docker image (the old tuxml/tuxml3:dev)

root@ad1cc9a80f87:/linux-4.17# ls -alrth /TuxML/linux-4.13.3/vmlinux
-rwxr-xr-x. 1 root root 3.1M Jan  7 17:01 /TuxML/linux-4.13.3/vmlinux
root@ad1cc9a80f87:/linux-4.17# ls -alrth /linux-4.15/vmlinux
ls: cannot access '/linux-4.15/vmlinux': No such file or directory
root@ad1cc9a80f87:/linux-4.17# ls -alrth /linux-4.17/vmlinux
-rwxr-xr-x. 1 root root 12M Jan  7 18:09 /linux-4.17/vmlinux
root@ad1cc9a80f87:/linux-4.17# ls -alrth /linux-5.0/vmlinux
-rwxr-xr-x. 1 root root 12M Jan  7 17:16 /linux-5.0/vmlinux
root@ad1cc9a80f87:/linux-4.17# ls -alrth /linux-5.4/vmlinux
-rwxr-xr-x. 1 root root 12M Jan  7 16:57 /linux-5.4/vmlinux
root@ad1cc9a80f87:/linux-4.17# ls -alrth /linux-5.8/vmlinux
-rwxr-xr-x. 1 root root 12M Jan  7 16:05 /linux-5.8/vmlinux
root@ad1cc9a80f87:/linux-4.17# gcc --version
gcc (Debian 8.3.0-6) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

there is a "surprising" and noticeable decrease for 4.13.3 (3Mb for gcc 8 instead of 7Mb for gcc 6)...
it actually motivated this experiment

but then for other kernel versions, gcc 8 is very similar to gcc 6.3 (12Mb all along)

see data that have been gathered for gcc 6.3
https://github.com/TuxML/evolution-showcase
https://github.com/TuxML/evolution-showcase/blob/master/evo-kernel-linux.png

these results suggest two hypothesis that are worth investigating in the future:

  • it might be the case that gcc version does not influence much binary size
  • why then this strong decrease specifically for 4.13.3?

It calls to implement the following:

  • systematize the experiments with TuxML machinery (kernel_generator, etc.) instead of ad-hoc experiments
  • experiments with gcc 10 (not only gcc 6 and 8 as did above) and several kernel versions
  • experiments with defconfig and gcc 6, 9, and 10 on different kernel versions
  • experiments with random configurations and gcc 6, 9, and 10 on different kernel versions (note: given a random config, we should give the same one for gcc versions/kernel versions for comparing over the same config)
  • analyze the data and conclude about hypothesis
@FAMILIAR-project FAMILIAR-project added this to experiments with compilers in TuxML roadmap 2021 Jan 21, 2021
@FabienZa FabienZa self-assigned this Jan 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
TuxML roadmap 2021
experiments with compilers
Development

No branches or pull requests

2 participants