Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp124585pxk; Tue, 15 Sep 2020 23:11:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy3xWuHtLydLxYAZJrb2UZrj6eovs2p9eUN7OOA4C6qSDGvEYvY6kROQa7ydZ9IiaYGC/m8 X-Received: by 2002:a17:906:c309:: with SMTP id s9mr25201989ejz.167.1600236705714; Tue, 15 Sep 2020 23:11:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600236705; cv=none; d=google.com; s=arc-20160816; b=dDp1t3ib/tw2LOXGh/vdreUJe0+5bscxkTNXQ2w/8eGucNyJaBva5cHz+MJW7ICBLg EJb3pU6xh+5hva1gzq1ttMOVIArVKg9QzgBJ4Ag+VwC5UQJQgIGWZSn+75FxgVrWvNhu NMr/vjRmS2okm4nzPsD7oFJBJn/l8MaG+0zFya25EDCnLQhVlZhuG2sC+51kOsFDw+RT j2YiF8KQKQsPLudaidN2VQA1NXm0quOc9VcYjHgWwvYJ8+gsQEaB6oaNBDqpIhz4j+0n f0UgVSWvh0PwNUYdvM/PdZPFR3RHTw1NklG2/LtmoM3kmwQHUwUsmAxv7JnqMLrxs8O1 Ku+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=Ok32JZzx9mDRNQp/8/WA9ugOO6Th0c+WNkdJeAcSajY=; b=nCyz3Vdzjk09wBxAou9JDtOnm/tPXVh0alY9bRWWUc4Ez4Eu3sInE9jW64f9cQvaNF bdgGoDy+bJFUfrGXNhl2ui4kDzWce2fEo/8F6BwqWIih4iRA9vA9kKD6szxfW45CYaFl 8POZqmTOua6idXVnoxKS+rIPeNv65IuIHsQrsRTkLK1ZS4WzV0AAjlEkw0fAgX1jkD79 LjfSRhCzYct371G/MsTQYYQ8gCgxA0Eio9oIK8BWUPQXpvpBFMmzk/RZEE27Zhir/yLa QgRiKaL8aQyTHrIo/5q+iP6k7vidZSUCjKsHcjxx1itQz4FyUg7AwLEen7bfN3XJNR/w kbmw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s18si11164963eji.430.2020.09.15.23.11.23; Tue, 15 Sep 2020 23:11:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726301AbgIPGIT (ORCPT + 99 others); Wed, 16 Sep 2020 02:08:19 -0400 Received: from mx2.suse.de ([195.135.220.15]:58698 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726183AbgIPGIQ (ORCPT ); Wed, 16 Sep 2020 02:08:16 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 8CDB6AAC7; Wed, 16 Sep 2020 06:08:29 +0000 (UTC) Date: Wed, 16 Sep 2020 08:08:08 +0200 From: Michal Hocko To: zangchunxin@bytedance.com Cc: akpm@linux-foundation.org, chris@chrisdown.name, vbabka@suse.cz, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Muchun Song Subject: Re: [PATCH v5] mm/vmscan: add a fatal signals check in drop_slab_node Message-ID: <20200916060808.GA18998@dhcp22.suse.cz> References: <20200916025359.70203-1-zangchunxin@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200916025359.70203-1-zangchunxin@bytedance.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed 16-09-20 10:53:59, zangchunxin@bytedance.com wrote: > From: Chunxin Zang > > On our server, there are about 10k memcg in one machine. They use memory > very frequently. We have observed that drop_caches can take a > considerable amount of time, and can't stop it. > > There are two reasons: > 1. There is somebody constantly generating more objects to reclaim > on drop_caches, result the 'freed' always bigger than 10. > 2. The process has no chance to process signals. > > We can get the following info through 'ps': > > root:~# ps -aux | grep drop > root 357956 ... R Aug25 21119854:55 echo 3 > /proc/sys/vm/drop_caches > root 1771385 ... R Aug16 21146421:17 echo 3 > /proc/sys/vm/drop_caches > > Add a bail out on the fatal signals in the main loop so that the > operation can be terminated by userspace. > > Signed-off-by: Chunxin Zang > Signed-off-by: Muchun Song Acked-by: Michal Hocko > --- > changelogs in v5: > 1) v4 patch used wrong branch, very apologies about that. > > changelogs in v4: > changelogs in v3: > 1) Fix some descriptive problems pointed out by Michal Hocko. > v2 named: mm/vmscan: fix infinite loop in drop_slab_node > > changelogs in v2: > 1) via check fatal signal break loop. > > mm/vmscan.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index b6d84326bdf2..c3ed8b45d264 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -704,6 +704,9 @@ void drop_slab_node(int nid) > do { > struct mem_cgroup *memcg = NULL; > > + if (fatal_signal_pending(current)) > + return; > + > freed = 0; > memcg = mem_cgroup_iter(NULL, NULL, NULL); > do { > -- > 2.11.0 > -- Michal Hocko SUSE Labs