[PATCH v3 00/12] user-mode: Prune build dependencies (part 1)

Philippe Mathieu-Daudé posted 12 patches 4 years ago
Failed in applying to current master (apply log)
Test docker-mingw@fedora failed
Test checkpatch failed
Test asan failed
Test docker-quick@centos7 failed
Test FreeBSD failed
There is a newer version of this series
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(-)
[PATCH v3 00/12] user-mode: Prune build dependencies (part 1)
Posted by Philippe Mathieu-Daudé 4 years ago
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 (generic):
- reduce user-mode object list
- remove some migration code from user-mode
- remove cpu_get_crash_info()

This series is fully reviewed.

Since v2:
- Rebased due to conflict when applying patch:
  "util/Makefile: Reduce the user-mode object list"
  because commit 01ef6b9e4e modified util/Makefile.objs:
  "linux-user: factor out reading of /proc/self/maps"

Since v1:
- Addressed Laurent/Richard review comments
- Removed 'exec: Drop redundant #ifdeffery'
- Removed 'target: Restrict write_elfXX_note() handlers to system-mode'

$ git backport-diff -u v1 -r v2
Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/12:[----] [--] 'Makefile: Only build virtiofsd if system-mode is enabled'
002/12:[----] [--] 'configure: Avoid building TCG when not needed'
003/12:[----] [--] 'tests/Makefile: Only display TCG-related tests when TCG is available'
004/12:[----] [--] 'tests/Makefile: Restrict some softmmu-only tests'
005/12:[----] [-C] 'util/Makefile: Reduce the user-mode object list'
006/12:[----] [--] 'stubs/Makefile: Reduce the user-mode object list'
007/12:[----] [--] 'target/riscv/cpu: Restrict CPU migration to system-mode'
008/12:[----] [--] 'exec: Assert CPU migration is not used on user-only build'
009/12:[----] [--] 'arch_init: Remove unused 'qapi-commands-misc.h' include'
010/12:[----] [--] 'target/i386: Restrict CpuClass::get_crash_info() to system-mode'
011/12:[----] [--] 'target/s390x: Restrict CpuClass::get_crash_info() to system-mode'
012/12:[----] [--] 'hw/core: Restrict CpuClass::get_crash_info() to system-mode'

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


Re: [PATCH v3 00/12] user-mode: Prune build dependencies (part 1)
Posted by no-reply@patchew.org 4 years ago
Patchew URL: https://patchew.org/QEMU/20200504152922.21365-1-philmd@redhat.com/



Hi,

This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
export ARCH=x86_64
make docker-image-fedora V=1 NETWORK=1
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===




