From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.4 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1E4D6C4BA13 for ; Wed, 26 Feb 2020 17:04:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E1E4620637 for ; Wed, 26 Feb 2020 17:04:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="pRSRh7ZO" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727734AbgBZREs (ORCPT ); Wed, 26 Feb 2020 12:04:48 -0500 Received: from mail-ot1-f66.google.com ([209.85.210.66]:37682 "EHLO mail-ot1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726214AbgBZREs (ORCPT ); Wed, 26 Feb 2020 12:04:48 -0500 Received: by mail-ot1-f66.google.com with SMTP id b3so102563otp.4 for ; Wed, 26 Feb 2020 09:04:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=uWGLFPb2JDmIkjCUPJN84txliHWIiSJvGLA5caQAIDY=; b=pRSRh7ZOElvt8MZ/XbjZd2EjwBs38ZohNIN09f86phdUa0OSrWstsvCpmIYkIhAyjE vGSLpfV8w33qWriFyNQjb+wdCrNN1nBfLj3OMK04kdIWa8EmPnvWxPQ8wfV4EfkHdFCR irTFAQFPGvgt1+iYzPRy4bGwoZKQ2IVxsrmV/EJmz4bq3aHIR8cm4EQxolr1/lE8XKtO ayKD+XugXPZxJT0SJj5oX4AeSWwMgIo/JkN3xGiNiDxe25sIo7XsxvGvXhWW8+nswFyn NmdE3PV2TBfU7wMqz3QAJ8Nq0fwrja/FPGPKSXo6ltR/1JgMB4qcYCCP60KaUwQWCJqN Zcog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=uWGLFPb2JDmIkjCUPJN84txliHWIiSJvGLA5caQAIDY=; b=hslpcj1jIIoni/28BUxY/lmUS2JNyCbhh1LaFvYk3Co7OUjFNIPyQHzK6DjmuBjglJ 9IgnoXhRZB09gfUbjo+ytrqt3MtWQXbH1rEmT2xLO/Pv370qbZLsAdIseDOS+DJrIwOF lMJ79rR61jFraOVY3OV7GvIhos3GaZvmh4SRMXddZICLv7JCw3zjiPiw+2um7B5mcHqe sNjwzQk0QCo/tnZIwoxqRPYx3up30jv1PZkxeBtfaC25/DzzkSyTZ/EhUHcqqKDh4Yh5 YRXaVbKmbLq0ME0No4ZGeHHaYaVlMhmyoFyOHct9ugNeKQw4Dbwl2gzrUhKGB/nc9xHC A6yg== X-Gm-Message-State: APjAAAVuvMljGeXcJ2flbW5QkOchr4ZwKyHNw9XwzOw7D3ThSzp7eHHy VTIIuSWzGaVx+MdOLb6PQE5ByH/1MnWBEOgf1CJpiA== X-Google-Smtp-Source: APXvYqxkotkHZJmj2vI4NdG74QtkRm4F+5ukci8HBKZyVQ5ld8N+4pLKqR2xKJbHGuJAhgVIWG1xHgI9V6Xvqsp3QDU= X-Received: by 2002:a9d:6ac2:: with SMTP id m2mr3927552otq.191.1582736685661; Wed, 26 Feb 2020 09:04:45 -0800 (PST) MIME-Version: 1.0 References: <20200219194006.GA3075@sultan-book.localdomain> <20200219200527.GF11847@dhcp22.suse.cz> <20200219204220.GA3488@sultan-book.localdomain> <20200219214513.GL3420@suse.de> <20200219224231.GA5190@sultan-book.localdomain> <20200220101945.GN3420@suse.de> <20200221042232.GA2197@sultan-book.localdomain> <20200221080737.GK20509@dhcp22.suse.cz> <20200221210824.GA3605@sultan-book.localdomain> <20200225090945.GJ22443@dhcp22.suse.cz> <20200226105137.9088-1-hdanton@sina.com> In-Reply-To: <20200226105137.9088-1-hdanton@sina.com> From: Shakeel Butt Date: Wed, 26 Feb 2020 09:04:34 -0800 Message-ID: Subject: Re: [PATCH] mm: Stop kswapd early when nothing's waiting for it to free pages To: Hillf Danton Cc: Sultan Alsawaf , Mel Gorman , Dave Hansen , Andrew Morton , Linux MM , LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 26, 2020 at 4:15 AM Hillf Danton wrote: > > > On Tue, 25 Feb 2020 14:30:03 -0800 Shakeel Butt wrote: > > > > BTW we are seeing a similar situation in our production environment. > > We have swappiness=0, no swap from kswapd (because we don't swapout on > > pressure, only on cold age) and too few file pages, the kswapd goes > > crazy on shrink_slab and spends 100% cpu on it. > > Dunno if swappiness is able to put peace on your kswapd. > > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -2631,8 +2631,14 @@ static inline bool should_continue_recla > */ > pages_for_compaction = compact_gap(sc->order); > inactive_lru_pages = node_page_state(pgdat, NR_INACTIVE_FILE); > - if (get_nr_swap_pages() > 0) > - inactive_lru_pages += node_page_state(pgdat, NR_INACTIVE_ANON); > + do { > + struct lruvec *lruvec = mem_cgroup_lruvec(sc->target_mem_cgroup, pgdat); > + struct mem_cgroup *memcg = lruvec_memcg(lruvec); > + int swappiness = mem_cgroup_swappiness(memcg); > + > + if (swappiness && get_nr_swap_pages() > 0) Thanks for finding this. I think we also need to check sc->may_swap as well. Can you please send a signed-off patch? It may or maynot help kswapd but I think this is needed. > + inactive_lru_pages += node_page_state(pgdat, NR_INACTIVE_ANON); > + } while (0); > > return inactive_lru_pages > pages_for_compaction; > } > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.4 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CF222C4BA13 for ; Wed, 26 Feb 2020 17:07:05 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 90EC62467F for ; Wed, 26 Feb 2020 17:07:05 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="pRSRh7ZO" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 90EC62467F Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 3B1026B0008; Wed, 26 Feb 2020 12:07:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 361B86B000A; Wed, 26 Feb 2020 12:07:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 250266B000C; Wed, 26 Feb 2020 12:07:05 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0051.hostedemail.com [216.40.44.51]) by kanga.kvack.org (Postfix) with ESMTP id 0B1726B0008 for ; Wed, 26 Feb 2020 12:07:05 -0500 (EST) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id ED06F824556B for ; Wed, 26 Feb 2020 17:07:04 +0000 (UTC) X-FDA: 76532908368.26.swing26_63fd65d366c20 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin26.hostedemail.com (Postfix) with ESMTP id D5D8318020B0B for ; Wed, 26 Feb 2020 17:04:47 +0000 (UTC) X-HE-Tag: swing26_63fd65d366c20 X-Filterd-Recvd-Size: 4746 Received: from mail-ot1-f65.google.com (mail-ot1-f65.google.com [209.85.210.65]) by imf46.hostedemail.com (Postfix) with ESMTP for ; Wed, 26 Feb 2020 17:04:46 +0000 (UTC) Received: by mail-ot1-f65.google.com with SMTP id p8so62903oth.10 for ; Wed, 26 Feb 2020 09:04:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=uWGLFPb2JDmIkjCUPJN84txliHWIiSJvGLA5caQAIDY=; b=pRSRh7ZOElvt8MZ/XbjZd2EjwBs38ZohNIN09f86phdUa0OSrWstsvCpmIYkIhAyjE vGSLpfV8w33qWriFyNQjb+wdCrNN1nBfLj3OMK04kdIWa8EmPnvWxPQ8wfV4EfkHdFCR irTFAQFPGvgt1+iYzPRy4bGwoZKQ2IVxsrmV/EJmz4bq3aHIR8cm4EQxolr1/lE8XKtO ayKD+XugXPZxJT0SJj5oX4AeSWwMgIo/JkN3xGiNiDxe25sIo7XsxvGvXhWW8+nswFyn NmdE3PV2TBfU7wMqz3QAJ8Nq0fwrja/FPGPKSXo6ltR/1JgMB4qcYCCP60KaUwQWCJqN Zcog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=uWGLFPb2JDmIkjCUPJN84txliHWIiSJvGLA5caQAIDY=; b=cZRZ1koQL3DtsktJsfk0jCCbX1zVwRry/+k8WZv+6kQBv0SHITblOVCPYUzrQ6oV1O zFnU6PyKTejWHmfCsZe9XCEhVbwFha0bT0E/2LyJ9swAqPh85PMUvZlNmh1ynMIiUDoF aUQsHUhGJU1pHAJ1t3f8cumryDR/FsEjJXAKWZJuJU2QRMQbE+qIC9yC9za5fGI+Gzxx 4qRgnQ0YuXl7JdGtyKgZxVnSMgTRiWtS77OjPvwilLdneD2MbFkR8QECadfACCRRjL+/ rBdW1zDGRtnaJ9ipKThPLrSyl7bxl7VPDH0dFNtHbgthsduCXB0T15L/OwtIQ4XevuYj 3SwA== X-Gm-Message-State: APjAAAUsyXflK0HwBY4oXfd3kwdq0V+tZvZ0Y2i8BUkUBF6WQbgl6jvi DTMI/XIWEh1+iau5wK/bLWF2f1LO3uK/h5Bo8VFeiA== X-Google-Smtp-Source: APXvYqxkotkHZJmj2vI4NdG74QtkRm4F+5ukci8HBKZyVQ5ld8N+4pLKqR2xKJbHGuJAhgVIWG1xHgI9V6Xvqsp3QDU= X-Received: by 2002:a9d:6ac2:: with SMTP id m2mr3927552otq.191.1582736685661; Wed, 26 Feb 2020 09:04:45 -0800 (PST) MIME-Version: 1.0 References: <20200219194006.GA3075@sultan-book.localdomain> <20200219200527.GF11847@dhcp22.suse.cz> <20200219204220.GA3488@sultan-book.localdomain> <20200219214513.GL3420@suse.de> <20200219224231.GA5190@sultan-book.localdomain> <20200220101945.GN3420@suse.de> <20200221042232.GA2197@sultan-book.localdomain> <20200221080737.GK20509@dhcp22.suse.cz> <20200221210824.GA3605@sultan-book.localdomain> <20200225090945.GJ22443@dhcp22.suse.cz> <20200226105137.9088-1-hdanton@sina.com> In-Reply-To: <20200226105137.9088-1-hdanton@sina.com> From: Shakeel Butt Date: Wed, 26 Feb 2020 09:04:34 -0800 Message-ID: Subject: Re: [PATCH] mm: Stop kswapd early when nothing's waiting for it to free pages To: Hillf Danton Cc: Sultan Alsawaf , Mel Gorman , Dave Hansen , Andrew Morton , Linux MM , LKML Content-Type: text/plain; charset="UTF-8" X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed, Feb 26, 2020 at 4:15 AM Hillf Danton wrote: > > > On Tue, 25 Feb 2020 14:30:03 -0800 Shakeel Butt wrote: > > > > BTW we are seeing a similar situation in our production environment. > > We have swappiness=0, no swap from kswapd (because we don't swapout on > > pressure, only on cold age) and too few file pages, the kswapd goes > > crazy on shrink_slab and spends 100% cpu on it. > > Dunno if swappiness is able to put peace on your kswapd. > > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -2631,8 +2631,14 @@ static inline bool should_continue_recla > */ > pages_for_compaction = compact_gap(sc->order); > inactive_lru_pages = node_page_state(pgdat, NR_INACTIVE_FILE); > - if (get_nr_swap_pages() > 0) > - inactive_lru_pages += node_page_state(pgdat, NR_INACTIVE_ANON); > + do { > + struct lruvec *lruvec = mem_cgroup_lruvec(sc->target_mem_cgroup, pgdat); > + struct mem_cgroup *memcg = lruvec_memcg(lruvec); > + int swappiness = mem_cgroup_swappiness(memcg); > + > + if (swappiness && get_nr_swap_pages() > 0) Thanks for finding this. I think we also need to check sc->may_swap as well. Can you please send a signed-off patch? It may or maynot help kswapd but I think this is needed. > + inactive_lru_pages += node_page_state(pgdat, NR_INACTIVE_ANON); > + } while (0); > > return inactive_lru_pages > pages_for_compaction; > } >