On Thu, Jan 16, 2014 at 11:52:45AM +0000, Robert Richter wrote: > (cc'ing Will)
Thanks Robert, > On 16.01.14 17:33:04, Weng Meiling wrote: > > Using the same test case, the problem also exists in the same kernel with > > the new patch applied: > > > > > > # opcontrol --start > > > > Using 2.6+ OProfile kernel interface. > > Using log file /var/lib/oprofile/samples/oprofiled.log > > Daemon started. > > [ 508.456878] INFO: rcu_sched self-detected stall on CPU { 0} (t=2100 > > jiffies g=685 c=684 q=83) > > [ 571.496856] INFO: rcu_sched self-detected stall on CPU { 0} (t=8404 > > jiffies g=685 c=684 q=83) > > [ 634.526855] INFO: rcu_sched self-detected stall on CPU { 0} (t=14707 > > jiffies g=685 c=684 q=83) > > Yes, the patch does not prevent an interrupt storm. The same happened > on x86 and was there solved also by limiting the minimum cycle period > as the kernel was not able to ratelimit. > > > ARM: events: increase minimum cycle period to 100k > > > -event:0xFF counters:0 um:zero minimum:500 name:CPU_CYCLES : CPU cycle > > +event:0xFF counters:0 um:zero minimum:100000 name:CPU_CYCLES : CPU cycle > > However, an arbitrary hardcoded value migth not fit for all kind of > cpus esp. on ARM where the variety is high. It also looks like there > is no way other than patching the events file to force lower values > than the minimum on cpus there this might be necessary. Yeah, it's pretty much impossible to pick a one-size-fits-all value for ARM. > The problem of too low sample periods could be solved on ARM by using > perf's interrupt throttling, you might play around with: > > /proc/sys/kernel/perf_event_max_sample_rate:100000 > > I am not quite sure whether this works esp. for kernel counters and > how userland can be notified about throttling. Throttling could be > worth for operf too, not only for the oprofile kernel driver. > > From a quick look it seems there is also code in x86 that dynamically > adjusts the rate which might be worth being implemented for ARM too. Are you referring to the perf_sample_event_took callback? If so, that certainly looks worth persuing. I'll stick it on my list, thanks! Will -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/