Re: [RFC] Timer: Migrate running timers

From: Thomas Gleixner
Date: Wed Nov 20 2013 - 06:43:10 EST


Viresh,

On Wed, 20 Nov 2013, Viresh Kumar wrote:

> Migration of timers from idle cores to non-idle ones for power saving is very
> well working and really saves a lot of power for us. What's currently not
> working is the migration of running timers Or timers which re-arms themselves.
>
> There are complications with migrating timers which schedules themselves again
> from their handler. del_timer_sync() can't detect that the timer's handler
> yet has not finished.

Because you try to violate the semantics of the existing code. There
is a reason why we enforce that running timers must be requeued on the
base they are running on.

Now you try to duct tape it into submission. That's not going to fly.

The timer wheel code is not designed to allow that and it has lots of
other short comings and historic burdens. I'm not going to accept more
duct tape and fragile hackery into that code.

I'm already working on a complete replacement infrastructure, which
avoids all the short comings of the current timer implementation
including this one.

It's going to be a massive effort to convert everything over to the
new infrastructure so we can kill the timer wheel, but that's less
scary and less risky than trying to add more fragility to the existing
code.

Thanks,

tglx




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/