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 905ACC001E0 for ; Wed, 2 Aug 2023 12:31:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DA6EF280167; Wed, 2 Aug 2023 08:30:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D56F0280143; Wed, 2 Aug 2023 08:30:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C46A7280167; Wed, 2 Aug 2023 08:30:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id BBB2B280143 for ; Wed, 2 Aug 2023 08:30:59 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 4CC82140D9C for ; Wed, 2 Aug 2023 12:30:59 +0000 (UTC) X-FDA: 81079099038.20.C095001 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf08.hostedemail.com (Postfix) with ESMTP id 6D88116001B for ; Wed, 2 Aug 2023 12:30:56 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Sty7cJ5I; dmarc=none; spf=none (imf08.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1690979457; 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=w9tr1AR4GmU5vaVxpOCOeNBoe0QTS0eYPR8meuRf/nA=; b=C6r0j3u2e35E2JSETNK6IGx9pst7aM/jJX8mmznTMj+UqZBu9C/rJ8tRNfiK+VzztEdbpm RjW2phSupc65LqN62B1qoWSPt87sh+GEsFJ7GA8h+sQ/LtI9Z2ZZ00qDmY5pYBfbkFLMg6 VzEyxez01noFG9bUMtYDcMsMsgc9Nss= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Sty7cJ5I; dmarc=none; spf=none (imf08.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1690979457; a=rsa-sha256; cv=none; b=fkjJi5U6SrVSnk1y52msAGCDgkZHE3yJDUkbhzza7nKUSwRER2odTuM//X0zxyERBzs3MS dCQnwGDuSXp6qMJjbfAbl6CP/c05i7784+QGDmCuPWnFp5tX+yMnkrvw6KSxvA1Yqv3U0h yBCCLAFNNfuloR1/xCJZOIVL0u5zBMU= 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=w9tr1AR4GmU5vaVxpOCOeNBoe0QTS0eYPR8meuRf/nA=; b=Sty7cJ5I21M8pIW4vcPtXwcLTD wQ/lq/rUczznk1i6mZJJW+DHIjI6Nyhnqe68OyZW+pH5fn0qrkduW0/m0uhcG9/cdRBqXTuKHVLKy 1aD2p+pBmBIy1NAPTwVRde13kciPSuh/DsMZfA8QbLf8YjYISmJQSUIYCvDCKEy52IpVfcHIZijfq yJSIJpJT4Q3ZskApOYQl1lEpvgkIzLXAVII58nPMrPyPWM1UN2P05Qibg3X+6DCr/Ajb0rnnBW8C4 LdaQE+uI5nTuVIgXZmZQjVUbYNX1LKxIfkz6oy3BvR56JmkP+kD5ol4M1uEDYVaEtRfiTN7kI8+/m I+1zVq3Q==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qRB09-00EvsP-Rf; Wed, 02 Aug 2023 12:30:53 +0000 Date: Wed, 2 Aug 2023 13:30:53 +0100 From: Matthew Wilcox To: Kefeng Wang Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Huang Ying , David Hildenbrand Subject: Re: [PATCH 2/4] mm: migrate: convert numamigrate_isolate_page() to numamigrate_isolate_folio() Message-ID: References: <20230802095346.87449-1-wangkefeng.wang@huawei.com> <20230802095346.87449-3-wangkefeng.wang@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230802095346.87449-3-wangkefeng.wang@huawei.com> X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 6D88116001B X-Stat-Signature: a7sgduscem7me7seqd6kwa1oaqgo96ui X-HE-Tag: 1690979456-784428 X-HE-Meta: U2FsdGVkX1/WBDJpxuPrj0c7E8Pe9VJLe5BP7yyI+Xrw+z2kVC56lB9e3ImICdH0jvo1wUHnWPKoZbQoEhsqI4TqGAF/o42Cr7lY/6CbBu5g2ItAzJ7zKBlUqqbY6+GRmHFe5f/1uSREsttzr/gkPsV4YHshCl/QaDcPpvkKLGThe46PQhY4kYZ/WvYh8SAt7MYvs4oSmL+U6YLWhTFDxqmyMyKrlutmKlXBuLXTUH4UOcTI25llh9QcL6l4jZYgRRnqSDNGUag4/UPDLbjIMK9h8Rbuf+ongKTkJXxQaNNkXfZDzbD6gh84rLoGGFKK5KuSFkMyUP2awdK8uh4oRGuPFxToEFpm8uWMmpbcyYuAZOHxPIBsG5pdLBnmbMEYxboTWW3qt+yuqnkqbrB/7KtndLjavdiLxIfi7bPjpLNw7kGuJnDRxoCBa2Zj9wVMvKREqzpeG+WKPJxhfL36MfvHv3wvJwO1mfEm5bMyY5+jhJo0UOaP9E9B22CywnXqaqUthE6yju658Is5UKszJIvGr0btGv44TN6QpenOl6m/SxxHHJggAPqjf09f3uvwNl2db/g+eN7/RruLhZol4TxEk4kE/FDKb95xDxhJ+biEULT+2gn+ZqP0RM7SsyYF4mmnbOgl3Qmo+g5jM1th7U1OTmeSX+OQwubyS0nxAolN5eEGr85eyPDjJkJfShIVD1zObgohVlaA213HtC5vqf2NNjzPFgHg5kDInJTb5x7UsUqjmDTDplssj3KxepB9GYiqZ0IcTp1LPstmD3zbEDKSNuc1NDOKfkKxn/1jno4PYnqhe/zUlznuMVyrmik12cEKjDDWJcBEjsFF1tbGYy4D4LBYVRX4uZ53Laemi01d+1uskDs9oJ2v30d5IxsurgxkkeYLGlvr+yE5JtGHUNoV63QLcLG/6lUkk0KVe7Uo2ALPVtHY3ZoxkawzF1YfCzp5qp+/GvkOitu8s9b KE6LmWWo bMoiX4EpL7NJLXhwfQvzg2p6uYM3wBxnnR03Iak1e43g4N+PRFa7gRpMfvUSdpAuBk2/D4K94bRPfJDDqQt7EPsmHRUO81wSZuTFdLJZpLXOVsljYNRbTVOCZJm2W0rEYVzyGF2hlnQEdHZxvoUV2WTkFNDzPq+UH2ifRrcKLWT8Fuft+2FHblNoR1Q== 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 Wed, Aug 02, 2023 at 05:53:44PM +0800, Kefeng Wang wrote: > -static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page) > +static int numamigrate_isolate_folio(pg_data_t *pgdat, struct folio *folio) > { > - int nr_pages = thp_nr_pages(page); > - int order = compound_order(page); > + int nr_pages = folio_nr_pages(folio); > + int order = folio_order(folio); > > - VM_BUG_ON_PAGE(order && !PageTransHuge(page), page); > + VM_BUG_ON_FOLIO(order && !folio_test_pmd_mappable(folio), folio); I don't know why we have this assertion. I would be inclined to delete it as part of generalising the migration code to handle arbitrary sizes of folio, rather than assert that we only support PMD size folios. > /* Do not migrate THP mapped by multiple processes */ > - if (PageTransHuge(page) && total_mapcount(page) > 1) > + if (folio_test_pmd_mappable(folio) && folio_estimated_sharers(folio) > 1) > return 0; I don't know if this is the right logic. We've willing to move folios mapped by multiple processes, as long as they're smaller than PMD size, but once they get to PMD size they're magical and can't be moved?