|
From: Siddharth N. <si...@gm...> - 2012-07-17 21:21:38
|
Hi Bart, I should explain further. I'm trying to record the synchronization events between threads by monitoring the memory locations that multiple threads read/write. By post processing this information with a simple cache simulation I'm hoping to analyze coherence traffic. I'm trying to narrow down the number of memory locations to monitor. DRD documentation says the pthreads model assumes that all memory within a process is assumed to be shared by all threads belonging to that process. However, most threaded programs require you to either declare shared variables or manually use locks around them. Is there any way to detect this early (i.e. before threads are spawned) so that tracking memory addresses becomes more tractable? I'm not familiar with the DRD or Valgrind core code (I am reasonably familiar with the Callgrind code), but if similar/same functionality already exists in DRD, it'd be a great help if you could point me in the right direction. Siddharth On 17 July 2012 16:09, <ba...@ba...> wrote: > > I'm trying to write a new Valgrind tool that tracks thread > > synchronization. > > Is there any way to identify which variables are shared or which memory > > address range is shared amongst multiple threads? > > Isn't that what's already being tracked by the conflict set data structure > in DRD ? > > Bart. > > |