On Wed, 8 Mar 2017 16:42:39 +0100 Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote: > We see reported stalls/lockups in quarantine_remove_cache() on machines > with large amounts of RAM. quarantine_remove_cache() needs to scan whole > quarantine in order to take out all objects belonging to the cache. > Quarantine is currently 1/32-th of RAM, e.g. on a machine with 256GB > of memory that will be 8GB. Moreover quarantine scanning is a walk > over uncached linked list, which is slow. > > Add cond_resched() after scanning of each non-empty batch of objects. > Batches are specifically kept of reasonable size for quarantine_put(). > On a machine with 256GB of RAM we should have ~512 non-empty batches, > each with 16MB of objects. I'll add cc:stable to this one - softlockup reports on large machines is a pretty significant issue. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>