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=-18.3 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_IN_DEF_DKIM_WL autolearn=ham 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 80182C433ED for ; Tue, 27 Apr 2021 21:53:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3AD0F613F3 for ; Tue, 27 Apr 2021 21:53:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238953AbhD0Vy2 (ORCPT ); Tue, 27 Apr 2021 17:54:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40802 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235440AbhD0Vy1 (ORCPT ); Tue, 27 Apr 2021 17:54:27 -0400 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 204F9C061574 for ; Tue, 27 Apr 2021 14:53:43 -0700 (PDT) Received: by mail-wm1-x32c.google.com with SMTP id k4-20020a7bc4040000b02901331d89fb83so7583517wmi.5 for ; Tue, 27 Apr 2021 14:53:43 -0700 (PDT) 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=GkeYn6z2BUHqc6XgfJVYCdk+CBeiH5WfHZBBMCqIsd8=; b=CXTtKQxiQiQlPcygDiVfZWQC46DNLLBJObC0TOy/PMhajxmqTTsPGA7cETgaFPDwX5 GQPIkRPGM9Nux7l611NMUTp3K619UgqqFlcTzMCoI28bq41GeYBg6Yq8cvBvdC6kjLTR m4asNcWn2QkbUarnItOCoq9VGULm74SbbYUKWHcJPh6Uj4aXg1lMmKbBW5pO5WoWvjEQ WBPliGVdR8mYrew5wtOT4lOUpldElagdVixCLtIu0a0bofeFG2boVjyR1UCSHHgMG7PY Z5t41kCfUtfvoRp+qonTBdPvEwbphT1LAIqoPZu1CwWNOP8dMTweGWdC9UWPruAwbJT3 HpYw== 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=GkeYn6z2BUHqc6XgfJVYCdk+CBeiH5WfHZBBMCqIsd8=; b=Pw8G2UjcRkDG/GclVZowbDzEQECtJYJnQrDPTZMJIi9FdwRY6MvNj0iCP+VAaIPaBM UHeQdb9UjH8T+HQCOSkwZWe6x5QB5DzscYvPSjlWyq8k8IV2F/y22G08OsxHBMIs4rYy 4P2H5aoaLFOaF9rWgWALOi/Ek7JXs2D3syVXEPTW1tuLihV/dv1ac6bmcF1lgqMbWeNv rBCXbTyim8onSSvYrcd8fXtoLZA2jnUz6PIih2ohO2N8PKEI1isjetiKuH2UDnC1Bto1 JCrh/40dKZ3s3ngkWCdPPYSv3hb3axBDTijSS9nh1kXB0ZT14Esbkip3gop1qdh3zmEh 9tEw== X-Gm-Message-State: AOAM532kB08+GhaTTfNxC8tYsa+mEdhruAvfWx+kck5bLesbwgR5Wabx pgdx8SzFIw3lvBrKpUheraH9RWDu6TOyH9SZYnd1bxyJ5WGkFQ== X-Google-Smtp-Source: ABdhPJyHGsL3KmpAfSaHNTMd/82i1F6+cRwRM+m0o47w93z03zyUiCl1luS9cH63JNPu8Igut5psCN9xqMWFtr9zb48= X-Received: by 2002:a1c:4e01:: with SMTP id g1mr27976698wmh.48.1619560421639; Tue, 27 Apr 2021 14:53:41 -0700 (PDT) MIME-Version: 1.0 References: <20210416023536.168632-1-zhengjun.xing@linux.intel.com> <7b7a1c09-3d16-e199-15d2-ccea906d4a66@linux.intel.com> <7a0fecab-f9e1-ad39-d55e-01e574a35484@linux.intel.com> <87fszfxk89.fsf@yhuang6-desk1.ccr.corp.intel.com> In-Reply-To: <87fszfxk89.fsf@yhuang6-desk1.ccr.corp.intel.com> From: Yu Zhao Date: Tue, 27 Apr 2021 15:53:30 -0600 Message-ID: Subject: Re: [RFC] mm/vmscan.c: avoid possible long latency caused by too_many_isolated() To: "Huang, Ying" , Xing Zhengjun Cc: Andrew Morton , Linux-MM , linux-kernel , Tim Chen , Shakeel Butt , Michal Hocko , wfg@mail.ustc.edu.cn Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Apr 24, 2021 at 6:48 PM Huang, Ying wrote: > > Yu Zhao writes: > [snip] > > > @@ -2966,13 +2938,20 @@ static void shrink_zones(struct zonelist *zonelist, struct scan_control *sc) > > /* need some check for avoid more shrink_zone() */ > > } > > > > - /* See comment about same check for global reclaim above */ > > - if (zone->zone_pgdat == last_pgdat) > > - continue; > > - last_pgdat = zone->zone_pgdat; > > shrink_node(zone->zone_pgdat, sc); > > } > > > > + if (last_pgdat) > > + atomic_dec(&last_pgdat->nr_reclaimers); > > + else if (should_retry) { > > + /* wait a bit for the reclaimer. */ > > + if (!schedule_timeout_killable(HZ / 10)) > > Once we reached here, even accidentally, the caller needs to sleep at > least 100ms. How about use a semaphore for pgdat->nr_reclaimers? Then > the sleeper can be waken up when the resource is considered enough. Yeah, that sounds good to me. I guess we will have to wait and see the test result from Zhengjun. Thanks. 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=-18.3 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_IN_DEF_DKIM_WL autolearn=ham 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 7A2FAC43460 for ; Tue, 27 Apr 2021 21:53:45 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id DB8FB61401 for ; Tue, 27 Apr 2021 21:53:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DB8FB61401 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 F1CE16B0070; Tue, 27 Apr 2021 17:53:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ECDA66B0071; Tue, 27 Apr 2021 17:53:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D6D9D6B0072; Tue, 27 Apr 2021 17:53:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0210.hostedemail.com [216.40.44.210]) by kanga.kvack.org (Postfix) with ESMTP id BB1386B0070 for ; Tue, 27 Apr 2021 17:53:43 -0400 (EDT) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 62D96824999B for ; Tue, 27 Apr 2021 21:53:43 +0000 (UTC) X-FDA: 78079499526.30.F8FC393 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by imf03.hostedemail.com (Postfix) with ESMTP id 73EE8C0001FA for ; Tue, 27 Apr 2021 21:53:37 +0000 (UTC) Received: by mail-wm1-f46.google.com with SMTP id i21-20020a05600c3555b029012eae2af5d4so7928836wmq.4 for ; Tue, 27 Apr 2021 14:53:42 -0700 (PDT) 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=GkeYn6z2BUHqc6XgfJVYCdk+CBeiH5WfHZBBMCqIsd8=; b=CXTtKQxiQiQlPcygDiVfZWQC46DNLLBJObC0TOy/PMhajxmqTTsPGA7cETgaFPDwX5 GQPIkRPGM9Nux7l611NMUTp3K619UgqqFlcTzMCoI28bq41GeYBg6Yq8cvBvdC6kjLTR m4asNcWn2QkbUarnItOCoq9VGULm74SbbYUKWHcJPh6Uj4aXg1lMmKbBW5pO5WoWvjEQ WBPliGVdR8mYrew5wtOT4lOUpldElagdVixCLtIu0a0bofeFG2boVjyR1UCSHHgMG7PY Z5t41kCfUtfvoRp+qonTBdPvEwbphT1LAIqoPZu1CwWNOP8dMTweGWdC9UWPruAwbJT3 HpYw== 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=GkeYn6z2BUHqc6XgfJVYCdk+CBeiH5WfHZBBMCqIsd8=; b=SN3GUqz7IKni4+3yVKnTEd18tpLiG8qIxMnC/JyrPKPOywPGWwoppFY+YoOUgfqqkK nGCSrqTPcrvXzQv1kkstyQ8XLhbCG7nHCVd0iEESc6pmUUdFgSsx7wlQ+7BfwTqLKiYs x41XfXMFQQ3CRie/gYlevie+fMcbEpKINBN7dHH3/KQ5tkjzYy1TCjpmHX/emZyOMxsP jrRd2bkjLDlUC1sD1X0GqxK/sfHw7LBqA/NniKBn/+ZfWxxo1xadXKVPK0j/xWJzQ0FN pEF0ZKkhGiDQkbV+CJ4PKpv8dz/+iSEPBu0SA+0OPS2JydUccT1lHigTrK4mJSUVlAD3 dZiw== X-Gm-Message-State: AOAM530CAd95nrNVx+nSMCyDtjFkuMrBk9zeLc65MooeBafXQ/KzqH1I lnn9c8KbYXsNKqesKFc55W+kMwhWnkv60SEVv6FjwA== X-Google-Smtp-Source: ABdhPJyHGsL3KmpAfSaHNTMd/82i1F6+cRwRM+m0o47w93z03zyUiCl1luS9cH63JNPu8Igut5psCN9xqMWFtr9zb48= X-Received: by 2002:a1c:4e01:: with SMTP id g1mr27976698wmh.48.1619560421639; Tue, 27 Apr 2021 14:53:41 -0700 (PDT) MIME-Version: 1.0 References: <20210416023536.168632-1-zhengjun.xing@linux.intel.com> <7b7a1c09-3d16-e199-15d2-ccea906d4a66@linux.intel.com> <7a0fecab-f9e1-ad39-d55e-01e574a35484@linux.intel.com> <87fszfxk89.fsf@yhuang6-desk1.ccr.corp.intel.com> In-Reply-To: <87fszfxk89.fsf@yhuang6-desk1.ccr.corp.intel.com> From: Yu Zhao Date: Tue, 27 Apr 2021 15:53:30 -0600 Message-ID: Subject: Re: [RFC] mm/vmscan.c: avoid possible long latency caused by too_many_isolated() To: "Huang, Ying" , Xing Zhengjun Cc: Andrew Morton , Linux-MM , linux-kernel , Tim Chen , Shakeel Butt , Michal Hocko , wfg@mail.ustc.edu.cn Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 73EE8C0001FA X-Stat-Signature: f6hcixxzkr3x7xf9xbcafua3mheyc5gb X-Rspamd-Server: rspam02 Received-SPF: none (google.com>: No applicable sender policy available) receiver=imf03; identity=mailfrom; envelope-from=""; helo=mail-wm1-f46.google.com; client-ip=209.85.128.46 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1619560417-772736 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sat, Apr 24, 2021 at 6:48 PM Huang, Ying wrote: > > Yu Zhao writes: > [snip] > > > @@ -2966,13 +2938,20 @@ static void shrink_zones(struct zonelist *zonelist, struct scan_control *sc) > > /* need some check for avoid more shrink_zone() */ > > } > > > > - /* See comment about same check for global reclaim above */ > > - if (zone->zone_pgdat == last_pgdat) > > - continue; > > - last_pgdat = zone->zone_pgdat; > > shrink_node(zone->zone_pgdat, sc); > > } > > > > + if (last_pgdat) > > + atomic_dec(&last_pgdat->nr_reclaimers); > > + else if (should_retry) { > > + /* wait a bit for the reclaimer. */ > > + if (!schedule_timeout_killable(HZ / 10)) > > Once we reached here, even accidentally, the caller needs to sleep at > least 100ms. How about use a semaphore for pgdat->nr_reclaimers? Then > the sleeper can be waken up when the resource is considered enough. Yeah, that sounds good to me. I guess we will have to wait and see the test result from Zhengjun. Thanks.