From: Eric Dong <eric.dong@intel.com>
To: \x16\x16\x16edk2-devel@lists.01.org
Subject: [Patch v3 0/3] Optimize load uCode performance
Date: Fri, 13 Jul 2018 08:47:56 +0800 [thread overview]
Message-ID: <20180713004759.14224-1-eric.dong@intel.com> (raw)
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1069 bytes --]
Use below three rules to optimize load uCode performance:
1. Let BSP relocate uCode from flash to memory for better performance.
2. BSP caches the CPU ID and address of uCode so AP doesnt need to look
for the uCode again if the CPU ID is same as BSPs.
3. Only apply uCode in one thread of a core when hyper threading is enabled.
v2 changes:
Fix potential issue if allocate memory failed.
V3 Changes:
Remove the ASSERT code which is not correct.
Test:
Use an sample platform which has 1 socket, 4 core, 8 threads, the
CpuMpPei driver cost time reduce from 108.4ms to 27.2ms
Eric Dong (3):
UefiCpuPkg/MpInitLib: Use BSP uCode for APs if possible.
UefiCpuPkg/MpInitLib: Load uCode once for each core.
UefiCpuPkg/MpInitLib: Relocate uCode to memory to save time.
UefiCpuPkg/Library/MpInitLib/Microcode.c | 43 +++++++++++++++++++++++++++++---
UefiCpuPkg/Library/MpInitLib/MpLib.c | 38 +++++++++++++++++++++++++---
UefiCpuPkg/Library/MpInitLib/MpLib.h | 11 ++++++--
3 files changed, 84 insertions(+), 8 deletions(-)
--
2.15.0.windows.1
next reply other threads:[~2018-07-13 0:48 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-13 0:47 Eric Dong [this message]
2018-07-13 0:47 ` [Patch v3 1/3] UefiCpuPkg/MpInitLib: Relocate uCode to memory to save time Eric Dong
2018-07-13 0:47 ` [Patch v3 2/3] UefiCpuPkg/MpInitLib: Use BSP uCode for APs if possible Eric Dong
2018-07-13 0:47 ` [Patch v3 3/3] UefiCpuPkg/MpInitLib: Load uCode once for each core Eric Dong
-- strict thread matches above, loose matches on Subject: below --
2018-07-16 3:08 [Patch v3 0/3] Optimize load uCode performance Eric Dong
2018-07-17 16:38 ` Laszlo Ersek
2018-07-17 19:08 ` Laszlo Ersek
2018-07-18 0:18 ` Dong, Eric
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=20180713004759.14224-1-eric.dong@intel.com \
--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