Skip to content

Understand what is leading to schema mismatches for PGO #51908

@AndyAyersMS

Description

@AndyAyersMS

#49793 disabled an assert in EfficientEdgeCountReconstructor::Propagate() that was checking for schema mismatches. Re-enabling this leads to about 4600 mismatch reports from recent SPMI collections.

We should understand what is behind these mismatches, as they cause us to throw away PGO data and miss out on optimization opportunities. Possible causes:

  • IL skew between a static PGO collection and consumption
  • JIT initial flow graph consumption varying between Tier0 and Tier1
  • Inconsistent hashing (the runtime uses an IL hash as the PGO data lookup key)
  • ... ?

Initial focus should be on the dynamic case where we can be fairly certain that the IL is the same and that mismatches should generally never happen.

Metadata

Metadata

Assignees

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions