mirror of
https://github.com/Zygo/bees.git
synced 2025-05-17 21:35:45 +02:00
roots: use a non-idle task for next_transid
The scanners which finish early can become stuck behind scanners that are able to keep the queue full. Switch the next_transid task to the normal Task queues so that we force scanners to restart on every new transaction, possibly deferring already queued work to do so. Signed-off-by: Zygo Blaxell <bees@furryterror.org>
This commit is contained in:
parent
0d3e13cc5f
commit
58db4071de
@ -130,7 +130,7 @@ BeesScanMode::start_scan()
|
|||||||
st->scan();
|
st->scan();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
m_scan_task.idle();
|
m_scan_task.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
@ -768,7 +768,7 @@ BeesScanModeExtent::scan()
|
|||||||
|
|
||||||
// Good to go, start everything running
|
// Good to go, start everything running
|
||||||
for (const auto &i : task_map_copy) {
|
for (const auto &i : task_map_copy) {
|
||||||
i.second.idle();
|
i.second.run();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -901,7 +901,7 @@ BeesScanModeExtent::map_next_extent(uint64_t const subvol)
|
|||||||
<< " time " << crawl_time << " subvol " << subvol);
|
<< " time " << crawl_time << " subvol " << subvol);
|
||||||
}
|
}
|
||||||
|
|
||||||
// We did something! Get in line to run again
|
// We did something! Get in line to run again (but don't preempt work already queued)
|
||||||
Task::current_task().idle();
|
Task::current_task().idle();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user