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=-5.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 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 468CFC433DB for ; Mon, 22 Feb 2021 19:48:44 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B95B164E31 for ; Mon, 22 Feb 2021 19:48:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B95B164E31 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 2B0666B0006; Mon, 22 Feb 2021 14:48:43 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 25F626B006E; Mon, 22 Feb 2021 14:48:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 177066B0070; Mon, 22 Feb 2021 14:48:43 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0147.hostedemail.com [216.40.44.147]) by kanga.kvack.org (Postfix) with ESMTP id 025E36B0006 for ; Mon, 22 Feb 2021 14:48:42 -0500 (EST) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 8280B7596 for ; Mon, 22 Feb 2021 19:48:41 +0000 (UTC) X-FDA: 77846941242.19.01D345D Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by imf23.hostedemail.com (Postfix) with ESMTP id 36EDAA00084B for ; Mon, 22 Feb 2021 19:48:39 +0000 (UTC) IronPort-SDR: 0Q2m06lVoh4AdtHZvc9HlJZPrBljhlt7n7T7oL1kFxi+GW88DZT/cK6M1/nA0M9vd84kigz0Kx inwAn+YEOj/A== X-IronPort-AV: E=McAfee;i="6000,8403,9903"; a="183855377" X-IronPort-AV: E=Sophos;i="5.81,198,1610438400"; d="scan'208";a="183855377" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Feb 2021 11:48:38 -0800 IronPort-SDR: HLGDj/ZjJ4XDI023LnEnQh6emWvqS+JOS1yOmF4b+JlIJbHCC+wOhMcHOiyb2gPXJHK5m2xRhI ZIdvLJYrFBnw== X-IronPort-AV: E=Sophos;i="5.81,198,1610438400"; d="scan'208";a="389990117" Received: from schen9-mobl.amr.corp.intel.com ([10.251.12.88]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Feb 2021 11:48:37 -0800 Subject: Re: [PATCH v2 2/3] mm: Force update of mem cgroup soft limit tree on usage excess To: Michal Hocko Cc: Andrew Morton , Johannes Weiner , Vladimir Davydov , Dave Hansen , Ying Huang , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org References: <06f1f92f1f7d4e57c4e20c97f435252c16c60a27.1613584277.git.tim.c.chen@linux.intel.com> <884d7559-e118-3773-351d-84c02642ca96@linux.intel.com> From: Tim Chen Message-ID: Date: Mon, 22 Feb 2021 11:48:37 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Stat-Signature: j4cqhxncn3wzkqhjzwbmwrprbtg5gfjw X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 36EDAA00084B Received-SPF: none (linux.intel.com>: No applicable sender policy available) receiver=imf23; identity=mailfrom; envelope-from=""; helo=mga14.intel.com; client-ip=192.55.52.115 X-HE-DKIM-Result: none/none X-HE-Tag: 1614023319-972796 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 2/22/21 11:09 AM, Michal Hocko wrote: >> >> I actually have tried adjusting the threshold but found that it doesn't work well for >> the case with unenven memory access frequency between cgroups. The soft >> limit for the low memory event cgroup could creep up quite a lot, exceeding >> the soft limit by hundreds of MB, even >> if I drop the SOFTLIMIT_EVENTS_TARGET from 1024 to something like 8. > > What was the underlying reason? Higher order allocations? > Not high order allocation. The reason was because the run away memcg asks for memory much less often, compared to the other memcgs in the system. So it escapes the sampling update and was not put onto the tree and exceeds the soft limit pretty badly. Even if it was put onto the tree and gets page reclaimed below the limit, it could escape the sampling the next time it exceeds the soft limit. As long as we are doing sampling update, this problem is baked in unless we add the check to make sure that the memcg is subjected to page reclaim as long as it exceeds the soft limit. Tim