On Thu, Feb 21, 2008 at 10:19 PM, Nicholas Nethercote
<[EMAIL PROTECTED]> wrote:
> On Thu, 21 Feb 2008, Bart Van Assche wrote:
>  > On Thu, Feb 21, 2008 at 6:38 PM, Vince Weaver <[EMAIL PROTECTED]> wrote:
>  > >  To do this properly, it would be nice if it were possible to be notified
>  > >  whenever a thread-change happened.  That way the statistics from the
>  > >  various threads could be kept separately.
>  >
>  > This would be useful for exp-drd too. What I do now is to compare the
>  > result of VG_(get_running_tid)() with a cached value in order to
>  > detect when Valgrind scheduled another thread. This test is performed
>  > upon every load, every store, and every time the stack pointer is
>  > modified.
>
>  I thought we had such an event -- I thought Josef used it in Callgrind.
>  In include/pub_tool_tooliface.h I see:
>
>  track_start_client_code
>  track_stop_client_code
>  track_pre_thread_ll_create
>  track_pre_thread_ll_create
>  track_pre_thread_ll_exit
>
>  Are any of these good enough?  (I really thought we had a
>  track_thread_switch event...)

The above is not sufficient. I have tried in exp-drd to only update
the cached thread ID when one of the above events was generated. The
result was that for several test cases the cached thread ID was not
equal to VG_(get_running_tid()). An example of such a test case is
exp-drd/tests/sigalrm.c.

Bart.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Valgrind-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-developers

Reply via email to