blob: c175a9e952cb34d2ad427aa4ebffb0c8d016e36f [file] [log] [blame]
#ifndef THIRD_PARTY_PERF_DATA_CONVERTER_QUIPPER_HUGE_PAGE_DEDUCER_H_
#define THIRD_PARTY_PERF_DATA_CONVERTER_QUIPPER_HUGE_PAGE_DEDUCER_H_
#include "compat/proto.h"
namespace quipper {
// Walks through all the perf events in |*events| and searches for split
// mappings due to huge pages. Combines these split mappings into one and
// replaces the split mapping events. Modifies the events vector stored in
// |*events|.
//
// This may not correctly handle perf data that has been processed to remove
// MMAPs that contain no sample events, since one or more of the mappings
// necessary to resolve the huge pages mapping could have been discarded. The
// result would be that the huge pages mapping would remain as "//anon" and the
// other mappings would remain unchanged.
void CombineHugePageMappings(
RepeatedPtrField<PerfDataProto::PerfEvent>* events);
} // namespace quipper
#endif // THIRD_PARTY_PERF_DATA_CONVERTER_QUIPPER_HUGE_PAGE_DEDUCER_H_