Issue metadata
Sign in to add a comment
|
hot symbols not placed at the beginning of text section by default using lld |
||||||||||||||||||||||
Issue descriptionThe problem with lld by default is that hot symbols marked by AFDO profiles is either mixed inside .text section, or put in a separate section (.text.hot) at the END of the .text, when using flag -z keep-text-section-prefix. Either way is not good for using huge pages for Chrome. Need to investigate to find out a way to place hot symbol first.
,
Dec 7
,
Dec 18
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/b24528659b9430458640d23bb8383762fbd2395a commit b24528659b9430458640d23bb8383762fbd2395a Author: Tiancong Wang <tcwang@google.com> Date: Tue Dec 18 16:27:10 2018 lld: Add a local lld patch to reorder .text.hot before .text for lld. lld by default won't separate symbols marked as hot from text section. By default, using -z keep-text-section-prefix will group symbols with prefix and order them as .text, .text.hot, .text.startup, .text.exit, .text.unlikely. The lld patch re-orders the .text.hot section before .text, matching the ordering in gold: text.hot, .text, .text.startup, .text.exit, .text.unlikely. The lld patch also includes a test. Change the lld emerge file to uprev and build a new lld with the patch TEST=lld unit test and tested on Caroline-board. BUG=chromium:912781, chromium:912780 Change-Id: I4ac5af51c46893ee4cfe2ef8e388d104e6bad5b2 Reviewed-on: https://chromium-review.googlesource.com/1378594 Commit-Ready: Luis Lozano <llozano@chromium.org> Tested-by: Luis Lozano <llozano@chromium.org> Reviewed-by: Luis Lozano <llozano@chromium.org> [add] https://crrev.com/b24528659b9430458640d23bb8383762fbd2395a/sys-devel/lld/files/lld-8.0-reorder-hotsection.patch [modify] https://crrev.com/b24528659b9430458640d23bb8383762fbd2395a/sys-devel/lld/lld-8.0_pre339409.ebuild [modify] https://crrev.com/b24528659b9430458640d23bb8383762fbd2395a/chromeos-base/chromeos-chrome/chromeos-chrome-9999.ebuild [rename] https://crrev.com/b24528659b9430458640d23bb8383762fbd2395a/sys-devel/lld/lld-8.0_pre339409-r3.ebuild |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by tcwang@chromium.org
, Dec 7