[PATCH] D36288: Use profile summary to disable peeling for huge working sets

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 3 17:33:18 PDT 2017


On Thu, Aug 3, 2017 at 4:52 PM, Xinliang David Li <davidxl at google.com>
wrote:

> The relevant discussion is http://lists.llvm.org/pipermail/llvm-dev/2015-
> December/093388.html
>
> David
>
> On Thu, Aug 3, 2017 at 4:43 PM, Mehdi AMINI via Phabricator <
> reviews at reviews.llvm.org> wrote:
>
>> mehdi_amini added a comment.
>>
>> > When the working set size is determined to be huge, disable peeling to
>> avoid bloating the working set further.
>>
>> Just lurking and curious: how is "working set" defined first? And then
>> how is peeling bloating it?
>>
>
There's some detailed background info in the thread David pointed to. But
in a nutshell, the working set here is based on the profile summary and is
the number of profile counts (analogous to the number of blocks) required
to cover a very large (99.9% by default) percentage of the total profile
count of the application. Peeling is a code size increasing optimization
that we have found tends to hurt applications of this size more than it
helps (exacerbating icache/itlb issues).


>>
>> Repository:
>>   rL LLVM
>>
>> https://reviews.llvm.org/D36288
>>
>>
>>
>>
>


-- 
Teresa Johnson |  Software Engineer |  tejohnson at google.com |  408-460-2413
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170803/fc33d9bb/attachment.html>


More information about the llvm-commits mailing list