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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 051FFCE7A8C for ; Mon, 25 Sep 2023 07:57:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 408258D000D; Mon, 25 Sep 2023 03:57:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3B8388D0001; Mon, 25 Sep 2023 03:57:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2A7798D000D; Mon, 25 Sep 2023 03:57:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 189E28D0001 for ; Mon, 25 Sep 2023 03:57:53 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id DE7BFC0AFA for ; Mon, 25 Sep 2023 07:57:52 +0000 (UTC) X-FDA: 81274365984.18.DE222F0 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf23.hostedemail.com (Postfix) with ESMTP id 0968814000B for ; Mon, 25 Sep 2023 07:57:50 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b=GGSnKByc; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf23.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.28 as permitted sender) smtp.mailfrom=mhocko@suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695628671; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=878uZwZWbWAa9WLyZURZrcUcT1iIEeDeTu8lVz1v0Rk=; b=1FFL/jYT2ERJBQX8sjeWscbjK7ozYIbrLNVByFcWxYEEy/gMCz+iuPf4tA010NdFLqZNNb IGkW9NHjXSZb1YjEyC7AR8VUiensHeMwXdAFOaiUSvMBaVdhgugcMOnW81gnQYKdNfa+BN 3DMD/kZ+EjPprEz2YUFaL/5i63cpgEg= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b=GGSnKByc; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf23.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.28 as permitted sender) smtp.mailfrom=mhocko@suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695628671; a=rsa-sha256; cv=none; b=VjbBhULK5sp0/rZjEmSye8TwCjJ2swHMVLMZufcHPAnkjSfxWeFKMRMuotJSdWKInH1L0e uZJNIQ+DEfLp4OH1M2NjPfRtDmVgerUHxkewteavlOlNefsStTKMqygTz2BzBuf/Ce1zx7 MBWA4HtoaXnGrSpu63pcbmwxpVwaamA= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 02DEE21858; Mon, 25 Sep 2023 07:57:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1695628669; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=878uZwZWbWAa9WLyZURZrcUcT1iIEeDeTu8lVz1v0Rk=; b=GGSnKBycveNXuhvySz5Lw/xh2lozc1ZmzaQDsxf5W5dyn6hUclOjeLkrKuIqtqO6I2wXG4 706kpSTT1iyYaW+01rawFVNd0/Q7oqVIwcBPhvtVNGw9q7AjKxEhgEajXimZrZR6zQBZnR ze4hHML9wJSp8x6JjkgH6cIFhwQLfe4= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id DAF2F13A67; Mon, 25 Sep 2023 07:57:48 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id ihwJM3w9EWUeTAAAMHmgww (envelope-from ); Mon, 25 Sep 2023 07:57:48 +0000 Date: Mon, 25 Sep 2023 09:57:48 +0200 From: Michal Hocko To: Haifeng Xu Cc: hannes@cmpxchg.org, roman.gushchin@linux.dev, shakeelb@google.com, cgroups@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 1/2] memcg, oom: unmark under_oom after the oom killer is done Message-ID: References: <20230922070529.362202-1-haifeng.xu@shopee.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230922070529.362202-1-haifeng.xu@shopee.com> X-Rspam-User: X-Stat-Signature: sd7x7usnummtooo9eyyc9upfq69ig9y3 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 0968814000B X-HE-Tag: 1695628670-371573 X-HE-Meta: U2FsdGVkX19rdNnoAiTj81ITyLWwyhqN7EEYEBk0wqliBg5FtkXPApSg+4tImla2g/jqBhN21iuRtsJND2yWpMlO1Kl1Bv9KT0x4yNn02AuXSbqkttSo4R6cUfxTr3PlEVQQqJyYAcExGQAbhUnWo3DhHF9Gr53f2j6YP4l1oDF/z50AnhBGsMYBQwYMYVtQKGNv0pOveUGZXWTJd3b6YmnxO8QoKaaLw+W3DfZSeFOlT21Au0yTApNTeYt2uLY6XjgnBBpso8l3Egw4Rvw6mWhxUQZBap9llg2HR0OVbdfXMhgiaw6L94/eF68Elf4yI6G5Mde9o4PImfL99W+rBsjpV8VIFHrjvYHmPppT5xAmpA66fF8q0zgYFbIH+KLj0kgjpha5yIXxFl+1M88x1L1m6esXmCrCZ6wrUh/gKoLFLc13hz9KOlcyDk40YlsOqQPEXwGqq4X/OPzfX4A8TSC69kHK6c0EO7BEzxJJx0Yjz4EUMH4wqYkzloUsOQ02BnVqYgAYSf68RcLxcWjaLRNbBNKmN9Xf1Rwc9U4KuRbscv8ryuZzqrEcilCzYxsHbKRjPB+gkIHgyxqgklgukil3np5GL4bUhSfWYFgmH7JKKxVNxjTdX4HTpIZrN1HMwUj0Q35/5EKWXosXCV1ag+o3XLZ1WfrXcIkpknBgXxCUsFh14fIAwpfACwxJc0JwbS2kxrMhcEcNAfP5hIZV7ETMfC1TAeMLtssmBojWaUGEdOuhPTfsNN50YBwkiG67ZfWy8ubo7hakt/3fIu0WmsnuywHW8bUlzcs4tTvmGx8eX9gopH+f/VXbtzlkq5UnCWJK91gBH+umgxrrqo21x25Se53uyhRtD8RC8XyQlKgu7BD2fmhYTA/P4AgCIMF1q82xnFa3I5xeoJ+YUORwI5bFKg1bZO3Gazcq/bHtD3G7+25TOmwX4pi30MiEbUoLiY+KRg60BjfazcCSJRP kjwq9t3v v5MtIaXTJEh6FDJH0ylPeU1eczUAj3ZiUyWH1nWLMVKnsoJ9m4XhpNFY1A3x12qz2ETcBW7WiIXd4U5hBn3O0r8erXR0N6csFapPl2qUYIMqp0rmpyofbeX4LdoPXI2qnDgEfUn446CmiUIXH3b6Jucm8NmiaAhPobIfNgSFLdTh8rzSz1ChrOj/wmCCL/sNZ3fA3lgs38WnE4Yoccj+ko4HDFahZyWP3Mz4aX60maQVsWLSuCEg5pOrIa2Tir67oYKFxUfFugl5QNMYrj1JCTXqPeB5rGnZBlATRCAoXEU8AQ9zUTuZkBvOe6OgOmdRLqhPJECGcinfXF3Ocyaqt0Grx0n9c2elUSWqwECiLnxP0CVguXhadTAfrQQ== 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 Fri 22-09-23 07:05:28, Haifeng Xu wrote: > When application in userland receives oom notification from kernel > and reads the oom_control file, it's confusing that under_oom is 0 > though the omm killer hasn't finished. The reason is that under_oom > is cleared before invoking mem_cgroup_out_of_memory(), so move the > action that unmark under_oom after completing oom handling. Therefore, > the value of under_oom won't mislead users. I do not really remember why are we doing it this way but trying to track this down shows that we have been doing that since fb2a6fc56be6 ("mm: memcg: rework and document OOM waiting and wakeup"). So this is an established behavior for 10 years now. Do we really need to change it now? The interface is legacy and hopefully no new workloads are emerging. I agree that the placement is surprising but I would rather not change that unless there is a very good reason for that. Do you have any actual workload which depends on the ordering? And if yes, how do you deal with timing when the consumer of the notification just gets woken up after mem_cgroup_out_of_memory completes? > Signed-off-by: Haifeng Xu > --- > mm/memcontrol.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index e8ca4bdcb03c..0b6ed63504ca 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -1970,8 +1970,8 @@ static bool mem_cgroup_oom(struct mem_cgroup *memcg, gfp_t mask, int order) > if (locked) > mem_cgroup_oom_notify(memcg); > > - mem_cgroup_unmark_under_oom(memcg); > ret = mem_cgroup_out_of_memory(memcg, mask, order); > + mem_cgroup_unmark_under_oom(memcg); > > if (locked) > mem_cgroup_oom_unlock(memcg); > -- > 2.25.1 -- Michal Hocko SUSE Labs