Re: [patch 1/3] sched: use jump labels to reduce overhead whenbandwidth control is inactive

From: Peter Zijlstra
Date: Tue Nov 08 2011 - 04:29:47 EST


On Mon, 2011-11-07 at 20:26 -0800, Paul Turner wrote:
> @@ -1788,6 +1791,9 @@ static void do_sched_cfs_slack_timer(str
> */
> static void check_enqueue_throttle(struct cfs_rq *cfs_rq)
> {
> + if (!cfs_bandwidth_used())
> + return;
> +
> /* an active group must be handled by the update_curr()->put() path */
> if (!cfs_rq->runtime_enabled || cfs_rq->curr)
> return;
> @@ -1805,6 +1811,9 @@ static void check_enqueue_throttle(struc
> /* conditionally throttle active cfs_rq's from put_prev_entity() */
> static void check_cfs_rq_runtime(struct cfs_rq *cfs_rq)
> {
> + if (!cfs_bandwidth_used())
> + return;
> +
> if (likely(!cfs_rq->runtime_enabled || cfs_rq->runtime_remaining > 0))
> return;
>

does it matter if you pull this out into an inline function like:

static __always_inline void check_enqueue_throttle(struct cfs_rq *cfs_rq)
{
if (cfs_bandwidth_used())
__check_enqueue_throttle(cfs_rq);
}

That would avoid the superfluous function call as well.
--
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/