On 3/16/20 1:16 AM, Aleksandar Markovic wrote:
On Monday, March 16, 2020, Philippe Mathieu-Daudé <phi...@redhat.com
<mailto:phi...@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