Re: scheduling hrtimers while holding rq->lock

From: Peter Zijlstra
Date: Tue Jul 29 2008 - 16:52:33 EST


On Tue, 2008-07-29 at 15:23 -0400, Daniel Rosenthal wrote:
> What's the best way for scheduling code to start an hrtimer while
> holding the rq->lock? I am trying to implement SCHED_SPORADIC
> (sporadic server) in the realtime scheduling class (rt_sched_class),
> and it needs to schedule aperiodic, asynchronous replenishment
> operations which are independent of timeslice expiration. This is to
> implement the functionality that when a SCHED_SPORADIC task blocks or
> uses up its timeslice, one of these asynchronous events is scheduled
> to happen at some time offset in the future that doesn't necessarily
> correspond to any timeslice expiration.
>
> Is there some way to schedule this event without duplicating the code
> that the generic scheduler currently uses for its hrtick_timer? As
> in, is there a way to do this without adding a thread flag similar in
> function to TIF_HRTICK_RESCHED and calling an rt_sched_class function
> from do_notify_resume if the flag is set?
>
> The code snippet below is what I am trying to do.
>
> Please CC me explicitly in any replies.

Look at .27-rc1 ;-)

--
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/