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 0CC93CD13D3 for ; Mon, 18 Sep 2023 07:07:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 690ED6B0253; Mon, 18 Sep 2023 03:07:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 641FD6B0254; Mon, 18 Sep 2023 03:07:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 50C896B0255; Mon, 18 Sep 2023 03:07:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 3F3BE6B0253 for ; Mon, 18 Sep 2023 03:07:58 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 130C2C037E for ; Mon, 18 Sep 2023 07:07:58 +0000 (UTC) X-FDA: 81248838636.24.17BE683 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf26.hostedemail.com (Postfix) with ESMTP id 07938140006 for ; Mon, 18 Sep 2023 07:07:55 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=Yo5U62H7; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=iX3ePRuX; dmarc=none; spf=pass (imf26.hostedemail.com: domain of vbabka@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695020876; 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=ZF/+oaEMMum4fNtySMS0TbtMv5W3qRUOaMV7CUK+Pfo=; b=W9Pkt73M0CwPj85eSPB6KlX7HdbO2EQB3/IovZHHSfEB1soSG1bBiErbFgN/3+1t6RvdPm suA8sIQ4/5ukpv2C0v4kRDlKm8CmAEuZ7op5gKTk5f/4/QPtqV414DnuogZuRDHaxa4Pn/ pUz59ZN+osxm39HxMs/XD2Ug5la7z8k= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=Yo5U62H7; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=iX3ePRuX; dmarc=none; spf=pass (imf26.hostedemail.com: domain of vbabka@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695020876; a=rsa-sha256; cv=none; b=ZpITJ+aexrjOi44HXmdA0044KyrJH8gvg3nZCOgjlmsHT2oq1Hu6fHg2rd5Y4FZN9wE1/G HD6nKo0g/K3bcqkKF1W93kxMmtLOh2oxR9QWK4hJj8DmkskTajfpGUr3TWdx+nh6tiePjm Y30pilfemBAv1sUVCMiIqJglquru384= 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 A78A521863; Mon, 18 Sep 2023 07:07:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1695020873; h=from:from:reply-to: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; bh=ZF/+oaEMMum4fNtySMS0TbtMv5W3qRUOaMV7CUK+Pfo=; b=Yo5U62H7Mu6PomECV37NndMZV88Ny6ZXstJMoCUOBIya+np3Mh+Oug0bWLI9594d2CMUDJ beTk38Vz8U1AxQoYxLDK/VlkkkUI+1ZY6p5hxoK0l5t2jdA2Th8YWefk/ve7Vqt+auo7yD 69hmPacwFOSJdNy9nE63G8sNzvurxZo= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1695020873; h=from:from:reply-to: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; bh=ZF/+oaEMMum4fNtySMS0TbtMv5W3qRUOaMV7CUK+Pfo=; b=iX3ePRuXYc1H9ClVQ1O/726rnZiSMe7GURPdUYdkNbs0lk1VUPYopo7ClEK+QY1kZIep5S n+6K+nQebH/MlzBw== 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 8198E13480; Mon, 18 Sep 2023 07:07:53 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 9ojXHkn3B2XESgAAMHmgww (envelope-from ); Mon, 18 Sep 2023 07:07:53 +0000 Message-ID: Date: Mon, 18 Sep 2023 09:07:53 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH V2 0/6] mm: page_alloc: freelist migratetype hygiene To: Johannes Weiner , Mike Kravetz Cc: Andrew Morton , Mel Gorman , Miaohe Lin , Kefeng Wang , Zi Yan , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20230911195023.247694-1-hannes@cmpxchg.org> <20230914235238.GB129171@monkey> <20230915141610.GA104956@cmpxchg.org> Content-Language: en-US From: Vlastimil Babka In-Reply-To: <20230915141610.GA104956@cmpxchg.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 07938140006 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: o7pf5knzqk7giy169xoy5bmqbm4g3rdh X-HE-Tag: 1695020875-277991 X-HE-Meta: U2FsdGVkX1+smik5y868C3WjmNgulysvrYfxMJGhOqXOl2zpJtt+f4y7mHBk6WcZpZ4T37OvTUXqawaAJdNvUVMBptlt1kMOyXfEYu0d0mY1M7e0/5htTPLrKewQAyt5JsJofh7tYUy1+3er7bSa3SRW2XFUWhNQXRtyIPmV6/ICr7RRc/lbCrRzmA3kSlwf+itWqabI6fXKEGLc7PFnZB0w2pMJe1uEriNNEugC2pzMiRpiHY0yQQVDA/NFw6/SigCXGWP9FpFrrnDoglc2CRAh6MyJKIffKFRsEO5AVS4aGHesXtNiikFB49ODR15XfXYoGaa/VcEdkbPDCHG6ef00XfYtMh9APqSBvdgr4RoBkd3Cv6q9Q0Ys8WWHXk0fx6LPW5UdJzTopoXu+ZGUNiZDGv81HOK99l6Whr6gL1bBJFOQpJss0C4xXUcsrUDSmD1Eqf1fZqZ+F5zc3WwHw78Hdnek5wLPlx6bdU5K9gkVV8bNcKJcpaLdT/3QJkWQ2Ifr5B93XJ/fyk9aDvWmOKELMtbssTCJjevLDXNLZzNQBnbTvEUYzgfkBy5mqky0Yi6qmKK79TVJpMl+g8H/ASWmZDdRGxxx6NgeLrO98xgqCEV90NSnd6qcaLPASItbYgN4whaFKU3EE4TbiyvRVl6Lz1iyTn3OToLKHefHxH9d5WhIyxe2vvgl99dAZGYB916DtTnI086nTggRuuaJqwUUxHRGsX9MStXlTVDOnDBFeDC9NxqEZS88v1FsX227mlyQA9XUvfuyg5F+lHmmAwjAbTOXUVnDdf3IxvpSPUhAN6az3k1twYCuRBsQi+mrstL35dUAObG3XrhqqviGyGcIXQU9Yua3OyTr7jtQa6NnnMQnf4uSVa3agLUsmbMtpR3hhlxxmOHETjocW78OS54rlIFLwLowFHZiFrkPa9A7ydQLRP5+EKtdL1NTemLtx1Gqr/yUmxaB3a9F35D CCd6PPS3 /Hwl8L9DGvBI5gHe9Z7ch9lHYhdhTfMVifrPb0rjAjA3F6GjtC0QaG+AZXd9jClH588ln5npPenm23pR5bIweNnO1/9WWmOehJLX53n8ZwyWE3trqxTMV9936K7QS+UgzvvMP1o1j+vTQIPPR9CjXkCdBlFN6nYEIUL/HZSK+4jPVaS4HhS473Iw5LsqicDCQwLRSPzOrgN9KshaJGf3uI6y+4LXqLdlEG6m+HrmVMBYBVn1yY1fVGIP8fg== 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 9/15/23 16:16, Johannes Weiner wrote: > On Thu, Sep 14, 2023 at 04:52:38PM -0700, Mike Kravetz wrote: >> In next-20230913, I started hitting the following BUG. Seems related >> to this series. And, if series is reverted I do not see the BUG. >> >> I can easily reproduce on a small 16G VM. kernel command line contains >> "hugetlb_free_vmemmap=on hugetlb_cma=4G". Then run the script, >> while true; do >> echo 4 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages >> echo 4 > /sys/kernel/mm/hugepages/hugepages-1048576kB/demote >> echo 0 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages >> done >> >> For the BUG below I believe it was the first (or second) 1G page creation from >> CMA that triggered: cma_alloc of 1G. >> >> Sorry, have not looked deeper into the issue. > > Thanks for the report, and sorry about the breakage! > > I was scratching my head at this: > > /* MIGRATE_ISOLATE page should not go to pcplists */ > VM_BUG_ON_PAGE(is_migrate_isolate(mt), page); > > because there is nothing in page isolation that prevents setting > MIGRATE_ISOLATE on something that's on the pcplist already. So why > didn't this trigger before already? > > Then it clicked: it used to only check the *pcpmigratetype* determined > by free_unref_page(), which of course mustn't be MIGRATE_ISOLATE. > > Pages that get isolated while *already* on the pcplist are fine, and > are handled properly: > > mt = get_pcppage_migratetype(page); > > /* MIGRATE_ISOLATE page should not go to pcplists */ > VM_BUG_ON_PAGE(is_migrate_isolate(mt), page); > > /* Pageblock could have been isolated meanwhile */ > if (unlikely(isolated_pageblocks)) > mt = get_pageblock_migratetype(page); > > So this was purely a sanity check against the pcpmigratetype cache > operations. With that gone, we can remove it. Agreed, I assume you'll fold it in 1/6 in v3.