Re: [ck] Re: [PATCH] sched: activate SCHED BATCH expired

From: Nick Piggin
Date: Fri Mar 17 2006 - 09:04:08 EST


Andreas Mohr wrote:
Hi,

On Sat, Mar 18, 2006 at 12:36:10AM +1100, Con Kolivas wrote:

I'm not attached to the style, just the feature. If you think it's warranted I'll change it.


Seconded.

An even nicer way (this solution seems somewhat asymmetric) than

prio_array_t *target = rq->active;
if (batch_task(p))
target = rq->expired;
enqueue_task(p, target);

may be

prio_array_t *target;
if (batch_task(p))
target = rq->expired;
else
target = rq->active;
enqueue_task(p, target);


It doesn't actually generate the same code here (I guess it is good
that gcc gives us this control).

I think my way is (ever so slightly) better because it gets the load
going earlier and comprises one less conditional jump (admittedly in
the slowpath). You'd probably never be able to measure a difference
between any of the variants, however ;)

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com -
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/