On Fri, Sep 13, 2024 at 03:26:43PM -0300, Fabiano Rosas wrote: > The thread-pool approach is being looked at to solve this particular > problem, but we have also discussed in the past that multifd threads > themselves should be managed by a thread pool. Will we add this > requirement to what is being done now? Otherwise, don't we risk having > an implementation that doesn't serve the rest of multifd? Do we even > know what the requirements are? Keep in mind that we're already not > modifying the existing ThreadPool, but planning to write a new one.
Multifd currently has below specialties: - Multifd thread has 1:1 mapping with iochannels - Multifd thread num should be relevant to target bandwidth (e.g., the NIC performance) While for a generic thread pool: - Thread has no correlation to any iochannel, but some async cpu intensive workloads during migration (either during switchover, or maybe even before that?) - Thread number should have no correlation to NIC/bandwidth, a sane start could be $(nproc), but maybe not.. I don't remember what I was thinking previously, but now it sounds ok to keep multifd separate as of now to me, because multifd does service a slightly different purpose (maximum network throughput) v.s. where we want a pool of threads doing async tasks (which can be anything). -- Peter Xu