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 468BED41D41 for ; Tue, 12 Nov 2024 00:22:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CEB396B00E7; Mon, 11 Nov 2024 19:22:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C9B4A6B00E8; Mon, 11 Nov 2024 19:22:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B3BE96B00E9; Mon, 11 Nov 2024 19:22:52 -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 915286B00E7 for ; Mon, 11 Nov 2024 19:22:52 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 387F31C77DC for ; Tue, 12 Nov 2024 00:22:52 +0000 (UTC) X-FDA: 82775541786.04.78903B3 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf24.hostedemail.com (Postfix) with ESMTP id 1132518000A for ; Tue, 12 Nov 2024 00:22:44 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=Wc68EVxw; spf=pass (imf24.hostedemail.com: domain of akpm@linux-foundation.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731370883; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=mG5j4Pyc8wl91WRUNbtmc11ZnlP3QOjcx5/rkmsUO+g=; b=F+Dg/BsPFO5leevuit/17PfIXk62ClbjqP6KE8n+U2jxtgAeheyij6YgXawoFhMTCFP5AE tvBWCxnc5U6QzKky6WrV3/gsZdNKRKFd03YsjciXmo5VuYolgDl1Br6xAYIaVT8I6lJgw3 OUZ4+8QyMat1i6OQULr1b1pioBalUqk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731370883; a=rsa-sha256; cv=none; b=GyIKZ083gvDSfZI/x+hJnm77rsB4MFP355qQt0K/Hb7YhQYqFUPpDqyxmENjFnIq7xSAOg 0lQtyHtWbXyVQVoQZn0gNLWzt4xp69JCrEVp4lRgTwfcCxYKYEC/AFc6oGwqfK0K9IhTqX nBfNUUJecmpOhGScZd6LNoxXxoytj/w= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=Wc68EVxw; spf=pass (imf24.hostedemail.com: domain of akpm@linux-foundation.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 51DB8A40EFE; Tue, 12 Nov 2024 00:20:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 25096C4CECF; Tue, 12 Nov 2024 00:22:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1731370969; bh=Gak206jprJzht+wVQSXZ65xZetRhwpUjUYhF1HfBU9k=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=Wc68EVxw+hOZ8e92jgXhUlSL14mhN5WkRk6ZkQDEfeOX7LGKxyCqnW2vESpvqdias auylJ8y5QPvO1sWnlAg/PiTCrqJPzyIkqwK/ABTdProIIhKVprmQMlFAweP7bGl15n u2ftMGGTRtcZSRjYWB6lyRdC3Wyq+rxkbgkvKdQo= Date: Mon, 11 Nov 2024 16:22:48 -0800 From: Andrew Morton To: Qiang Liu Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Mel Gorman , Laura Abbott Subject: Re: [PATCH] mm/compaction: fix the total_isolated in strict mode Message-Id: <20241111162248.7af77e56c1ff4017d1ed4106@linux-foundation.org> In-Reply-To: <20241102201621.95291-1-liuq131@chinatelecom.cn> References: <20241102201621.95291-1-liuq131@chinatelecom.cn> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam10 X-Stat-Signature: fjm1b9cctb16bemtduinib13ih9ube8i X-Rspamd-Queue-Id: 1132518000A X-Rspam-User: X-HE-Tag: 1731370964-989691 X-HE-Meta: U2FsdGVkX19t/KI8dV/FvHfTh6nHISs4tEJgypv4dhs6gbB+OvHbO1Izi2zYw4Ct6SHkQPGczR0TzsBWuf3arTfSbMbanVV3pTCvnroLk4BA78uG2sXiu6ecZjqOeVYzsopeW1UZl9OlMvBLbPrd5lEiAjNgapSylVhEUS9BzKlG88YK8K+NMb5NvRHb2YJeU9fn2GwRaZVKKg82DFq6Lw+WGhJ37RWv98CPKvk2vm+OTLQANOTIe6fIzSflhWV+em0s94pa6Fko87iqrkvbLPzjO1tDcMpoV27lLZrI5HSE7vpIU7JVdPV8QfmttJ8QhMI6lGVcN1BYg9g7dgT5C12JkLcdcSxO/JJ/pVUM0qCoN2oq7PRvDOAItroJXU0GL/wXQFnZ36TtDLhErFtiuQphADxoOPoSivXDLlUM/5rjE/aZ0J34soZzGnXpA1Po/0il5/XsAVYA22BWZiNor2NKQTS+tu1V21TBOpSmmwfBxiv1dptHW/fvf3bSGSYFM3B3hTjLJOGSrQrijPgDV4tDN/2rz5p5iQoVf8bJ23KQqiphxZQP2ECP4Tyqqsc/amlnhdEIZQ2FLurH/UyMGB/Jt6y07Z4Ne4N3y+6CWu4ivaV66L3ZGn7p8yS0Rl1popyVaSz/fU5xNLzbwQmC7ON99pwp0EIoHWeFaMWFLa54Pj/nkj1xrt4cVtj1wgzEEoIk9sGoL46XD4Tpo4fllDx7aBs6a6K3U2HYNdeb51T7mE8wZY2+Y0ZzwAtkoBg5WmJ1PDWUKOLqeFGI41UdOvmc1Jbx5OP3xFMcPKXS2Zk/GRHcWecz1Kb5t8f9oJlFftTBn820DeNK2NatsmpCdOeET5Ab2v/jN5Z90gbj0ZIp8F0EC+ogPZX8uCHAow3tv3c/3UOch82J48dN/FXCcOBmMDZsb2vBmt6xNicucdS836Un9xsKeBYZ5jQb47bQj+BZYG/0xZlrLVTLUIY DqrYhPAC t0+3iiulv5Dz83JQWiwiRwGU3cBI/vKewqLbk9Fnh5uEMQ8PtgY4pZYl4+1x2/7Tjgz2WnP2HxvoMgK4p6jvCX3wZjbXH9WwanCE3RIbQwG/jqJIiYU2HT/w+uSbxXRajVArGzndGe6mzmFTMYF/KgWKBA8raoG4GRePGCz5PcMjjVJy6BFUhqq8pZuHBYPYX5K8yRu0+ZJELHy9n2qTwfem3qGNKUkokSkgH2FWEOapgBsgW0gn5y6xmEWeuWOXPKWeQ1K8KWu2zQOsIMHpNBDbR9MVpk0TQSIeyJqO/Wr25NCnUmqXdXGCPjm3SqYV1C2zhb5w2QdT01Q8OsLtoFoVDfAccAyksyDLT 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: List-Subscribe: List-Unsubscribe: On Sat, 2 Nov 2024 20:16:21 +0000 Qiang Liu wrote: > If the last cycle reads bogus compound_order() and blockpfn > end_pfn occurs, > it is possible that total_isolated will be less than nr_scanned. In this case, > strict mode should return 0, but the “if (strict && blockpfn < end_pfn)” > statement cannot recognize this situation > > ... > > --- a/mm/compaction.c > +++ b/mm/compaction.c > @@ -699,7 +699,7 @@ static unsigned long isolate_freepages_block(struct compact_control *cc, > * pages requested were isolated. If there were any failures, 0 is > * returned and CMA will fail. > */ > - if (strict && blockpfn < end_pfn) > + if (strict && (blockpfn < end_pfn || total_isolated != nr_scanned)) > total_isolated = 0; > > cc->total_free_scanned += nr_scanned; That's really old code. What userspace-visible effects might this have? Is this from code inspection, or was some misbehaviour observed? Thanks.