qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/4] Don't abort when we can't allocate guest me


From: Peter Crosthwaite
Subject: Re: [Qemu-devel] [PATCH 0/4] Don't abort when we can't allocate guest memory (again)
Date: Sun, 13 Sep 2015 22:14:21 -0700

On Fri, Sep 11, 2015 at 7:51 AM, Markus Armbruster <address@hidden> wrote:
> Not nice:
>
>     $ qemu-system-x86_64 -m 10000000
>     Unexpected error in ram_block_add() at /work/armbru/qemu/exec.c:1456:
>     upstream-qemu: cannot set up guest memory 'pc.ram': Cannot allocate memory
>     Aborted (core dumped)
>
> I fixed this in commit 3922825 for v1.7, but commit ef701d7 regressed
> it for v2.2, and now I'm fixing it again, only this time the fix is
> fifteen times bigger.
>
> Folks involved in the flawed commit cc'ed, so they can do penance by
> reviewing my fix ;-P
>
> PATCH 1/4's error_fatal obviously enables further simplifications.  I
> got some in my local tree, but they're not ready, yet.
>

This is better behaviour than before so

Reviewed-by: Peter Crosthwaite <address@hidden>

But many of these call sites are from modular code that shouldn't have
the authority to fatal QEMU. The SoCs and devices with their own RAMs
in particular, as it would be nice to one-day hotplug all this stuff.
Many of them should be converted to propagations. I have made more
notes on P2.

Regards,
Peter

> Markus Armbruster (4):
>   error: New error_fatal
>   Fix bad error handling after memory_region_init_ram()
>   loader: Fix memory_region_init_resizeable_ram() error handling
>   memory: Fix bad error handling in memory_region_init_ram_ptr()
>
>  hw/arm/armv7m.c                          |  2 +-
>  hw/arm/exynos4210.c                      |  8 ++++----
>  hw/arm/highbank.c                        |  2 +-
>  hw/arm/integratorcp.c                    |  2 +-
>  hw/arm/mainstone.c                       |  2 +-
>  hw/arm/musicpal.c                        |  2 +-
>  hw/arm/omap1.c                           |  2 +-
>  hw/arm/omap2.c                           |  2 +-
>  hw/arm/omap_sx1.c                        |  4 ++--
>  hw/arm/palm.c                            |  2 +-
>  hw/arm/pxa2xx.c                          |  8 ++++----
>  hw/arm/realview.c                        |  6 +++---
>  hw/arm/spitz.c                           |  2 +-
>  hw/arm/stellaris.c                       |  4 ++--
>  hw/arm/stm32f205_soc.c                   |  4 ++--
>  hw/arm/tosa.c                            |  2 +-
>  hw/arm/vexpress.c                        |  6 +++---
>  hw/arm/xilinx_zynq.c                     |  2 +-
>  hw/arm/xlnx-zynqmp.c                     |  2 +-
>  hw/block/onenand.c                       |  2 +-
>  hw/core/loader.c                         |  2 +-
>  hw/cris/axis_dev88.c                     |  2 +-
>  hw/display/cg3.c                         |  4 ++--
>  hw/display/qxl.c                         |  6 +++---
>  hw/display/sm501.c                       |  2 +-
>  hw/display/tc6393xb.c                    |  2 +-
>  hw/display/tcx.c                         |  4 ++--
>  hw/display/vga.c                         |  2 +-
>  hw/display/vmware_vga.c                  |  2 +-
>  hw/i386/pc.c                             |  2 +-
>  hw/i386/pc_sysfw.c                       |  4 ++--
>  hw/input/milkymist-softusb.c             |  4 ++--
>  hw/m68k/an5206.c                         |  2 +-
>  hw/m68k/mcf5208.c                        |  2 +-
>  hw/microblaze/petalogix_ml605_mmu.c      |  4 ++--
>  hw/microblaze/petalogix_s3adsp1800_mmu.c |  4 ++--
>  hw/mips/mips_fulong2e.c                  |  2 +-
>  hw/mips/mips_jazz.c                      |  4 ++--
>  hw/mips/mips_malta.c                     |  2 +-
>  hw/mips/mips_mipssim.c                   |  2 +-
>  hw/mips/mips_r4k.c                       |  2 +-
>  hw/moxie/moxiesim.c                      |  4 ++--
>  hw/net/milkymist-minimac2.c              |  2 +-
>  hw/openrisc/openrisc_sim.c               |  2 +-
>  hw/pci-host/prep.c                       |  2 +-
>  hw/pci/pci.c                             |  2 +-
>  hw/ppc/mac_newworld.c                    |  2 +-
>  hw/ppc/mac_oldworld.c                    |  2 +-
>  hw/ppc/ppc405_boards.c                   |  7 ++++---
>  hw/ppc/ppc405_uc.c                       |  2 +-
>  hw/s390x/s390-virtio-ccw.c               |  2 +-
>  hw/s390x/sclp.c                          |  3 ++-
>  hw/sh4/r2d.c                             |  2 +-
>  hw/sh4/shix.c                            |  6 +++---
>  hw/sparc/leon3.c                         |  2 +-
>  hw/sparc/sun4m.c                         |  6 +++---
>  hw/sparc64/sun4u.c                       |  4 ++--
>  hw/tricore/tricore_testboard.c           | 18 +++++++++++------
>  hw/unicore32/puv3.c                      |  2 +-
>  hw/xtensa/sim.c                          |  4 ++--
>  hw/xtensa/xtfpga.c                       |  7 ++++---
>  include/qapi/error.h                     | 11 +++++++++++
>  memory.c                                 |  2 +-
>  numa.c                                   |  4 ++--
>  util/error.c                             | 34 
> ++++++++++++++++++++------------
>  xen-hvm.c                                |  2 +-
>  66 files changed, 144 insertions(+), 116 deletions(-)
>
> --
> 2.4.3
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]