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 542A8C61DA4 for ; Tue, 7 Mar 2023 02:49:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CC6556B0071; Mon, 6 Mar 2023 21:49:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C768D280001; Mon, 6 Mar 2023 21:49:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B3D996B0073; Mon, 6 Mar 2023 21:49:05 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A24AA6B0071 for ; Mon, 6 Mar 2023 21:49:05 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 729CA4095F for ; Tue, 7 Mar 2023 02:49:05 +0000 (UTC) X-FDA: 80540570250.13.C2FF09B Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf02.hostedemail.com (Postfix) with ESMTP id CFF6680009 for ; Tue, 7 Mar 2023 02:49:01 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Mle+349c; spf=none (imf02.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678157343; a=rsa-sha256; cv=none; b=v+FasPxacflmKcq0cT/Kb51AZ6XGvktu/ji44n6to46vyc9KFcWUcDi0SKexkoHPHhzlCS 6ox63KW/sbvfIjjazz2DYV/eJSXG6TLldNJP3aIB+VfjtOxKrZbRT0+ZMwgnugJbDpGTWP pXwYIyTsch+UxFLJy1n0Al7ZbrrZUQE= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Mle+349c; spf=none (imf02.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1678157343; 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=BH9IghDLzLA4qbQqyeD/U80w35wn2Jax/dRS99/xVtQ=; b=6V0jhQ9XqVsLzAmszgDzUWbYZV5fF8ZxK55k9OSA/HGaAjKGEF2v4Z2eOQwRv+kLjdnOre 3kdfZqSJQx9lBIAYZoP92xZ/+/pyIG3RLb2yrOaYY7oKaVw+sxjf0Zc1bqfkY4kmGg84ke 6psgXLOgdTcA9ng731/SD2UvTH8yBvk= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=BH9IghDLzLA4qbQqyeD/U80w35wn2Jax/dRS99/xVtQ=; b=Mle+349cJ33oi5H+LZQSEV9z3m uQJvo+OBg/AXMc+gjNdeFct9BQxvHc5wqIjXTq0hg/gOJHlzRZTEZHuy9Wylku9Js5eWh5bnFmRQs cdWGRbaR1CBt/9HL0qzx8P7772m9hRlWA3qIlyHsMBCFbtB8CF0JLYyXyrhCF/hrS3MtGecod5B2h z/5omwY/YBBlw9CxUT5jbIenyqBCEC3bNOeYTPYG0vnCy4ew8sej+eMqc3GbwzEy2bBl5XBXr3+Xd RE2DpVixxnxJSY4kvtFd7dIBlBcbB3755F86EPnL+UWTe2u3baFuCGpOGmYaE/Twaql0LXk5UdbJe pNbnMl/g==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pZNNl-005weh-Rv; Tue, 07 Mar 2023 02:48:54 +0000 Date: Tue, 7 Mar 2023 02:48:53 +0000 From: Matthew Wilcox To: Haifeng Xu Cc: David Hildenbrand , akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm: remove redundant check in handle_mm_fault Message-ID: References: <20230306024959.131468-1-haifeng.xu@shopee.com> <354360d5-dce6-a11c-ee61-d41e615bfa05@shopee.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <354360d5-dce6-a11c-ee61-d41e615bfa05@shopee.com> X-Rspam-User: X-Rspamd-Queue-Id: CFF6680009 X-Rspamd-Server: rspam01 X-Stat-Signature: xrzoqp5158u61mhpqrjiof6du533uqk6 X-HE-Tag: 1678157341-589070 X-HE-Meta: U2FsdGVkX18ABF5isALhUm6TIAUdu/HS1SId1TKKR/B8jfmRToVbrhgNQ8J9KqDdWiMhYLjQ634ePJSFTdsAP7b6SMMVBjnJDGraac+SwJO7qrzpfJ80wkQcwcKbAjeNWL1Q1oXKCWXHdct8UtNjEJptFjws9KYkZ+FcJeuQJb54c8Q8FFcgSx+KwvMz15bxjiEoqkJN9ev+h+IbG2A6x02+n1wGf6GisHsTX4kjtvwKy4s/o7gxSO0QWCD/ykg9wzOFbUOVITnITKgL+Qb6kcWut5yKwJPlI43fMZXlC/1xnhC9Y4I27p06/AOSxNDckr+ejVqFoQN5kIZeXtpLp1Wsaq6RWcleJH0kFDE13te87nd1DZcNog7UCs3pMk7dc4K0IwXiLPbd779DzF9caAeK9YnSRgwBdxVceZUNTu/me51opH7nzDD31tKqrZDy0jbLo6zrsseYU3CNDSl5TmC7wgxIPbULoYGfUN8pNHe4tOOnTkJa75YGt4bYLAju3/GimFb5KyI3aySVnQou5a2zs+DF0+pswvt2vNe1a/kTnjre4sglqgWqgjMSJqHuc4dt8PsP23s/mfMHvGisvgl+vAr6fZoOuXP2519xGMwZj4ox2arXqtYvl9xZcDEKcjDBlaada0aeCnfCu53gadulOjySek7Yjt7d26xTmJMzF60WzuTTuol+p5KgKQFkRnbRJiW4/pzVQsPWX8yc0jjDV10WCEMwPCe0+s8TLq2ihuM6r5CmfSr+dNRjPOT1iQe+2LNM8aahqHFR30dFB3TfUGuNR2R5vsZI/a9TqNtIxUd3XUuk/3Qn7WPbi0c7Jlz0qb94ngqeBsm4IPs49mgJ741t6r21Qcx0ovrerzJIgI2yxERTTfpgl7CEbclgV6QeEpJVbcObA2vi1b9gC/cDDQ3G6Z4nD4P13VQDPzPt4g3+7nMIEnKMLNtoqPWRie4vA/EF/gPeZzZNN32 v8ucx0iR S+96zevx2QO8O1yoKD+hCPO2kpapcl3cdLyBW6Z4mLqKEJz50HGH9Z/r00Q4d1d6dtjhFxHHfrJ2Xr4uNxOBeQnhwgX1tgspf/xahDTN7f1WG4gCQ79o763KNkx6g+oyf7UaiCb4ldPNQGGWs41UYVWW2NKuJ1654SQkN45mVf824gEZvOF6ZLb5AcCroThZHzcOeFwUzFR+wnJI= 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 Tue, Mar 07, 2023 at 10:36:55AM +0800, Haifeng Xu wrote: > On 2023/3/6 21:49, David Hildenbrand wrote: > > On 06.03.23 03:49, Haifeng Xu wrote: > >> mem_cgroup_oom_synchronize() has checked whether current memcg_in_oom is > >> set or not, so remove the check in handle_mm_fault(). > > > > "mem_cgroup_oom_synchronize() will returned immediately if memcg_in_oom is not set, so remove the check from handle_mm_fault()". > > > > However, that requires now always an indirect function call -- do we care about dropping that optimization? > > > > > > If memcg_in_oom is set, we will check it twice, one is from handle_mm_fault(), the other is from mem_cgroup_oom_synchronize(). That seems a bit redundant. > > if memcg_in_oom is not set, mem_cgroup_oom_synchronize() returns directly. Though it's an indirect function call, but the time spent can be negligible > compare to the whole mm user falut preocess. And that won't cause stack overflow error. I suggest you measure it.