![]() | |||||||||||||
Messages in this thread
|
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/ | ||||||||||||
| Last update: 2005-03-22 13:06 [from the cache] ©2003-2008 | |||||||||||||