On 10/10/2017 06:54 PM, Andrew Morton wrote: > On Mon, 18 Sep 2017 14:20:28 -0400 Waiman Long <longman@xxxxxxxxxx> wrote: > >> A rogue application can potentially create a large number of negative >> dentries in the system consuming most of the memory available even if >> memory controller is enabled to limit memory usage. This can impact >> performance of other applications running on the system. > It does seem that under these circumstances it is pretty silly of us to > reclaim useful things in order to instantiate zillions of -ve dentries. I am talking about a misbehaving program due to bug or an intentional rogue program. > > Dentries are subject to kmemcg handling. Does this not help avoid > "impacting performance of other applications"? AFAIK, the dentry kmem_cache isn't memcg aware. So memcg can't really constrain the dentry allocation. >> We have customers seeing soft lockup and unresponsive system when >> tearing down a container because of the large number of negative >> dentries accumulated during its up time that had to be cleaned up at >> exit time when the container's filesystem was unmounted. So we need >> to do something about it. > It's a somewhat separate issue, but maybe we're missing a cond_resched > somewhere? Seeing such a softlockup's output would help. > I don't have a console log. I got this information indirectly via some of our customer-facing engineers. Cheers, Longman