On Fri, Sep 29, 2017 at 07:47:56AM -0700, kan.li...@intel.com wrote: > From: Kan Liang <kan.li...@intel.com> > > perf_top__mmap_read has severe performance issue in > Knights Landing/Mill, when monitoring in heavy load system. It costs > several minutes to finish, which is unacceptable. > > perf top was overwrite mode. But it is changed to non overwrite mode > since commit 93fc64f14472 ("perf top: Switch to non overwrite mode"). > For non overwrite mode, it tries to read everything in the ring buffer > and does not check the messup. Once there are lots of samples delivered > shortly, the processing time could be very long. > Knights Landing/Mill as a manycore processor contains a large number of > small cores. Because of the huge core number, it will generated lots of > samples in a heavy load system. Also, since the huge sample#, the mmap > writer probably bite the tail and mess up the samples. > > Also, to avoid the problems which is described in > commit 9ecda41acb97 ("perf/core: Add ::write_backward attribute to perf > event"), switch to backward overwrite mode. > Pausing the ring-buffer during perf_top__mmap_read to ensure the > ring-buffer is stable. > There would be some records lost in backward overwrite mode. Removing > the lost events checking.
I'm getting perf top hogging the cpu completely with this change jirka