Zygo / bees

Best-Effort Extent-Same, a btrfs dedupe agent
GNU General Public License v3.0
669 stars 55 forks source link

Set the scheduling policy individually per thread #135

Open kakra opened 4 years ago

kakra commented 4 years ago

This removes the CPU scheduler setting from the systemd service and instead let's bees manage this on its own and individually per thread. That way, people not using the systemd service can also benefit from less system impact while using bees.

I'm not sure if we should provide a cmdline option for this. If we do so, maybe just an on/off switch. The user should not have to know the individual best settings.

Also, I'm not sure if I did everything right. The worker/consumer architecture forced me to constantly switch parameters because worker threads are constantly recycled to do a different bees task. Only "BeesThread" seems to be an exception. I had to take care not having a child thread linger around with the scheduler settings of the parent thread. Also, the decision for one or another scheduling policy may be wrong, please review.