> 3/ Multiplexing and system-wide > > Multiplexing is time-based and it is hooked into the timer tick. > At every tick, the kernel tries to schedule another set of event > groups. > > In tickless kernels if a CPU is idle, no timer tick is generated, > therefore no multiplexing occurs. This is incorrect. It's not > because the CPU is idle, that there aren't any interesting PMU > events to measure. Parts of the CPU may still be active, e.g., > caches and buses. And thus, it is expected that multiplexing still > happens. > > You need to hook up the timer source for multiplexing to something > else which is not affected by tickless. You cannot simply disable > tickless during a measurement because you would not be measuring > the system as it actually behaves.
There is only a very small difference between inhibiting nohz and waking up the machine using timers on the same interval. Using the scheduler tick to round-robin counters is a first-level approximation we use: it in essence corresponds to multiplexing counters along a cycle cost metric. If there's sufficient interest we can drive the round-robining by the PMU itself: this makes it HZ and dynticks invariant. The simplified multiplexing we offer now certainly works well enough in practice - if there's interest we can expand it. ------------------------------------------------------------------------------ Are you an open source citizen? Join us for the Open Source Bridge conference! Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250. Need another reason to go? 24-hour hacker lounge. Register today! http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel