Page MenuHomePhabricator

hoy (Hongtao Yu)
Software Engineer at Facebook

Projects

User does not belong to any projects.

User Details

User Since
Feb 23 2020, 3:46 PM (123 w, 2 d)

Recent Activity

Mon, Jun 27

hoy added reviewers for D128675: [CSSPGO] Add a SecMetadataOffsetTable to extbinary profile: wenlei, wlei.
Mon, Jun 27, 1:28 PM · Restricted Project, Restricted Project
hoy requested review of D128675: [CSSPGO] Add a SecMetadataOffsetTable to extbinary profile.
Mon, Jun 27, 12:09 PM · Restricted Project, Restricted Project

Wed, Jun 15

hoy accepted D127815: [test][AlwaysInline]:Correct comment and file check for always-inline.ll.

LGTM, thanks.

Wed, Jun 15, 4:56 PM · Restricted Project, Restricted Project
hoy added inline comments to D127815: [test][AlwaysInline]:Correct comment and file check for always-inline.ll.
Wed, Jun 15, 2:38 PM · Restricted Project, Restricted Project
hoy accepted D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.

LGTM.

Wed, Jun 15, 9:26 AM · Restricted Project, Restricted Project

Tue, Jun 14

hoy added a comment to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.

Thanks for addressing all the comments! Looks good to me now except for a couple minor things.

Tue, Jun 14, 11:09 PM · Restricted Project, Restricted Project
hoy added inline comments to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.
Tue, Jun 14, 6:52 PM · Restricted Project, Restricted Project
hoy added inline comments to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.
Tue, Jun 14, 5:15 PM · Restricted Project, Restricted Project
hoy added inline comments to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.
Tue, Jun 14, 12:12 PM · Restricted Project, Restricted Project

Mon, Jun 13

hoy added inline comments to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.
Mon, Jun 13, 11:29 PM · Restricted Project, Restricted Project
hoy added inline comments to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.
Mon, Jun 13, 9:04 PM · Restricted Project, Restricted Project
hoy added inline comments to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.
Mon, Jun 13, 3:44 PM · Restricted Project, Restricted Project
hoy added inline comments to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.
Mon, Jun 13, 1:48 PM · Restricted Project, Restricted Project
hoy added inline comments to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.
Mon, Jun 13, 1:46 PM · Restricted Project, Restricted Project
hoy added inline comments to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.
Mon, Jun 13, 1:39 PM · Restricted Project, Restricted Project
hoy added inline comments to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.
Mon, Jun 13, 12:02 PM · Restricted Project, Restricted Project
hoy added a comment to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.

A general question about the design as I read more into the code. I was trying to figure out if a FunctionSample, its SampleContext and ContextTrieNode stick together as a whole, as also commented in another place. It seems to me multiple FunctionSamples can share the ContextTrieNode. Am I correct? What is the reason for this?

Mon, Jun 13, 11:47 AM · Restricted Project, Restricted Project

Sat, Jun 11

hoy added inline comments to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.
Sat, Jun 11, 10:51 AM · Restricted Project, Restricted Project

Fri, Jun 10

hoy updated the diff for D121651: [llvm-profdata] Convert nested profile to CS flat profile..

Updating D121651: [llvm-profdata] Convert nested profile to CS flat profile.

Fri, Jun 10, 6:28 PM · Restricted Project, Restricted Project
hoy added inline comments to D121651: [llvm-profdata] Convert nested profile to CS flat profile..
Fri, Jun 10, 6:28 PM · Restricted Project, Restricted Project
hoy accepted D125246: [CSSPGO][llvm-profgen] Reimplement CS profile generator using context trie.

LGTM.

Fri, Jun 10, 10:54 AM · Restricted Project, Restricted Project
hoy accepted D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.

LGTM, thanks for addressing the feedbacks!

Fri, Jun 10, 9:34 AM · Restricted Project, Restricted Project

Thu, Jun 9

hoy added inline comments to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.
Thu, Jun 9, 11:39 PM · Restricted Project, Restricted Project
hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Thu, Jun 9, 11:05 PM · Restricted Project, Restricted Project
hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Thu, Jun 9, 11:03 PM · Restricted Project, Restricted Project
hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Thu, Jun 9, 10:24 PM · Restricted Project, Restricted Project
hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Thu, Jun 9, 10:15 PM · Restricted Project, Restricted Project
hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Thu, Jun 9, 9:56 PM · Restricted Project, Restricted Project
hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Thu, Jun 9, 9:25 PM · Restricted Project, Restricted Project

Wed, Jun 8

hoy added inline comments to D126827: [llvm-profgen] Fix a loading address bug for pseudo probe profile.
Wed, Jun 8, 5:48 PM · Restricted Project, Restricted Project
hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Wed, Jun 8, 5:25 PM · Restricted Project, Restricted Project
hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Wed, Jun 8, 5:16 PM · Restricted Project, Restricted Project
hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Wed, Jun 8, 4:46 PM · Restricted Project, Restricted Project
hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Wed, Jun 8, 4:23 PM · Restricted Project, Restricted Project
hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Wed, Jun 8, 4:06 PM · Restricted Project, Restricted Project
hoy added a comment to D121862: [ProfSampleLoader] When disable-sample-loader-inlining is true, merge profiles of inlined instances to outlining versions..

Thanks for sharing more about the context and the background, @kazu

Wed, Jun 8, 3:28 PM · Restricted Project, Restricted Project
hoy updated the diff for D121651: [llvm-profdata] Convert nested profile to CS flat profile..

Updating D121651: [llvm-profdata] Convert nested profile to CS flat profile.

Wed, Jun 8, 2:16 PM · Restricted Project, Restricted Project
hoy added inline comments to D121651: [llvm-profdata] Convert nested profile to CS flat profile..
Wed, Jun 8, 12:33 PM · Restricted Project, Restricted Project
hoy updated the diff for D121651: [llvm-profdata] Convert nested profile to CS flat profile..

Updating D121651: [llvm-profdata] Convert nested profile to CS flat profile.

Wed, Jun 8, 12:33 PM · Restricted Project, Restricted Project
hoy committed rG7d293744a89a: [CSSPGO][Preinliner] Set default value of sample-profile-inline-limit-max to… (authored by hoy).
[CSSPGO][Preinliner] Set default value of sample-profile-inline-limit-max to…
Wed, Jun 8, 12:10 PM · Restricted Project, Restricted Project
hoy closed D127330: [CSSPGO][Preinliner] Set default value of sample-profile-inline-limit-max to 3000.
Wed, Jun 8, 12:10 PM · Restricted Project, Restricted Project
hoy added reviewers for D127330: [CSSPGO][Preinliner] Set default value of sample-profile-inline-limit-max to 3000: wenlei, wlei.
Wed, Jun 8, 11:51 AM · Restricted Project, Restricted Project
hoy requested review of D127330: [CSSPGO][Preinliner] Set default value of sample-profile-inline-limit-max to 3000.
Wed, Jun 8, 11:50 AM · Restricted Project, Restricted Project
hoy committed rGab34ab2b87a5: [PseudoProbe] Use callee name as callsite identfier for… (authored by hoy).
[PseudoProbe] Use callee name as callsite identfier for…
Wed, Jun 8, 10:55 AM · Restricted Project, Restricted Project
hoy closed D126434: [PseudoProbe] Use callee name as callsite identfier for MCDecodedPseudoProbeInlineTree..
Wed, Jun 8, 10:54 AM · Restricted Project, Restricted Project
hoy added inline comments to D126827: [llvm-profgen] Fix a loading address bug for pseudo probe profile.
Wed, Jun 8, 10:53 AM · Restricted Project, Restricted Project
hoy added inline comments to D126434: [PseudoProbe] Use callee name as callsite identfier for MCDecodedPseudoProbeInlineTree..
Wed, Jun 8, 10:38 AM · Restricted Project, Restricted Project
hoy updated the diff for D126434: [PseudoProbe] Use callee name as callsite identfier for MCDecodedPseudoProbeInlineTree..

Updating D126434: [PseudoProbe] Use callee name as callsite identfier for MCDecodedPseudoProbeInlineTree.

