Messages in this thread | | | Date | Fri, 13 Jan 2012 14:20:39 +0100 | Subject | Re: [PATCH] perf_events: proposed fix for broken intr throttling (v2) | From | Stephane Eranian <> |
| |
Hi,
Some update on this. I took your patch and modify it to implement the breakdown unthrottle, adjust freq, multiplexing without requiring two passes over the events for the first two. That seems to work fine.
However, there is another major issue: the throttling logic does not honor the max rate. I set a lower rate 3000 and sampled with fixed periods creating more than 3000 samples/s, I got throttled/unthrottled, but over the 10s run, when I compare /proc/interrupts before and after, I did get a lot more than 3000 intr x 10s. I have not yet had time to investigate but I suspect it has to do with the fact the events may get unthrottled sooner than in the next timer tick. Will look at this again next week.
On Mon, Jan 9, 2012 at 9:55 AM, Peter Zijlstra <peterz@infradead.org> wrote: > On Sun, 2012-01-08 at 00:11 +0100, Stephane Eranian wrote: >> I'll look into that one. But at first glance, it does not address the issue >> of adjusting the period at each timer tick. Only multiplexing (rotation) should >> happen at the multiplier rate. > > Correct, it only pokes at the throttle stuff. For the freq stuff we can > remain using the nr_freq count to see if we need the iteration. > > But yeah, I think that separation you did makes sense.
| |