From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=66.187.233.73; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 5C6CC2097E273 for ; Thu, 12 Jul 2018 02:58:27 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id ACA4E4074475; Thu, 12 Jul 2018 09:58:26 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-118.rdu2.redhat.com [10.10.120.118]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2BB8E2026D6B; Thu, 12 Jul 2018 09:58:26 +0000 (UTC) To: Eric Dong , edk2-devel@lists.01.org References: <20180711110729.12604-1-eric.dong@intel.com> From: Laszlo Ersek Message-ID: Date: Thu, 12 Jul 2018 11:58:25 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <20180711110729.12604-1-eric.dong@intel.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Thu, 12 Jul 2018 09:58:26 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Thu, 12 Jul 2018 09:58:26 +0000 (UTC) for IP:'10.11.54.4' DOMAIN:'int-mx04.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'lersek@redhat.com' RCPT:'' Subject: Re: [Patch 0/3] Optimize load uCode performance X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Jul 2018 09:58:27 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit On 07/11/18 13:07, Eric Dong wrote: > 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 doesn’t need to look > for the uCode again if the CPU ID is same as BSP’s. > 3. Only apply uCode in one thread of a core when hyper threading is enabled. > > 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: Relocate uCode to memory to save time. > UefiCpuPkg/MpInitLib: Use BSP uCode for APs if possible. > UefiCpuPkg/MpInitLib: Load uCode once for one core. > > UefiCpuPkg/Library/MpInitLib/Microcode.c | 43 +++++++++++++++++++++++++++++--- > UefiCpuPkg/Library/MpInitLib/MpLib.c | 17 ++++++++++--- > UefiCpuPkg/Library/MpInitLib/MpLib.h | 11 ++++++-- > 3 files changed, 63 insertions(+), 8 deletions(-) > > > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel > I also tried to regression test this with OVMF. (I know I requested some changes for patch #1, however those would only affect behavior in practice when memory allocation fails, so it makes sense for me to test this version of the series as well.) Unfortunately, the patch set doesn't apply; it fails with the first patch already. I tried on top of current master, commit 0a563f3fecfd ("BaseTool: Fixed the incorrect cache key.", 2018-07-12). Can you please post a v2 that is also rebased on current master? Thanks Laszlo