Comment 7 for bug 1898786

Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote : Re: Issue with bcache bch_mca_scan causing huge IO wait

Hi Benjamin,

Thanks for the detailed report.

Does this system show signs of memory pressure?

bch_mca_scan() is part of bcache's memory shrinker, and thus should be called when the system is trying to release memory from its several caches.

Also, the bucket lock usage is widespread in bcache (from a quick grep; and more used on writes, I'd imagine) thus if bch_mca_scan() is waiting a lot on it, ie, showing lock contention, it would seem like the IO load is indeed significant, as you mentioned.

Do you know the IO load profile, or could reproduce the issue with the fio tool?

If we can reproduce this, there _might_ be some heuristics to consider to use non-blocking trylock instead of blocking lock, and bail out/don't wait if the lock is taken and it doesn't seem worth it. (but that would be a development item, not a proper "bug" fix :)

cheers,
Mauricio