From: Igor Mammedov <imammedo@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [PATCH 00/86] refactor main RAM allocation to use hostmem backend
Date: Tue, 31 Dec 2019 17:22:35 +0100 [thread overview]
Message-ID: <20191231172235.682553d0@Igors-MacBook-Pro> (raw)
In-Reply-To: <c2d1f51d-a204-ec82-1b0a-bf91161b819f@redhat.com>
On Tue, 31 Dec 2019 16:58:10 +0100
Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> Hi Igor,
>
> On 12/31/19 2:02 PM, Igor Mammedov wrote:
> > Series removes ad hoc RAM allocation API (memory_region_allocate_system_memory)
> > and consolidates it around hostmem backend. It allows to
> > * resolve conflicts between global -mem-prealloc and hostmem's "policy" option
> > fixing premature allocation before binding policy is applied
> > * simplify complicated memory allocation routines which had to deal with 2 ways
> > to allocate RAM.
> > * it allows to reuse hostmem backends of a choice for main RAM without adding
> > extra CLI options to duplicate hostmem features.
> > Recent case was -mem-shared, to enable vhost-user on targets that don't
> > support hostmem backends [1] (ex: s390)
> > * move RAM allocation from individual boards into generic machine code and
> > provide them with prepared MemoryRegion.
> > * clean up deprecated NUMA features which were tied to the old API (see patches)
> > - "numa: remove deprecated -mem-path fallback to anonymous RAM"
> > - "numa: remove deprecated implicit RAM distribution between nodes"
> > - "forbid '-numa node,mem' for 5.0 and newer machine types"
> >
> > Conversion introduces a new machine.ram-memdev property and wrapper code that
> > aliases global -mem-path and -mem-alloc into automatically created hostmem
> > backend properties (provided ram-memdev was not set explicitly by user).
> > And then follows bulk of trivial patches that incrementally convert individual
> > boards to using machine.ram-memdev provided MemoryRegion.
> >
> > Board conversion typically involves:
> > * providing MachineClass::default_ram_size and MachineClass::default_ram_id
> > so generic code could create default backend if user didn't explicitly provide
> > ram-memdev or -m options
> > * dropping memory_region_allocate_system_memory() call
> > * using covinience MachineState::ram MemoryRegion, which points to MemoryRegion
> > allocated by ram-memdev
> > On top of that for some boards:
> > * added missing ram_size checks (typically it were boards with fixed ram size)
> > * ram_size fixups were replaced by checks and hard errors, forcing user to
> > provide correct "-m" values instead of ignoring it and continuing running.
> >
> > After all boards are converted the old API is removed and memory allocation
> > routines are cleaned up.
>
> I'm replying to the cover because multiple patches are concerned.
>
> Compiling arm/lm32/mips64el/ppc on 32-bit host I get:
Thanks for spotting it.
I was thinking that travis-ci did 32-bit builds (I was wrong).
I'll dig up 32-bit machine and try to fix build issues.
>
> CC hw/arm/digic_boards.o
> hw/arm/digic_boards.c: In function 'digic4_board_init':
> hw/arm/digic_boards.c:57:22: error: format '%lli' expects argument of
> type 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned
> int}' [-Werror=format=]
> error_report("Invalid RAM size, should be %" PRIi64 " Bytes",
> ^
> cc1: all warnings being treated as errors
> rules.mak:69: recipe for target 'hw/arm/digic_boards.o' failed
> make: *** [hw/arm/digic_boards.o] Error 1
> CC hw/arm/musicpal.o
> hw/arm/musicpal.c: In function 'musicpal_init':
> hw/arm/musicpal.c:1598:22: error: format '%lli' expects argument of type
> 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned int}'
> [-Werror=format=]
> error_report("Invalid RAM size, should be %" PRIi64 " Bytes",
> ^
> cc1: all warnings being treated as errors
> rules.mak:69: recipe for target 'hw/arm/musicpal.o' failed
> make: *** [hw/arm/musicpal.o] Error 1
> CC hw/arm/nseries.o
> hw/arm/nseries.c: In function 'n8x0_init':
> hw/arm/nseries.c:1316:22: error: format '%lli' expects argument of type
> 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned int}'
> [-Werror=format=]
> error_report("Invalid RAM size, should be %" PRIi64 " Bytes",
> ^
> cc1: all warnings being treated as errors
> rules.mak:69: recipe for target 'hw/arm/nseries.o' failed
> make: *** [hw/arm/nseries.o] Error 1
> CC hw/arm/omap_sx1.o
> hw/arm/omap_sx1.c: In function 'sx1_init':
> hw/arm/omap_sx1.c:119:22: error: format '%lli' expects argument of type
> 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned int}'
> [-Werror=format=]
> error_report("Invalid RAM size, should be %" PRIi64 " Bytes",
> ^
> cc1: all warnings being treated as errors
> rules.mak:69: recipe for target 'hw/arm/omap_sx1.o' failed
> make: *** [hw/arm/omap_sx1.o] Error 1
> CC hw/arm/palm.o
> hw/arm/palm.c: In function 'palmte_init':
> hw/arm/palm.c:202:22: error: format '%lli' expects argument of type
> 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned int}'
> [-Werror=format=]
> error_report("Invalid RAM size, should be %" PRIi64 " Bytes",
> ^
> cc1: all warnings being treated as errors
> rules.mak:69: recipe for target 'hw/arm/palm.o' failed
> make: *** [hw/arm/palm.o] Error 1
> CC hw/arm/collie.o
> hw/arm/collie.c: In function 'collie_init':
> hw/arm/collie.c:32:22: error: format '%lli' expects argument of type
> 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned int}'
> [-Werror=format=]
> error_report("Invalid RAM size, should be %" PRIi64 " Bytes",
> ^
> cc1: all warnings being treated as errors
> rules.mak:69: recipe for target 'hw/arm/collie.o' failed
> make: *** [hw/arm/collie.o] Error 1
> CC hw/arm/mps2.o
> hw/arm/mps2.c: In function 'mps2_common_init':
> hw/arm/mps2.c:121:22: error: format '%lli' expects argument of type
> 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned int}'
> [-Werror=format=]
> error_report("Invalid RAM size, should be %" PRIi64 " Bytes",
> ^
> cc1: all warnings being treated as errors
> rules.mak:69: recipe for target 'hw/arm/mps2.o' failed
> make: *** [hw/arm/mps2.o] Error 1
> CC hw/arm/mps2-tz.o
> hw/arm/mps2-tz.c: In function 'mps2tz_common_init':
> hw/arm/mps2-tz.c:391:22: error: format '%lli' expects argument of type
> 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned int}'
> [-Werror=format=]
> error_report("Invalid RAM size, should be %" PRIi64 " Bytes",
> ^
> cc1: all warnings being treated as errors
> rules.mak:69: recipe for target 'hw/arm/mps2-tz.o' failed
> make: *** [hw/arm/mps2-tz.o] Error 1
> CC hw/lm32/lm32_boards.o
> hw/lm32/lm32_boards.c: In function 'lm32_evr_init':
> hw/lm32/lm32_boards.c:89:22: error: format '%lli' expects argument of
> type 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned
> int}' [-Werror=format=]
> error_report("Invalid RAM size, should be %" PRIi64 " Bytes",
> ^
> hw/lm32/lm32_boards.c: In function 'lm32_uclinux_init':
> hw/lm32/lm32_boards.c:179:22: error: format '%lli' expects argument of
> type 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned
> int}' [-Werror=format=]
> error_report("Invalid RAM size, should be %" PRIi64 " Bytes",
> ^
> cc1: all warnings being treated as errors
> rules.mak:69: recipe for target 'hw/lm32/lm32_boards.o' failed
> make: *** [hw/lm32/lm32_boards.o] Error 1
> CC hw/lm32/milkymist.o
> hw/lm32/milkymist.c: In function 'milkymist_init':
> hw/lm32/milkymist.c:100:22: error: format '%lli' expects argument of
> type 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned
> int}' [-Werror=format=]
> error_report("Invalid RAM size, should be %" PRIi64 " Bytes",
> ^
> cc1: all warnings being treated as errors
> CC hw/mips/mips_fulong2e.o
> hw/mips/mips_fulong2e.c: In function 'mips_fulong2e_init':
> hw/mips/mips_fulong2e.c:317:22: error: format '%ld' expects argument of
> type 'long int', but argument 2 has type 'long long int' [-Werror=format=]
> error_report("Invalid RAM size, should be %ld", 256 * MiB);
> ^
> cc1: all warnings being treated as errors
> CC hw/ppc/ppc405_boards.o
> hw/ppc/ppc405_boards.c: In function 'ref405ep_init':
> hw/ppc/ppc405_boards.c:165:22: error: format '%lli' expects argument of
> type 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned
> int}' [-Werror=format=]
> error_report("Invalid RAM size, should be %" PRIi64 " Bytes",
> ^
> hw/ppc/ppc405_boards.c: In function 'taihu_405ep_init':
> hw/ppc/ppc405_boards.c:435:22: error: format '%lli' expects argument of
> type 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned
> int}' [-Werror=format=]
> error_report("Invalid RAM size, should be %" PRIi64 " Bytes",
> ^
> cc1: all warnings being treated as errors
> rules.mak:69: recipe for target 'hw/ppc/ppc405_boards.o' failed
> make: *** [hw/ppc/ppc405_boards.o] Error 1
> CC hw/ppc/ppc4xx_devs.o
> hw/ppc/ppc4xx_devs.c: In function 'ppc4xx_sdram_adjust':
> hw/ppc/ppc4xx_devs.c:704:39: error: format '%lli' expects argument of
> type 'long long int', but argument 3 has type 'ram_addr_t {aka const
> unsigned int}' [-Werror=format=]
> char *t = g_strdup_printf("%s%" PRIi64 "%s", s,
> sdram_bank_sizes[i],
> ^
> hw/ppc/ppc4xx_devs.c:709:22: error: format '%lli' expects argument of
> type 'long long int', but argument 2 has type 'ram_addr_t {aka unsigned
> int}' [-Werror=format=]
> error_report("Invalid RAM size, unable to fit all RAM into RAM
> banks"
> ^
> cc1: all warnings being treated as errors
> rules.mak:69: recipe for target 'hw/ppc/ppc4xx_devs.o' failed
> make: *** [hw/ppc/ppc4xx_devs.o] Error 1
> CC hw/ppc/e500.o
> hw/ppc/e500.c: In function 'ppce500_init':
> hw/ppc/e500.c:909:22: error: format '%ld' expects argument of type 'long
> int', but argument 2 has type 'long long int' [-Werror=format=]
> error_report("RAM size must be multiple of %ld", RAM_SIZES_ALIGN);
> ^
> cc1: all warnings being treated as errors
>
next prev parent reply other threads:[~2019-12-31 16:23 UTC|newest]
Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-31 13:02 [PATCH 00/86] refactor main RAM allocation to use hostmem backend Igor Mammedov
2019-12-31 13:02 ` [PATCH 01/86] numa: remove not needed check Igor Mammedov
2019-12-31 13:02 ` [PATCH 02/86] numa: properly check if numa is supported Igor Mammedov
2019-12-31 13:02 ` [PATCH 03/86] numa: remove deprecated -mem-path fallback to anonymous RAM Igor Mammedov
2019-12-31 13:02 ` [PATCH 04/86] machine: introduce ram-memdev property Igor Mammedov
2019-12-31 13:02 ` [PATCH 05/86] machine: alias -mem-path and -mem-prealloc into memory-foo backend Igor Mammedov
2019-12-31 13:02 ` [PATCH 06/86] machine: introduce convenience MachineState::ram Igor Mammedov
2019-12-31 13:02 ` [PATCH 07/86] initialize MachineState::ram in NUMA case Igor Mammedov
2019-12-31 13:02 ` [PATCH 08/86] alpha:dp264: use memdev for RAM Igor Mammedov
2019-12-31 16:11 ` Philippe Mathieu-Daudé
2020-01-06 0:37 ` Richard Henderson
2019-12-31 13:02 ` [PATCH 09/86] arm:aspeed: convert valid RAM sizes to data Igor Mammedov
2019-12-31 13:02 ` [PATCH 10/86] arm:aspeed: actually check RAM size Igor Mammedov
2019-12-31 13:02 ` [PATCH 11/86] hw:aspeed: drop warning and bogus ram_size fixup Igor Mammedov
2019-12-31 13:02 ` [PATCH 12/86] arm:aspeed: use memdev for RAM Igor Mammedov
2019-12-31 13:02 ` [PATCH 13/86] arm:collie: " Igor Mammedov
2019-12-31 13:02 ` [PATCH 14/86] arm:cubieboard: " Igor Mammedov
2019-12-31 13:02 ` [PATCH 15/86] arm:digic_boards: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 16/86] arm:highbank: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 17/86] arm:imx25_pdk: drop RAM size fixup Igor Mammedov
2019-12-31 13:03 ` [PATCH 18/86] arm:imx25_pdk: use memdev for RAM Igor Mammedov
2019-12-31 13:03 ` [PATCH 19/86] arm:integratorcp: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 20/86] arm:kzm: drop RAM size fixup Igor Mammedov
2019-12-31 13:03 ` [PATCH 21/86] arm:kzm: use memdev for RAM Igor Mammedov
2019-12-31 16:10 ` Philippe Mathieu-Daudé
2019-12-31 13:03 ` [PATCH 22/86] arm:mcimx6ul-evk: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 23/86] arm:mcimx7d-sabre: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 24/86] arm:mps2-tz: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 25/86] arm:mps2: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 26/86] arm:musicpal: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 27/86] arm:nseries: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 28/86] arm:omap_sx1: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 29/86] arm:palm: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 30/86] arm:raspi: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 31/86] arm:sabrelite: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 32/86] arm:sbsa-ref: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 33/86] arm:versatilepb: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 34/86] arm:vexpress: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 35/86] arm:virt: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 36/86] arm:xilinx_zynq: drop RAM size fixup Igor Mammedov
2019-12-31 13:03 ` [PATCH 37/86] arm:xilinx_zynq: use memdev for RAM Igor Mammedov
2019-12-31 13:03 ` [PATCH 38/86] arm:xlnx-versal-virt: " Igor Mammedov
2019-12-31 16:05 ` Philippe Mathieu-Daudé
2019-12-31 13:03 ` [PATCH 39/86] arm:xlnx-zcu102: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 40/86] s390x:s390-virtio-ccw: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 41/86] null-machine: " Igor Mammedov
2019-12-31 15:32 ` Philippe Mathieu-Daudé
2019-12-31 13:03 ` [PATCH 42/86] cris:axis_dev88: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 43/86] hppa: drop RAM size fixup Igor Mammedov
2019-12-31 15:44 ` Philippe Mathieu-Daudé
2020-01-02 11:31 ` Helge Deller
2020-01-02 12:06 ` Philippe Mathieu-Daudé
2020-01-02 13:02 ` Helge Deller
2020-01-02 14:47 ` Igor Mammedov
2020-01-02 14:12 ` Igor Mammedov
2020-01-02 14:17 ` Philippe Mathieu-Daudé
2020-01-02 15:08 ` Igor Mammedov
2020-01-02 15:49 ` Philippe Mathieu-Daudé
2020-01-02 16:50 ` Igor Mammedov
2020-01-02 17:14 ` Philippe Mathieu-Daudé
2020-01-02 17:32 ` Igor Mammedov
2020-01-02 20:09 ` Helge Deller
2020-01-02 14:41 ` Igor Mammedov
2020-01-02 14:45 ` Philippe Mathieu-Daudé
2020-01-02 15:35 ` Igor Mammedov
2020-01-02 15:40 ` Philippe Mathieu-Daudé
2020-01-02 17:08 ` [PATCH] hppa: allow max ram size upto 4Gb Igor Mammedov
2020-01-02 17:15 ` Philippe Mathieu-Daudé
2020-01-02 17:36 ` Igor Mammedov
2020-01-02 17:46 ` [PATCH v2] " Igor Mammedov
2020-01-02 20:22 ` Helge Deller
2020-01-03 9:54 ` Igor Mammedov
2020-01-04 15:00 ` Philippe Mathieu-Daudé
2020-01-06 10:48 ` Igor Mammedov
2020-01-06 11:05 ` Philippe Mathieu-Daudé
2020-01-06 11:28 ` Helge Deller
2020-01-06 16:24 ` Igor Mammedov
2020-01-06 17:03 ` Helge Deller
2020-01-07 11:21 ` Igor Mammedov
2020-01-07 11:53 ` Helge Deller
2020-01-07 15:17 ` Igor Mammedov
2020-01-07 15:34 ` [PATCH v3 43/86] " Igor Mammedov
2019-12-31 13:03 ` [PATCH 44/86] hppa: use memdev for RAM Igor Mammedov
2019-12-31 15:45 ` Philippe Mathieu-Daudé
2019-12-31 13:03 ` [PATCH 45/86] x86:microvm: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 46/86] x86:pc: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 47/86] lm32:lm32_boards: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 48/86] lm32:milkymist: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 49/86] m68k:an5206: " Igor Mammedov
2020-01-07 16:11 ` Thomas Huth
2019-12-31 13:03 ` [PATCH 50/86] m68k:mcf5208: " Igor Mammedov
2020-01-07 16:11 ` Thomas Huth
2019-12-31 13:03 ` [PATCH 51/86] m68k:next-cube: " Igor Mammedov
2020-01-07 16:12 ` Thomas Huth
2019-12-31 13:03 ` [PATCH 52/86] mips:boston-cube: " Igor Mammedov
2019-12-31 16:08 ` Philippe Mathieu-Daudé
2019-12-31 13:03 ` [PATCH 53/86] mips:mips_fulong2e: drop RAM size fixup Igor Mammedov
2019-12-31 13:03 ` [PATCH 54/86] mips:mips_fulong2e: use memdev for RAM Igor Mammedov
2019-12-31 13:03 ` [PATCH 55/86] mips:mips_jazz: " Igor Mammedov
2019-12-31 16:06 ` Philippe Mathieu-Daudé
2019-12-31 13:03 ` [PATCH 56/86] mips:mips_malta: " Igor Mammedov
2019-12-31 16:07 ` Philippe Mathieu-Daudé
2019-12-31 13:03 ` [PATCH 57/86] mips:mips_mipssim: " Igor Mammedov
2019-12-31 16:07 ` Philippe Mathieu-Daudé
2019-12-31 13:03 ` [PATCH 58/86] mips:mips_r4k: " Igor Mammedov
2019-12-31 16:08 ` Philippe Mathieu-Daudé
2019-12-31 13:03 ` [PATCH 59/86] ppc:e500: drop RAM size fixup Igor Mammedov
2019-12-31 13:03 ` [PATCH 60/86] ppc:e500: use memdev for RAM Igor Mammedov
2019-12-31 13:03 ` [PATCH 61/86] ppc:mac_newworld: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 62/86] ppc:mac_oldworld: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 63/86] ppc:pnv: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 64/86] ppc:ppc405_boards: add RAM size checks Igor Mammedov
2019-12-31 13:03 ` [PATCH 65/86] ppc:ppc405_boards: use memdev for RAM Igor Mammedov
2019-12-31 13:03 ` [PATCH 66/86] ppc:ppc440_bamboo/sam460ex: drop RAM size fixup Igor Mammedov
2020-01-01 11:54 ` BALATON Zoltan
2020-01-01 15:39 ` Philippe Mathieu-Daudé
2020-01-01 18:45 ` BALATON Zoltan
2020-01-02 11:47 ` Igor Mammedov
2020-01-02 15:52 ` BALATON Zoltan
2020-01-02 17:19 ` Igor Mammedov
2020-01-10 17:14 ` Igor Mammedov
2019-12-31 13:03 ` [PATCH 67/86] ppc:ppc440_bamboo/sam460ex: use memdev for RAM Igor Mammedov
2019-12-31 13:03 ` [PATCH 68/86] ppc:prep: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 69/86] ppc:spapr: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 70/86] ppc:virtex_ml507: remove unused arguments Igor Mammedov
2019-12-31 13:03 ` [PATCH 71/86] ppc:virtex_ml507: use memdev for RAM Igor Mammedov
2019-12-31 13:03 ` [PATCH 72/86] sparc:leon3: " Igor Mammedov
2019-12-31 16:02 ` Philippe Mathieu-Daudé
2019-12-31 13:03 ` [PATCH 73/86] sparc:sun4m: " Igor Mammedov
2019-12-31 13:03 ` [PATCH 74/86] sparc:niagara: " Igor Mammedov
2019-12-31 16:02 ` Philippe Mathieu-Daudé
2019-12-31 13:03 ` [PATCH 75/86] remove no longer used memory_region_allocate_system_memory() Igor Mammedov
2019-12-31 13:04 ` [PATCH 76/86] post conversion default_ram_id cleanup Igor Mammedov
2019-12-31 16:04 ` Philippe Mathieu-Daudé
2019-12-31 13:04 ` [PATCH 77/86] exec: cleanup qemu_minrampagesize()/qemu_maxrampagesize() Igor Mammedov
2019-12-31 13:04 ` [PATCH 78/86] exec: drop bogus mem_path from qemu_ram_alloc_from_fd() Igor Mammedov
2019-12-31 13:04 ` [PATCH 79/86] make mem_path local variable Igor Mammedov
2019-12-31 13:04 ` [PATCH 80/86] hostmem: introduce "prealloc-threads" property Igor Mammedov
2019-12-31 13:04 ` [PATCH 81/86] hostmem: fix strict bind policy Igor Mammedov
2019-12-31 13:04 ` [PATCH 82/86] numa: forbid '-numa node, mem' for 5.0 and newer machine types Igor Mammedov
2019-12-31 13:04 ` [PATCH 83/86] tests:numa-test: make top level args dynamic and g_autofree(cli) cleanups Igor Mammedov
2019-12-31 13:04 ` [PATCH 84/86] tests:numa-test: use explicit memdev to specify node RAM Igor Mammedov
2019-12-31 13:04 ` [PATCH 85/86] numa: make exit() usage consistent Igor Mammedov
2019-12-31 13:04 ` [PATCH 86/86] numa: remove deprecated implicit RAM distribution between nodes Igor Mammedov
2019-12-31 15:58 ` [PATCH 00/86] refactor main RAM allocation to use hostmem backend Philippe Mathieu-Daudé
2019-12-31 16:22 ` Igor Mammedov [this message]
2020-01-03 13:06 ` Igor Mammedov
2020-01-03 13:15 ` Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191231172235.682553d0@Igors-MacBook-Pro \
--to=imammedo@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).