[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 0/7] hw/arm/virt: Improve address assignment for high memo
From: |
Marc Zyngier |
Subject: |
Re: [PATCH v6 0/7] hw/arm/virt: Improve address assignment for high memory regions |
Date: |
Sat, 29 Oct 2022 12:29:19 +0100 |
User-agent: |
Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (Gojō) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) |
On Wed, 26 Oct 2022 01:29:56 +0100,
Gavin Shan <gshan@redhat.com> wrote:
>
> Hi Peter and Marc,
>
> On 10/24/22 11:54 AM, Gavin Shan wrote:
> > There are three high memory regions, which are VIRT_HIGH_REDIST2,
> > VIRT_HIGH_PCIE_ECAM and VIRT_HIGH_PCIE_MMIO. Their base addresses
> > are floating on highest RAM address. However, they can be disabled
> > in several cases.
> >
> > (1) One specific high memory region is disabled by developer by
> > toggling vms->highmem_{redists, ecam, mmio}.
> >
> > (2) VIRT_HIGH_PCIE_ECAM region is disabled on machine, which is
> > 'virt-2.12' or ealier than it.
> >
> > (3) VIRT_HIGH_PCIE_ECAM region is disabled when firmware is loaded
> > on 32-bits system.
> >
> > (4) One specific high memory region is disabled when it breaks the
> > PA space limit.
> >
> > The current implementation of virt_set_memmap() isn't comprehensive
> > because the space for one specific high memory region is always
> > reserved from the PA space for case (1), (2) and (3). In the code,
> > 'base' and 'vms->highest_gpa' are always increased for those three
> > cases. It's unnecessary since the assigned space of the disabled
> > high memory region won't be used afterwards.
> >
> > The series intends to improve the address assignment for these
> > high memory regions and introduces new properties for user to
> > selectively disable those 3 high memory regions.
> >
> > PATCH[1-4] preparatory work for the improvment
> > PATCH[5] improve high memory region address assignment
> > PATCH[6] adds 'compact-highmem' to enable or disable the optimization
> > PATCH[7] adds properties so that high memory regions can be disabled
> >
> > v5: https://lists.nongnu.org/archive/html/qemu-arm/2022-10/msg00280.html
> > v4: https://lists.nongnu.org/archive/html/qemu-arm/2022-10/msg00067.html
> > v3: https://lists.nongnu.org/archive/html/qemu-arm/2022-09/msg00258.html
> > v2: https://lore.kernel.org/all/20220815062958.100366-1-gshan@redhat.com/T/
> > v1: https://lists.nongnu.org/archive/html/qemu-arm/2022-08/msg00013.html
> >
>
> Could you help to take a look when getting a chance? I think Connie and
> Eric are close to complete the reviews, but v7 is still needed to address
> extra comments from them. I hope to make v7 mergeable if possible :)
With the comments from Connie and Eric addressed, this looks good to
me:
Reviewed-by: Marc Zyngier <maz@kernel.org>
Thanks for having gone the extra mile on this one.
M.
--
Without deviation from the norm, progress is not possible.
- Re: [PATCH v6 6/7] hw/arm/virt: Add 'compact-highmem' property, (continued)
Re: [PATCH v6 0/7] hw/arm/virt: Improve address assignment for high memory regions, Gavin Shan, 2022/10/25