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();
|
||||
});
|
||||
}
|
||||
m_scan_task.idle();
|
||||
m_scan_task.run();
|
||||
}
|
||||
|
||||
bool
|
||||
@ -768,7 +768,7 @@ BeesScanModeExtent::scan()
|
||||
|
||||
// Good to go, start everything running
|
||||
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);
|
||||
}
|
||||
|
||||
// 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();
|
||||
return;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user