On Fri, 29 Apr 2011, Bruno Prémont wrote: > On Fri, 29 April 2011 Thomas Gleixner wrote: > > On Thu, 28 Apr 2011, john stultz wrote: > > > On Thu, 2011-04-28 at 23:04 +0200, Thomas Gleixner wrote: > > > > /me suspects hrtimer changes to be the real culprit. > > > > > > I'm not seeing anything on right off, but it does smell like > > > e06383db9ec591696a06654257474b85bac1f8cb would be where such an issue > > > would crop up. > > > > > > Bruno, could you try checking out e06383db9ec, confirming it still > > > occurs (and then maybe seeing if it goes away at e06383db9ec^1)? > > > > > > I'll keep digging in the meantime. > > > > I found the bug already. The problem is that sched_init() calls > > init_rt_bandwidth() which calls hrtimer_init() _BEFORE_ > > hrtimers_init() is called. > > > > That was unnoticed so far as the CLOCK id to hrtimer base conversion > > was hardcoded. Now we use a table which is set up at hrtimers_init(), > > so the bandwith hrtimer ends up on CLOCK_REALTIME because the table is > > in the bss. > > > > The patch below fixes this, by providing the table statically rather > > than runtime initialized. Though that whole ordering wants to be > > revisited. > > Works here as well (applied alone), /proc/$(pidof rcu_kthread)/sched shows > total runtime continuing to increase beyond 950 and slubs continue being > released! Does the CPU time show up in top/ps as well now ? Thanks, tglx