randomize interrupts until wort
This commit is contained in:
parent
ea9b07cb2e
commit
4337832d53
@ -84,7 +84,7 @@ impl Default for MaxIcountMetadata {
|
||||
|
||||
/// A piece of metadata tracking all icounts
|
||||
#[derive(Debug, SerdeAny, Serialize, Deserialize)]
|
||||
pub struct IcHist(pub Vec<u64>);
|
||||
pub struct IcHist (pub Vec<u64>, pub u64);
|
||||
|
||||
//========== Observer
|
||||
|
||||
@ -139,10 +139,11 @@ where
|
||||
let hist = metadata.get_mut::<IcHist>();
|
||||
match hist {
|
||||
None => {
|
||||
metadata.insert(IcHist(vec![self.end_tick - self.start_tick]));
|
||||
metadata.insert(IcHist(vec![self.end_tick - self.start_tick], self.end_tick-self.start_tick));
|
||||
}
|
||||
Some(v) => {
|
||||
v.0.push(self.end_tick - self.start_tick);
|
||||
v.1 = max(v.1, self.end_tick - self.start_tick);
|
||||
if v.0.len() >= 100 {
|
||||
if let Ok(td) = env::var("TIME_DUMP") {
|
||||
let mut file = OpenOptions::new()
|
||||
|
@ -351,7 +351,10 @@ where
|
||||
}
|
||||
#[cfg(not(feature = "feed_systemtrace"))]
|
||||
{
|
||||
let maxtick : u64 = (_input.exec_time().expect("No duration found").as_nanos() >> 4).try_into().unwrap();
|
||||
let metadata = state.metadata();
|
||||
let hist = metadata.get::<IcHist>().unwrap();
|
||||
let maxtick : u64 = hist.1;
|
||||
// let maxtick : u64 = (_input.exec_time().expect("No duration found").as_nanos() >> 4).try_into().unwrap();
|
||||
let mut numbers : Vec<u32> = vec![];
|
||||
for i in 0..num_interrupts {
|
||||
prefix.push(u32::to_le_bytes(myrand.between(0, maxtick).try_into().unwrap()));
|
||||
|
Loading…
x
Reference in New Issue
Block a user