Public bug reported: [Impact]
* Systems running under memory pressure may hit stalls in the order of seconds to minutes in systemd-logind and lxd mount operations (e.g., ZFS backend), which get stuck in D state. * The processes stuck in D state have a common stack trace, (cat /proc/PID/stack) all blocked in register_shrinker(). * The fix checks in shrink_slab() (shrinkers are called under memory pressure) for contention/usage of the semaphore used by register_shrinker() and returns early in that case. This allows the register_shrinker() callers to unblock, and not stall until the shrink operation releases that lock. [Test Case] * In a system under memory pressure, specifically having the memory shrinkers being called often and taking time to run, perform mount operations (or other operations that acquire the shrinker_rwsem semaphore). * The user who reported the problem has verified the fix in systems that exhibted the problem often (sometimes daily), and tells it resolves the problem. [Regression Potential] * Low. The fix just returns early from slab memory shrinker if there's usage/contention for 'shrinker_rwsem'. * In some scenarios, this may cause the slab memory shrinker to require more invocations to actually finish and potentially release memory, but this seems minor since other shrinkers can release memory as well, and compared to the fact that this fix allows other applications to make progress / continue to run, which would otherwise be stalled. [Other Info] * This patch is already applied in Cosmic and later (v4.16+). It is needed only in Xenial and Bionic at this time. ** Affects: linux (Ubuntu) Importance: Undecided Status: Invalid ** Affects: linux (Ubuntu Xenial) Importance: Undecided Status: Confirmed ** Affects: linux (Ubuntu Bionic) Importance: Undecided Status: Confirmed ** Also affects: linux (Ubuntu Bionic) Importance: Undecided Status: New ** Also affects: linux (Ubuntu Xenial) Importance: Undecided Status: New ** Changed in: linux (Ubuntu) Status: New => Invalid ** Changed in: linux (Ubuntu Xenial) Status: New => Confirmed ** Changed in: linux (Ubuntu Bionic) Status: New => Confirmed -- You received this bug notification because you are a member of नेपाली भाषा समायोजकहरुको समूह, which is subscribed to Xenial. Matching subscriptions: Ubuntu 16.04 Bugs https://bugs.launchpad.net/bugs/1817628 Title: Regular D-state processes impacting LXD containers Status in linux package in Ubuntu: Invalid Status in linux source package in Xenial: Confirmed Status in linux source package in Bionic: Confirmed Bug description: [Impact] * Systems running under memory pressure may hit stalls in the order of seconds to minutes in systemd-logind and lxd mount operations (e.g., ZFS backend), which get stuck in D state. * The processes stuck in D state have a common stack trace, (cat /proc/PID/stack) all blocked in register_shrinker(). * The fix checks in shrink_slab() (shrinkers are called under memory pressure) for contention/usage of the semaphore used by register_shrinker() and returns early in that case. This allows the register_shrinker() callers to unblock, and not stall until the shrink operation releases that lock. [Test Case] * In a system under memory pressure, specifically having the memory shrinkers being called often and taking time to run, perform mount operations (or other operations that acquire the shrinker_rwsem semaphore). * The user who reported the problem has verified the fix in systems that exhibted the problem often (sometimes daily), and tells it resolves the problem. [Regression Potential] * Low. The fix just returns early from slab memory shrinker if there's usage/contention for 'shrinker_rwsem'. * In some scenarios, this may cause the slab memory shrinker to require more invocations to actually finish and potentially release memory, but this seems minor since other shrinkers can release memory as well, and compared to the fact that this fix allows other applications to make progress / continue to run, which would otherwise be stalled. [Other Info] * This patch is already applied in Cosmic and later (v4.16+). It is needed only in Xenial and Bionic at this time. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1817628/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~group.of.nepali.translators Post to : group.of.nepali.translators@lists.launchpad.net Unsubscribe : https://launchpad.net/~group.of.nepali.translators More help : https://help.launchpad.net/ListHelp