hw/hppa/machine.c | 5 ++--- hw/ppc/rs6000_mc.c | 15 ++++++++++----- hw/sparc64/niagara.c | 25 +++++++++++++------------ 3 files changed, 25 insertions(+), 20 deletions(-)
Series cleans up remaining boards that call memory_region_allocate_system_memory()
multiple times, violating interface contract (the function should be called only
once).
With that cleaned up, it should be possible to switch from adhoc RAM allocation
in memory_region_allocate_system_memory()->allocate_system_memory_nonnuma() to
memory-backend based allocation, remaining roadblock for doing it is deprecated
-mem-path fallback to RAM allocation, which is scheduled for removal at 4.3
merge window. So remaining patches to consolidate system RAM allocation around
memory-backends and aliasing -mem-path/mem-prealloc to it are postponed till
then.
Igor Mammedov (3):
sparc64: use memory_region_allocate_system_memory() only for '-m'
specified RAM
ppc: rs6000_mc: drop usage of memory_region_allocate_system_memory()
hppa: drop usage of memory_region_allocate_system_memory() for ROM
hw/hppa/machine.c | 5 ++---
hw/ppc/rs6000_mc.c | 15 ++++++++++-----
hw/sparc64/niagara.c | 25 +++++++++++++------------
3 files changed, 25 insertions(+), 20 deletions(-)
--
2.18.1
On Tue, 8 Oct 2019 07:33:15 -0400 Igor Mammedov <imammedo@redhat.com> wrote: > > Series cleans up remaining boards that call memory_region_allocate_system_memory() > multiple times, violating interface contract (the function should be called only > once). > > With that cleaned up, it should be possible to switch from adhoc RAM allocation > in memory_region_allocate_system_memory()->allocate_system_memory_nonnuma() to > memory-backend based allocation, remaining roadblock for doing it is deprecated > -mem-path fallback to RAM allocation, which is scheduled for removal at 4.3 > merge window. So remaining patches to consolidate system RAM allocation around > memory-backends and aliasing -mem-path/mem-prealloc to it are postponed till > then. Eduardo, This patches are fixing various machines across tree, so series does not belong to any particular arch specific tree, can you merge it via generic machine tree? > > > Igor Mammedov (3): > sparc64: use memory_region_allocate_system_memory() only for '-m' > specified RAM > ppc: rs6000_mc: drop usage of memory_region_allocate_system_memory() > hppa: drop usage of memory_region_allocate_system_memory() for ROM > > hw/hppa/machine.c | 5 ++--- > hw/ppc/rs6000_mc.c | 15 ++++++++++----- > hw/sparc64/niagara.c | 25 +++++++++++++------------ > 3 files changed, 25 insertions(+), 20 deletions(-) >
On Thu, 10 Oct 2019 19:35:03 +0200 Igor Mammedov <imammedo@redhat.com> wrote: Forgot to actually CC Eduardo, > On Tue, 8 Oct 2019 07:33:15 -0400 > Igor Mammedov <imammedo@redhat.com> wrote: ... > Eduardo, > > This patches are fixing various machines across tree, so series does not belong > to any particular arch specific tree, can you merge it via generic machine tree? > > > > > > Igor Mammedov (3): > > sparc64: use memory_region_allocate_system_memory() only for '-m' > > specified RAM > > ppc: rs6000_mc: drop usage of memory_region_allocate_system_memory() > > hppa: drop usage of memory_region_allocate_system_memory() for ROM > > > > hw/hppa/machine.c | 5 ++--- > > hw/ppc/rs6000_mc.c | 15 ++++++++++----- > > hw/sparc64/niagara.c | 25 +++++++++++++------------ > > 3 files changed, 25 insertions(+), 20 deletions(-) > > > >
Ping? On Fri, Oct 11, 2019 at 5:23 PM Igor Mammedov <imammedo@redhat.com> wrote: > On Thu, 10 Oct 2019 19:35:03 +0200 > Igor Mammedov <imammedo@redhat.com> wrote: > > Forgot to actually CC Eduardo, > > > On Tue, 8 Oct 2019 07:33:15 -0400 > > Igor Mammedov <imammedo@redhat.com> wrote: > ... > > Eduardo, > > > > This patches are fixing various machines across tree, so series does not belong > > to any particular arch specific tree, can you merge it via generic machine tree? > > > > > > > > > > > Igor Mammedov (3): > > > sparc64: use memory_region_allocate_system_memory() only for '-m' > > > specified RAM > > > ppc: rs6000_mc: drop usage of memory_region_allocate_system_memory() > > > hppa: drop usage of memory_region_allocate_system_memory() for ROM > > > > > > hw/hppa/machine.c | 5 ++--- > > > hw/ppc/rs6000_mc.c | 15 ++++++++++----- > > > hw/sparc64/niagara.c | 25 +++++++++++++------------ > > > 3 files changed, 25 insertions(+), 20 deletions(-) > > >
On Sun, Oct 20, 2019 at 04:38:06PM +0200, Philippe Mathieu-Daudé wrote: > Ping? Sorry, missed this. queued on machine-next. Pull request will be submitted today or tomorrow. > > On Fri, Oct 11, 2019 at 5:23 PM Igor Mammedov <imammedo@redhat.com> wrote: > > On Thu, 10 Oct 2019 19:35:03 +0200 > > Igor Mammedov <imammedo@redhat.com> wrote: > > > > Forgot to actually CC Eduardo, > > > > > On Tue, 8 Oct 2019 07:33:15 -0400 > > > Igor Mammedov <imammedo@redhat.com> wrote: > > ... > > > Eduardo, > > > > > > This patches are fixing various machines across tree, so series does not belong > > > to any particular arch specific tree, can you merge it via generic machine tree? > > > > > > > > > > > > > > > > Igor Mammedov (3): > > > > sparc64: use memory_region_allocate_system_memory() only for '-m' > > > > specified RAM > > > > ppc: rs6000_mc: drop usage of memory_region_allocate_system_memory() > > > > hppa: drop usage of memory_region_allocate_system_memory() for ROM > > > > > > > > hw/hppa/machine.c | 5 ++--- > > > > hw/ppc/rs6000_mc.c | 15 ++++++++++----- > > > > hw/sparc64/niagara.c | 25 +++++++++++++------------ > > > > 3 files changed, 25 insertions(+), 20 deletions(-) > > > > -- Eduardo
Hi Igor, On 10/8/19 1:33 PM, Igor Mammedov wrote: > Series cleans up remaining boards that call memory_region_allocate_system_memory() > multiple times, violating interface contract (the function should be called only > once). > > With that cleaned up, it should be possible to switch from adhoc RAM allocation > in memory_region_allocate_system_memory()->allocate_system_memory_nonnuma() to > memory-backend based allocation, remaining roadblock for doing it is deprecated > -mem-path fallback to RAM allocation, which is scheduled for removal at 4.3 > merge window. So remaining patches to consolidate system RAM allocation around > memory-backends and aliasing -mem-path/mem-prealloc to it are postponed till > then. > > > Igor Mammedov (3): > sparc64: use memory_region_allocate_system_memory() only for '-m' > specified RAM > ppc: rs6000_mc: drop usage of memory_region_allocate_system_memory() > hppa: drop usage of memory_region_allocate_system_memory() for ROM > > hw/hppa/machine.c | 5 ++--- > hw/ppc/rs6000_mc.c | 15 ++++++++++----- > hw/sparc64/niagara.c | 25 +++++++++++++------------ What about the TYPE_SUN4M_MEMORY device in hw/sparc/sun4m.c?
On Mon, 21 Oct 2019 10:59:56 +0200 Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > Hi Igor, > > On 10/8/19 1:33 PM, Igor Mammedov wrote: > > Series cleans up remaining boards that call memory_region_allocate_system_memory() > > multiple times, violating interface contract (the function should be called only > > once). > > > > With that cleaned up, it should be possible to switch from adhoc RAM allocation > > in memory_region_allocate_system_memory()->allocate_system_memory_nonnuma() to > > memory-backend based allocation, remaining roadblock for doing it is deprecated > > -mem-path fallback to RAM allocation, which is scheduled for removal at 4.3 > > merge window. So remaining patches to consolidate system RAM allocation around > > memory-backends and aliasing -mem-path/mem-prealloc to it are postponed till > > then. > > > > > > Igor Mammedov (3): > > sparc64: use memory_region_allocate_system_memory() only for '-m' > > specified RAM > > ppc: rs6000_mc: drop usage of memory_region_allocate_system_memory() > > hppa: drop usage of memory_region_allocate_system_memory() for ROM > > > > hw/hppa/machine.c | 5 ++--- > > hw/ppc/rs6000_mc.c | 15 ++++++++++----- > > hw/sparc64/niagara.c | 25 +++++++++++++------------ > > What about the TYPE_SUN4M_MEMORY device in hw/sparc/sun4m.c? it has only one call site so it's not issue this series targets. I'll take care of it in follow up series, which will deal with converting memory_region_allocate_system_memory() to memdev only (probably I'll drop TYPE_SUN4M_MEMORY altogether) >
Hi Igor,
On 10/8/19 1:33 PM, Igor Mammedov wrote:
> Series cleans up remaining boards that call memory_region_allocate_system_memory()
> multiple times, violating interface contract (the function should be called only
> once).
>
> With that cleaned up, it should be possible to switch from adhoc RAM allocation
> in memory_region_allocate_system_memory()->allocate_system_memory_nonnuma() to
> memory-backend based allocation, remaining roadblock for doing it is deprecated
> -mem-path fallback to RAM allocation, which is scheduled for removal at 4.3
> merge window. So remaining patches to consolidate system RAM allocation around
> memory-backends and aliasing -mem-path/mem-prealloc to it are postponed till
> then.
How do we protect the codebase for new boards to not make the same mistake?
What about some code like this snippet (or nicer, but since this is a
developer error, and assert is enough IMO):
-- >8 --
diff --git a/hw/core/numa.c b/hw/core/numa.c
index 4dfec5c95b..a487677672 100644
--- a/hw/core/numa.c
+++ b/hw/core/numa.c
@@ -484,6 +484,11 @@ static void
allocate_system_memory_nonnuma(MemoryRegion *mr, Object *owner,
const char *name,
uint64_t ram_size)
{
+ static bool nonnuma_system_memory_allocated;
+
+ g_assert(!nonnuma_system_memory_allocated);
+ nonnuma_system_memory_allocated = true;
+
if (mem_path) {
#ifdef __linux__
Error *err = NULL;
---
$ hppa-softmmu/qemu-system-hppa
**
ERROR:/home/phil/source/qemu/hw/core/numa.c:489:allocate_system_memory_nonnuma:
assertion failed: (!nonnuma_system_memory_allocated)
Aborted (core dumped)
On Tue, 8 Oct 2019 14:41:25 +0200
Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> Hi Igor,
>
> On 10/8/19 1:33 PM, Igor Mammedov wrote:
> > Series cleans up remaining boards that call memory_region_allocate_system_memory()
> > multiple times, violating interface contract (the function should be called only
> > once).
> >
> > With that cleaned up, it should be possible to switch from adhoc RAM allocation
> > in memory_region_allocate_system_memory()->allocate_system_memory_nonnuma() to
> > memory-backend based allocation, remaining roadblock for doing it is deprecated
> > -mem-path fallback to RAM allocation, which is scheduled for removal at 4.3
> > merge window. So remaining patches to consolidate system RAM allocation around
> > memory-backends and aliasing -mem-path/mem-prealloc to it are postponed till
> > then.
>
> How do we protect the codebase for new boards to not make the same mistake?
>
> What about some code like this snippet (or nicer, but since this is a
> developer error, and assert is enough IMO):
probably it's not worth effort (it's not too long till 4.2 softfreeze).
Like cover letter say, I'm planing to finish refactoring of
memory_region_allocate_system_memory() and I hope this function
will be gone during 4.3 and most boards will only need to map
pre-created (by common code) memory-backend wherever they used to
map RAM memory region.
> -- >8 --
>
> diff --git a/hw/core/numa.c b/hw/core/numa.c
> index 4dfec5c95b..a487677672 100644
> --- a/hw/core/numa.c
> +++ b/hw/core/numa.c
> @@ -484,6 +484,11 @@ static void
> allocate_system_memory_nonnuma(MemoryRegion *mr, Object *owner,
> const char *name,
> uint64_t ram_size)
> {
> + static bool nonnuma_system_memory_allocated;
> +
> + g_assert(!nonnuma_system_memory_allocated);
> + nonnuma_system_memory_allocated = true;
> +
> if (mem_path) {
> #ifdef __linux__
> Error *err = NULL;
> ---
>
> $ hppa-softmmu/qemu-system-hppa
> **
> ERROR:/home/phil/source/qemu/hw/core/numa.c:489:allocate_system_memory_nonnuma:
> assertion failed: (!nonnuma_system_memory_allocated)
> Aborted (core dumped)
© 2016 - 2026 Red Hat, Inc.