Wed, Jun 8, 10:38 AM · Restricted Project, Restricted Project
hoy added inline comments to D126434: [PseudoProbe] Use callee name as callsite identfier for MCDecodedPseudoProbeInlineTree..
Wed, Jun 8, 10:21 AM · Restricted Project, Restricted Project

Mon, Jun 6

hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Mon, Jun 6, 11:55 AM · Restricted Project, Restricted Project
hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Mon, Jun 6, 11:47 AM · Restricted Project, Restricted Project
hoy added a comment to D127031: [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie.

Would be good to have some numbers for build time and memory usage in the summary.

Mon, Jun 6, 10:50 AM · Restricted Project, Restricted Project

Jun 5 2022

hoy added inline comments to D127026: [CSSPGO][llvm-profgen] Reimplement computeSummaryAndThreshold using context trie.
Jun 5 2022, 9:28 PM · Restricted Project, Restricted Project

May 25 2022

hoy updated the summary of D126434: [PseudoProbe] Use callee name as callsite identfier for MCDecodedPseudoProbeInlineTree..
May 25 2022, 4:35 PM · Restricted Project, Restricted Project
hoy requested review of D126434: [PseudoProbe] Use callee name as callsite identfier for MCDecodedPseudoProbeInlineTree..
May 25 2022, 4:30 PM · Restricted Project, Restricted Project

May 19 2022

hoy added inline comments to D125246: [CSSPGO][llvm-profgen] Reimplement CS profile generator using context trie.
May 19 2022, 11:24 AM · Restricted Project, Restricted Project

May 16 2022

hoy updated the diff for D121651: [llvm-profdata] Convert nested profile to CS flat profile..

Rebasing.

May 16 2022, 10:22 AM · Restricted Project, Restricted Project
hoy committed rGacfd0a345619: [llvm-profgen] Update callsite body samples by summing up all call target… (authored by hoy).
[llvm-profgen] Update callsite body samples by summing up all call target…
May 16 2022, 9:14 AM · Restricted Project, Restricted Project
hoy closed D122609: [llvm-profgen] Update callsite body samples by summing up all call target samples..
May 16 2022, 9:13 AM · Restricted Project, Restricted Project
hoy added a comment to D122609: [llvm-profgen] Update callsite body samples by summing up all call target samples..

Performance testing came back neutral, with a 99.962% profile similarity.

May 16 2022, 9:04 AM · Restricted Project, Restricted Project

May 15 2022

hoy added inline comments to D125246: [CSSPGO][llvm-profgen] Reimplement CS profile generator using context trie.
May 15 2022, 11:43 PM · Restricted Project, Restricted Project

May 13 2022

hoy committed rG1662cfa4be33: [CSSPGO][CSProfileConverter] Remove call target samples when including callee… (authored by hoy).
[CSSPGO][CSProfileConverter] Remove call target samples when including callee…
May 13 2022, 9:20 AM · Restricted Project, Restricted Project
hoy closed D125266: [CSSPGO][CSProfileConverter] Remove call target samples when including callee samples into caller..
May 13 2022, 9:19 AM · Restricted Project, Restricted Project
hoy updated the diff for D125266: [CSSPGO][CSProfileConverter] Remove call target samples when including callee samples into caller..

Updating D125266: [CSSPGO][CSProfileConverter] Remove call target samples when including callee samples into caller.

May 13 2022, 9:13 AM · Restricted Project, Restricted Project
hoy added inline comments to D125266: [CSSPGO][CSProfileConverter] Remove call target samples when including callee samples into caller..
May 13 2022, 9:12 AM · Restricted Project, Restricted Project

May 12 2022

hoy added inline comments to D122609: [llvm-profgen] Update callsite body samples by summing up all call target samples..
May 12 2022, 11:51 PM · Restricted Project, Restricted Project
hoy updated the diff for D122609: [llvm-profgen] Update callsite body samples by summing up all call target samples..

Updating D122609: [llvm-profgen] Update callsite body samples by summing up all call target samples.

May 12 2022, 11:51 PM · Restricted Project, Restricted Project
hoy updated the diff for D122609: [llvm-profgen] Update callsite body samples by summing up all call target samples..

Updating D122609: [llvm-profgen] Update callsite body samples by summing up all call target samples.

May 12 2022, 11:46 PM · Restricted Project, Restricted Project
hoy retitled D122609: [llvm-profgen] Update callsite body samples by summing up all call target samples. from [llvm-profgen] An option to update callsite body samples by summing up all call target samples. to [llvm-profgen] Update callsite body samples by summing up all call target samples..
May 12 2022, 11:43 PM · Restricted Project, Restricted Project
hoy updated the diff for D122609: [llvm-profgen] Update callsite body samples by summing up all call target samples..

Updating D122609: [llvm-profgen] An option to update callsite body samples by summing up all call target samples.

May 12 2022, 11:43 PM · Restricted Project, Restricted Project
hoy added inline comments to D122609: [llvm-profgen] Update callsite body samples by summing up all call target samples..
May 12 2022, 11:42 PM · Restricted Project, Restricted Project
hoy updated the diff for D125266: [CSSPGO][CSProfileConverter] Remove call target samples when including callee samples into caller..

Updating D125266: [CSSPGO][CSProfileConverter] Remove call target samples when including callee samples into caller.

May 12 2022, 8:18 PM · Restricted Project, Restricted Project
hoy added inline comments to D125266: [CSSPGO][CSProfileConverter] Remove call target samples when including callee samples into caller..
May 12 2022, 8:18 PM · Restricted Project, Restricted Project
hoy accepted D125448: [llvm-profgen] Filter out oversized LBR ranges..
May 12 2022, 10:35 AM · Restricted Project, Restricted Project
hoy added inline comments to D125448: [llvm-profgen] Filter out oversized LBR ranges..
May 12 2022, 9:57 AM · Restricted Project, Restricted Project
hoy added inline comments to D125448: [llvm-profgen] Filter out oversized LBR ranges..
May 12 2022, 9:41 AM · Restricted Project, Restricted Project
hoy committed rG23191a4ffee9: [CSSPGO][llvm-profgen] Do not duplicate context profiles into base profile when… (authored by hoy).
[CSSPGO][llvm-profgen] Do not duplicate context profiles into base profile when…
May 12 2022, 9:30 AM · Restricted Project, Restricted Project
hoy closed D124796: [CSSPGO][llvm-profgen] Do not duplicate context profiles into base profile when converting CS flat profile to nested..
May 12 2022, 9:29 AM · Restricted Project, Restricted Project
hoy abandoned D123361: [llvm-profgen] Filter out oversized LBR ranges..

Replaced by D125448: [llvm-profgen] Filter out oversized LBR ranges..

May 12 2022, 9:22 AM · Restricted Project, Restricted Project

May 11 2022

hoy updated the summary of D123361: [llvm-profgen] Filter out oversized LBR ranges..
May 11 2022, 3:37 PM · Restricted Project, Restricted Project
hoy updated the diff for D123361: [llvm-profgen] Filter out oversized LBR ranges..

Updating D123361: [llvm-profgen] Filter out oversized LBR ranges.

May 11 2022, 3:36 PM · Restricted Project, Restricted Project
hoy added inline comments to D125266: [CSSPGO][CSProfileConverter] Remove call target samples when including callee samples into caller..
May 11 2022, 12:09 PM · Restricted Project, Restricted Project

May 10 2022

hoy added a comment to D125246: [CSSPGO][llvm-profgen] Reimplement CS profile generator using context trie.

Our experiment on one internal service showed that the context key's memory can be reduced from 80GB to 300MB.

This is awesome! Thanks for the work!

How about running time?

Just tested the trie based is faster than the old one, E2E running time : 103mins vs 122mins.

The reason for the speed-up should be due to the time spent on getting caller's FunctionSamples. For the new version, it's just call getParentContext() which is O(1). The old version it generate the caller's context frames then call getFunctionProfileForContext(...), which is O(n), n is the context length.

Very nice. BTW, looks like this is done to line number based profile generation only. How about pseudo probes? Am I missing anything?

May 10 2022, 3:43 PM · Restricted Project, Restricted Project
hoy added a comment to D125246: [CSSPGO][llvm-profgen] Reimplement CS profile generator using context trie.

Our experiment on one internal service showed that the context key's memory can be reduced from 80GB to 300MB.

This is awesome! Thanks for the work!

How about running time?

Just tested the trie based is faster than the old one, E2E running time : 103mins vs 122mins.

The reason for the speed-up should be due to the time spent on getting caller's FunctionSamples. For the new version, it's just call getParentContext() which is O(1). The old version it generate the caller's context frames then call getFunctionProfileForContext(...), which is O(n), n is the context length.

May 10 2022, 3:39 PM · Restricted Project, Restricted Project
hoy added inline comments to D125266: [CSSPGO][CSProfileConverter] Remove call target samples when including callee samples into caller..
May 10 2022, 3:00 PM · Restricted Project, Restricted Project
hoy accepted D125255: [llvm-profgen] Support a threshold to control hiding warning summaries.

LGTM with a minor suggestion.

May 10 2022, 10:58 AM · Restricted Project, Restricted Project

May 9 2022

hoy added a comment to D125255: [llvm-profgen] Support a threshold to control hiding warning summaries.

I'm not sure if a universal threshold for filtering warning is a good way to deal with this. Maybe look at this from a different angle -- for some warnings, any instance is bad, for others, we can tolerate them. Hence, an alternative: for critical ones, we should always print out any non-zero value; for others, print them only under a "verbose" mode?

May 9 2022, 4:03 PM · Restricted Project, Restricted Project
hoy added inline comments to D125255: [llvm-profgen] Support a threshold to control hiding warning summaries.
May 9 2022, 3:21 PM · Restricted Project, Restricted Project
hoy committed rG9641b9be9dfc: [Inliner] Preserve !prof metadata when converting call to invoke. (authored by hoy).
[Inliner] Preserve !prof metadata when converting call to invoke.
May 9 2022, 3:08 PM · Restricted Project, Restricted Project
hoy closed D125249: [Inliner] Preserve !prof metadata when converting call to invoke..
May 9 2022, 3:08 PM · Restricted Project, Restricted Project
hoy updated the summary of D125266: [CSSPGO][CSProfileConverter] Remove call target samples when including callee samples into caller..
May 9 2022, 2:21 PM · Restricted Project, Restricted Project
hoy updated the diff for D125266: [CSSPGO][CSProfileConverter] Remove call target samples when including callee samples into caller..

Updating D125266: [CSSPGO][CSProfileConverter] Remove call target samples when including callee samples into caller.

May 9 2022, 2:04 PM · Restricted Project, Restricted Project
hoy requested review of D125266: [CSSPGO][CSProfileConverter] Remove call target samples when including callee samples into caller..
May 9 2022, 1:52 PM · Restricted Project, Restricted Project
hoy updated the diff for D125249: [Inliner] Preserve !prof metadata when converting call to invoke..

Extending test to check scaling.

May 9 2022, 12:23 PM · Restricted Project, Restricted Project
hoy added a comment to D125249: [Inliner] Preserve !prof metadata when converting call to invoke..

Should we have a test case to cover the post-inlining scaling. Otherwise looks good.

May 9 2022, 12:05 PM · Restricted Project, Restricted Project
hoy added a comment to D125249: [Inliner] Preserve !prof metadata when converting call to invoke..

Does the data need to be scaled first?

May 9 2022, 12:05 PM · Restricted Project, Restricted Project
hoy added reviewers for D125249: [Inliner] Preserve !prof metadata when converting call to invoke.: wenlei, wlei, davidxl.
May 9 2022, 11:38 AM · Restricted Project, Restricted Project
hoy updated the summary of D125249: [Inliner] Preserve !prof metadata when converting call to invoke..
May 9 2022, 11:37 AM · Restricted Project, Restricted Project
hoy requested review of D125249: [Inliner] Preserve !prof metadata when converting call to invoke..
May 9 2022, 11:24 AM · Restricted Project, Restricted Project
hoy added a comment to D125246: [CSSPGO][llvm-profgen] Reimplement CS profile generator using context trie.

Our experiment on one internal service showed that the context key's memory can be reduced from 80GB to 300MB.

May 9 2022, 11:23 AM · Restricted Project, Restricted Project