On Wed, 2019-06-19 at 14:49 +0300, tz.stoyanov@xxxxxxxxx wrote: > From: "Tzvetomir Stoyanov (VMware)" <tz.stoyanov@xxxxxxxxx> > > A major speed regression in trace-cmd v2.8 is reported by Johannes Berg > when parsing a huge trace.dat file: > > "I have a ~1.7G file with just under 620k events (not exactly big by our standards), > and parsing speed (with -N to disable plugins) goes from ~4.5 seconds on commit > 1ad32c24746 to >>4.5 minutes (I aborted there) on master. > I was talking to Steven about another issue, and he pointed me to > commit c2fc2bc296f7. Reverting that on master makes it take ~2 seconds, > so that'd actually be an improvement." > > Proposed solution: do not free pages from "struct page **pages" lookup table > in struct cpu_data, in case a trace file is loaded. This reverts the behavior > for this use case, as it was before commit c2fc2bc296f7. Seems to work, more or less. I now see ~6.5 seconds which is slower than it was, and in particular comparing to just a revert (which was ~2 seconds), but it's usable :-) johannes