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
>
>