Re: [RFC] exit_thread() speedups in x86 process.c

From: cutaway
Date: Mon Jun 13 2005 - 22:34:32 EST


The problem with that approach is GCC would still just relocate the push/pop
block to the bottom of the function. This means you won't be likely to pick
up anything useful in L1 or L2 as the function exits normally - in fact
you'd typically be guaranteed to be picking up a partial line of gorp that
is completely worthless later on.

This is one of my issues with the notion of unlikely() being smoothed on
everywhere like Bondo<g> - it also makes it "unlikely" that you'll get any
serendipitous L1/L2 advantages that could be had by locating related
functions next to each other.

When you take the unlikely stuff completely out of line in a seperate
functions located elsewhere, the mainline code can make better use of the
caches. The Intel parts thrive on L1 hits and die if they're not getting
them.

----- Original Message -----
From: "Coywolf Qi Hunt" <coywolf@xxxxxxxxx>


I see the effect, But I think it would be better to leave the job to
gcc to generate better code for unlikely, imho.

--
Coywolf Qi Hunt
http://ahbl.org/~coywolf/

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