LouisJenkinsCS / Persistent-Memory-Analysis-Tool

Persistent Memory Analysis Tool (PMAT) - Valgrind Plugin that provides an online sampling approach towards performing verification on persistent memory.
GNU General Public License v2.0
1 stars 0 forks source link

Extend time quantum if not in marked 'interesting' code. #58

Open LouisJenkinsCS opened 4 years ago

LouisJenkinsCS commented 4 years ago

Michael had the brilliant idea that instead of probabilistically cutting a time quantum short based on whether or not a thread is in marked 'interesting' code, but instead will just extend its time slice. Essentially modify this...

https://github.com/LouisJenkinsCS/Persistent-Memory-Analysis-Tool/blob/7548f6fbf4ac18fb1189727dba8ef2691a38a576/coregrind/m_scheduler/scheduler.c#L1576-L1579

Into this...

  case VG_TRC_INNER_COUNTERZERO:
         /* Timeslice is out.  Let a new thread be scheduled,
            but only if we’re running in “interesting” code. */
         vg_assert(dispatch_ctr == 0);
         if (!in_interesting_code) {  // determined somehow...
             // could optionally skip this reinitialization, with low probability
             dispatch_ctr = VG_(scheduling_quantum);
         }
         break;