| Date | Mon, 13 Sep 2004 22:05:21 -0700 | From | Andrew Morton <> | Subject | Re: [profile] amortize atomic hit count increments |
| |
William Lee Irwin III <wli@holomorphy.com> wrote: > > read_proc_profile() > does not flush the per-cpu hashtables because flushing may cause > timeslice overrun on the systems where prof_buffer cacheline bounces > are so problematic as to livelock the timer interrupt.
That's a bit of a problem, isn't it? As we can accumulate an arbitrarily large number of hits within the hash table is it not possible that the /proc/profile results could be grossly inaccurate?
If you had two front-ends per cpu to the profiling buffer then the CPU which is running the /proc/profile read could tell all the other CPUs to flip to their alternate buffer and can then perform accumulation at its leisure.
How does oprofile get around this? I guess in most modes the CPUs are not synchronised.
One wonders how long we should keep flogging the /prof/profile profiling code. What systems are seeing this livelock? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|