Message ID | 20200315235716.28448-1-philmd@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | user-mode: Prune build dependencies (part 1) | expand |
On Monday, March 16, 2020, Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > This is the first part of a series reducing user-mode > dependencies. By stripping out unused code, the build > and testing time is reduced (as is space used by objects). > > Part 1: > - reduce user-mode object list > - remove some migration code from user-mode > - remove cpu_get_crash_info() > > What is the purpose of dividing into parts? What is the content of other parts, and when do you plan to submit those? A series is usually a stand-alone and a complete logical unit - why did you decide to submit "parts" separately (just curious)? Does this series affect executables' size, or cut build times only? Thanks, Aleksandar > Since v1: > - Addressed Laurent/Richard review comments > - Removed 'exec: Drop redundant #ifdeffery' > - Removed 'target: Restrict write_elfXX_note() handlers to system-mode' > > v1: https://www.mail-archive.com/qemu-devel@nongnu.org/msg688456.html > > Philippe Mathieu-Daudé (12): > Makefile: Only build virtiofsd if system-mode is enabled > configure: Avoid building TCG when not needed > tests/Makefile: Only display TCG-related tests when TCG is available > tests/Makefile: Restrict some softmmu-only tests > util/Makefile: Reduce the user-mode object list > stubs/Makefile: Reduce the user-mode object list > target/riscv/cpu: Restrict CPU migration to system-mode > exec: Assert CPU migration is not used on user-only build > arch_init: Remove unused 'qapi-commands-misc.h' include > target/i386: Restrict CpuClass::get_crash_info() to system-mode > target/s390x: Restrict CpuClass::get_crash_info() to system-mode > hw/core: Restrict CpuClass::get_crash_info() to system-mode > > configure | 4 +++ > Makefile | 2 +- > include/hw/core/cpu.h | 7 ++++- > arch_init.c | 1 - > exec.c | 4 ++- > hw/core/cpu.c | 2 ++ > target/i386/cpu.c | 6 ++++- > target/riscv/cpu.c | 6 +++-- > target/s390x/cpu.c | 12 ++++----- > stubs/Makefile.objs | 52 +++++++++++++++++++++---------------- > tests/Makefile.include | 18 +++++++------ > util/Makefile.objs | 59 +++++++++++++++++++++++++++--------------- > 12 files changed, 108 insertions(+), 65 deletions(-) > > -- > 2.21.1 > > >
On 3/16/20 1:16 AM, Aleksandar Markovic wrote: > > > On Monday, March 16, 2020, Philippe Mathieu-Daudé <philmd@redhat.com > <mailto:philmd@redhat.com>> wrote: > > This is the first part of a series reducing user-mode > dependencies. By stripping out unused code, the build > and testing time is reduced (as is space used by objects). > > Part 1: > - reduce user-mode object list > - remove some migration code from user-mode > - remove cpu_get_crash_info() > > > What is the purpose of dividing into parts? What is the content of other > parts, and when do you plan to submit those? A series is usually a > stand-alone and a complete logical unit - why did you decide to submit > "parts" separately (just curious)? Big series are hard to digest and scare reviewers. Peter told me twice his rule of thumb is to split a series if it gets bigger than 20 patches (and a patch if it modify more than 200 lines). He also recently said he skipped review of a ~32 patches series of mine which was too big. I don't want other reviewers to do that neither, so I try to split <=20. Each series could be applied apart, except the last patch from the 3rd part (qapi: Restrict code generated for user-mode) which is the one really cutting down user-mode code by avoiding pulling in system-mode symbols. First part is generic, second part is QAPI-related, and third part concerns hw/core/qdev-properties.c. Each part is covered by different maintainers. > > Does this series affect executables' size, or cut build times only? Both. It will saves us CI testing time, save time to distributions packaging linux-user-only builds, produce smaller binaries. > > Thanks, > Aleksandar > > Since v1: > - Addressed Laurent/Richard review comments > - Removed 'exec: Drop redundant #ifdeffery' > - Removed 'target: Restrict write_elfXX_note() handlers to system-mode' > > v1: > https://www.mail-archive.com/qemu-devel@nongnu.org/msg688456.html > <https://www.mail-archive.com/qemu-devel@nongnu.org/msg688456.html> > > Philippe Mathieu-Daudé (12): > Makefile: Only build virtiofsd if system-mode is enabled > configure: Avoid building TCG when not needed > tests/Makefile: Only display TCG-related tests when TCG is available > tests/Makefile: Restrict some softmmu-only tests > util/Makefile: Reduce the user-mode object list > stubs/Makefile: Reduce the user-mode object list > target/riscv/cpu: Restrict CPU migration to system-mode > exec: Assert CPU migration is not used on user-only build > arch_init: Remove unused 'qapi-commands-misc.h' include > target/i386: Restrict CpuClass::get_crash_info() to system-mode > target/s390x: Restrict CpuClass::get_crash_info() to system-mode > hw/core: Restrict CpuClass::get_crash_info() to system-mode > > configure | 4 +++ > Makefile | 2 +- > include/hw/core/cpu.h | 7 ++++- > arch_init.c | 1 - > exec.c | 4 ++- > hw/core/cpu.c | 2 ++ > target/i386/cpu.c | 6 ++++- > target/riscv/cpu.c | 6 +++-- > target/s390x/cpu.c | 12 ++++----- > stubs/Makefile.objs | 52 +++++++++++++++++++++---------------- > tests/Makefile.include | 18 +++++++------ > util/Makefile.objs | 59 +++++++++++++++++++++++++++--------------- > 12 files changed, 108 insertions(+), 65 deletions(-) > > -- > 2.21.1 > >