From: "gaoliming" <gaoliming@byosoft.com.cn>
To: <devel@edk2.groups.io>, <ard.biesheuvel@arm.com>
Cc: "'Dandan Bi'" <dandan.bi@intel.com>,
"'Jian J Wang'" <jian.j.wang@intel.com>,
"'Hao A Wu'" <hao.a.wu@intel.com>,
"'Sami Mujawar'" <sami.mujawar@arm.com>,
"'Laszlo Ersek'" <lersek@redhat.com>,
"'Leif Lindholm'" <leif@nuviainc.com>
Subject: 回复: [edk2-devel] [PATCH v2 0/3] MdeModulePkg: use pool allocations for ACPI tables
Date: Fri, 30 Oct 2020 09:01:48 +0800 [thread overview]
Message-ID: <004201d6ae58$3ec7e0d0$bc57a270$@byosoft.com.cn> (raw)
In-Reply-To: <20201028194226.21556-1-ard.biesheuvel@arm.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
> -----邮件原件-----
> 发件人: bounce+27952+66710+4905953+8761045@groups.io
> <bounce+27952+66710+4905953+8761045@groups.io> 代表 Ard
> Biesheuvel
> 发送时间: 2020年10月29日 3:42
> 收件人: devel@edk2.groups.io
> 抄送: Ard Biesheuvel <ard.biesheuvel@arm.com>; Dandan Bi
> <dandan.bi@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Jian J
> Wang <jian.j.wang@intel.com>; Hao A Wu <hao.a.wu@intel.com>; Sami
> Mujawar <sami.mujawar@arm.com>; Laszlo Ersek <lersek@redhat.com>;
> Leif Lindholm <leif@nuviainc.com>
> 主题: [edk2-devel] [PATCH v2 0/3] MdeModulePkg: use pool allocations for
> ACPI tables
>
> Currently, the AcpiTableDxe memory allocator uses page based allocations,
> for which the only reason seems to be that it permits the use of a memory
> limit, which is necessary for ACPI 1.0 tables that need to reside in the
> first 4 GB of memory.
>
> That requirement does not exist on AArch64, and since page based
allocations
> are rounded up to 64 KB multiples, this wastes some memory in a way that
> can easily be avoided. So let's use the existing 'mAcpiTableAllocType'
> policy variable, and switch to pool allocations if it is set to
> 'AllocateAnyPages'
>
> Changes since v1:
> - incorporate Laszlo's review feedback
> . update description of EFI_ACPI_TABLE_LIST struct
> . avoid EFI_PHYSICAL_ADDRESS to VOID* conversion in case
> AllocatePages()
> returns an error
> . put closing ) on a line by itself when using the non-condensed format
> for passing function call arguments.
> . fix error in comment text
>
> Example output from Linux booting on ArmVirtQemu:
>
> Before:
> ACPI: RSDP 0x0000000078510000 000024 (v02 BOCHS )
> ACPI: XSDT 0x0000000078500000 00004C (v01 BOCHS BXPCFACP
> 00000001 01000013)
> ACPI: FACP 0x00000000784C0000 00010C (v05 BOCHS BXPCFACP
> 00000001 BXPC 00000001)
> ACPI: DSDT 0x00000000784D0000 0014BB (v02 BOCHS BXPCDSDT
> 00000001 BXPC 00000001)
> ACPI: APIC 0x00000000784B0000 0000A8 (v03 BOCHS BXPCAPIC
> 00000001 BXPC 00000001)
> ACPI: GTDT 0x00000000784A0000 000060 (v02 BOCHS BXPCGTDT
> 00000001 BXPC 00000001)
> ACPI: MCFG 0x0000000078490000 00003C (v01 BOCHS BXPCMCFG
> 00000001 BXPC 00000001)
> ACPI: SPCR 0x0000000078480000 000050 (v02 BOCHS BXPCSPCR
> 00000001 BXPC 00000001)
>
> After:
> ACPI: RSDP 0x000000007C030018 000024 (v02 BOCHS )
> ACPI: XSDT 0x000000007C03FE98 00004C (v01 BOCHS BXPCFACP
> 00000001 01000013)
> ACPI: FACP 0x000000007C03FA98 00010C (v05 BOCHS BXPCFACP
> 00000001 BXPC 00000001)
> ACPI: DSDT 0x000000007C037518 0014BB (v02 BOCHS BXPCDSDT
> 00000001 BXPC 00000001)
> ACPI: APIC 0x000000007C03FC18 0000A8 (v03 BOCHS BXPCAPIC
> 00000001 BXPC 00000001)
> ACPI: GTDT 0x000000007C03FD18 000060 (v02 BOCHS BXPCGTDT
> 00000001 BXPC 00000001)
> ACPI: MCFG 0x000000007C03FE18 00003C (v01 BOCHS BXPCMCFG
> 00000001 BXPC 00000001)
> ACPI: SPCR 0x000000007C03FF98 000050 (v02 BOCHS BXPCSPCR
> 00000001 BXPC 00000001)
>
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Sami Mujawar <sami.mujawar@arm.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Cc: Leif Lindholm <leif@nuviainc.com>
>
> Ard Biesheuvel (3):
> MdeModulePkg/AcpiTableDxe: use pool allocations when possible
> MdeModulePkg/AcpiTableDxe: use pool allocation for RSDT/XSDT if
> possible
> MdeModulePkg/AcpiTableDxe: use pool allocation for RSDP if possible
>
> .../Universal/Acpi/AcpiTableDxe/AcpiTable.h | 11 +-
> .../Universal/Acpi/AcpiTableDxe/AcpiSdt.c | 4 +-
> .../Acpi/AcpiTableDxe/AcpiTableProtocol.c | 230 ++++++++++++------
> 3 files changed, 162 insertions(+), 83 deletions(-)
>
> --
> 2.17.1
>
>
>
>
>
next prev parent reply other threads:[~2020-10-30 1:01 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-28 19:42 [PATCH v2 0/3] MdeModulePkg: use pool allocations for ACPI tables Ard Biesheuvel
2020-10-28 19:42 ` [PATCH v2 1/3] MdeModulePkg/AcpiTableDxe: use pool allocations when possible Ard Biesheuvel
2020-10-28 19:42 ` [PATCH v2 2/3] MdeModulePkg/AcpiTableDxe: use pool allocation for RSDT/XSDT if possible Ard Biesheuvel
2020-10-28 19:42 ` [PATCH v2 3/3] MdeModulePkg/AcpiTableDxe: use pool allocation for RSDP " Ard Biesheuvel
2020-10-30 1:01 ` gaoliming [this message]
2020-10-30 14:51 ` 回复: [edk2-devel] [PATCH v2 0/3] MdeModulePkg: use pool allocations for ACPI tables Ard Biesheuvel
2020-11-02 17:27 ` Laszlo Ersek
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-list 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='004201d6ae58$3ec7e0d0$bc57a270$@byosoft.com.cn' \
--to=devel@edk2.groups.io \
/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