The full log is available at
http://patchew.org/logs/20200504152922.21365-1-philmd@redhat.com/testing.asan/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [PATCH v3 00/12] user-mode: Prune build dependencies (part 1)
Posted by Laurent Vivier 4 years ago
Le 04/05/2020 à 17:29, Philippe Mathieu-Daudé a écrit :
> 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 (generic):
> - reduce user-mode object list
> - remove some migration code from user-mode
> - remove cpu_get_crash_info()
> 
> This series is fully reviewed.
> 
> Since v2:
> - Rebased due to conflict when applying patch:
>   "util/Makefile: Reduce the user-mode object list"
>   because commit 01ef6b9e4e modified util/Makefile.objs:
>   "linux-user: factor out reading of /proc/self/maps"
> 
> Since v1:
> - Addressed Laurent/Richard review comments
> - Removed 'exec: Drop redundant #ifdeffery'
> - Removed 'target: Restrict write_elfXX_note() handlers to system-mode'
> 
> $ git backport-diff -u v1 -r v2
> Key:
> [----] : patches are identical
> [####] : number of functional differences between upstream/downstream patch
> [down] : patch is downstream-only
> The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
> 
> 001/12:[----] [--] 'Makefile: Only build virtiofsd if system-mode is enabled'
> 002/12:[----] [--] 'configure: Avoid building TCG when not needed'
> 003/12:[----] [--] 'tests/Makefile: Only display TCG-related tests when TCG is available'
> 004/12:[----] [--] 'tests/Makefile: Restrict some softmmu-only tests'
> 005/12:[----] [-C] 'util/Makefile: Reduce the user-mode object list'
> 006/12:[----] [--] 'stubs/Makefile: Reduce the user-mode object list'
> 007/12:[----] [--] 'target/riscv/cpu: Restrict CPU migration to system-mode'
> 008/12:[----] [--] 'exec: Assert CPU migration is not used on user-only build'
> 009/12:[----] [--] 'arch_init: Remove unused 'qapi-commands-misc.h' include'
> 010/12:[----] [--] 'target/i386: Restrict CpuClass::get_crash_info() to system-mode'
> 011/12:[----] [--] 'target/s390x: Restrict CpuClass::get_crash_info() to system-mode'
> 012/12:[----] [--] 'hw/core: Restrict CpuClass::get_crash_info() to system-mode'
> 
> 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(-)
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Tested-by: Laurent Vivier <laurent@vivier.eu>

Re: [PATCH v3 00/12] user-mode: Prune build dependencies (part 1)
Posted by Philippe Mathieu-Daudé 4 years ago
On 5/5/20 10:33 AM, Laurent Vivier wrote:
> Le 04/05/2020 à 17:29, Philippe Mathieu-Daudé a écrit :
>> 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 (generic):
>> - reduce user-mode object list
>> - remove some migration code from user-mode
>> - remove cpu_get_crash_info()
>>
>> This series is fully reviewed.
>>
>> Since v2:
>> - Rebased due to conflict when applying patch:
>>    "util/Makefile: Reduce the user-mode object list"
>>    because commit 01ef6b9e4e modified util/Makefile.objs:
>>    "linux-user: factor out reading of /proc/self/maps"
>>
>> Since v1:
>> - Addressed Laurent/Richard review comments
>> - Removed 'exec: Drop redundant #ifdeffery'
>> - Removed 'target: Restrict write_elfXX_note() handlers to system-mode'
>>
>> $ git backport-diff -u v1 -r v2
>> Key:
>> [----] : patches are identical
>> [####] : number of functional differences between upstream/downstream patch
>> [down] : patch is downstream-only
>> The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
>>
>> 001/12:[----] [--] 'Makefile: Only build virtiofsd if system-mode is enabled'
>> 002/12:[----] [--] 'configure: Avoid building TCG when not needed'
>> 003/12:[----] [--] 'tests/Makefile: Only display TCG-related tests when TCG is available'
>> 004/12:[----] [--] 'tests/Makefile: Restrict some softmmu-only tests'
>> 005/12:[----] [-C] 'util/Makefile: Reduce the user-mode object list'
>> 006/12:[----] [--] 'stubs/Makefile: Reduce the user-mode object list'
>> 007/12:[----] [--] 'target/riscv/cpu: Restrict CPU migration to system-mode'
>> 008/12:[----] [--] 'exec: Assert CPU migration is not used on user-only build'
>> 009/12:[----] [--] 'arch_init: Remove unused 'qapi-commands-misc.h' include'
>> 010/12:[----] [--] 'target/i386: Restrict CpuClass::get_crash_info() to system-mode'
>> 011/12:[----] [--] 'target/s390x: Restrict CpuClass::get_crash_info() to system-mode'
>> 012/12:[----] [--] 'hw/core: Restrict CpuClass::get_crash_info() to system-mode'
>>
>> 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(-)
>>
> 
> Reviewed-by: Laurent Vivier <laurent@vivier.eu>
> Tested-by: Laurent Vivier <laurent@vivier.eu>

Thanks!

Paolo, since it is a bit of everything, do you mind taking this series?
For your convenience, you can use this link with all the patches and the 
tags already applied at once! :p
https://patchew.org/QEMU/20200504152922.21365-1-philmd@redhat.com/mbox

Regards,

Phil.