Re: [patch] __volatile__ needed in get_cycles()?

Tigran Aivazian (tigran@sco.COM)
Wed, 31 Mar 1999 11:23:22 +0100 (BST)


On Wed, 31 Mar 1999, Andrea Arcangeli wrote:
> I am not talking about bugs, I am simply talking about precise profiling
> of the asm between two get_cycles_serialized(). Note, I always thought
> from time zero that get_cycles_serialized() is not needed at all for
> production code, but Tigran asked for an additional get_cycles() that
> would take care of reordering issues and since it looked fun I implemented
> it :).
Well, originally - I merely pointed out that __volatile__ is needed in
get_cycles() of 2.2.4 and it was accepted in 2.2.5. It was also said that
with
__volatile__ get_cycles() can be used for profiling but the word I chose
was "pseudo-profiling" because of the speculative execution nature of P6
family. To make "pseudo-profiling" a real "profiling" a separate version
of get_cycles() would be needed (i.e. not to cause unneeded overhead in
the current use in schedule()/SMP) and you implemented various forms of
it (since it looked fun :).

Regards,
Tigran.

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