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 7135CC61D97 for ; Thu, 26 Jan 2023 22:47:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F38026B0071; Thu, 26 Jan 2023 17:47:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EE83F6B0072; Thu, 26 Jan 2023 17:47:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DD84F6B0074; Thu, 26 Jan 2023 17:47:26 -0500 (EST) 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 D17B16B0071 for ; Thu, 26 Jan 2023 17:47:26 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id A36EF1409A6 for ; Thu, 26 Jan 2023 22:47:26 +0000 (UTC) X-FDA: 80398438092.18.AA246E4 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf17.hostedemail.com (Postfix) with ESMTP id E90F640014 for ; Thu, 26 Jan 2023 22:47:24 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=ZNprl7Ph; spf=pass (imf17.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 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=1674773245; 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=kQGFgVaC+s6tLAVgrgO1RTxty25Gr90tT5p8z2ufs/Q=; b=mYU3CHCeNb+hzcREnBRJb92PZ9PpSvDY7ICzH0UNYZ+blGQdQtgHi55HMR18dw6u2CjJKy zmhIBDx7pFMBM1qelnMwr6mhZnmrtuJGvtB7QOHLYr7g+btIatQgjmHPM/QOA5yiZQ4A03 E4TTZoIufLJFRi+TKNJkFTUHIol/BC0= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=ZNprl7Ph; spf=pass (imf17.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674773245; a=rsa-sha256; cv=none; b=cPuSPntoWrPSo7sqRnMJ7L8hp1JE97zDzgls8IweBq07Xs3I3ItyPPbyUqWO0NVsZnw+Ld 8W5GzlONqzaEnqmshrVV8TOlz8Q/YnsS/pryqeOfgI4MieTYpYdYfMxTfloBxuRMSA6Atv +5Z53ROny/DM7FQLpCJaN0VwtXcpoYs= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id DC48661950; Thu, 26 Jan 2023 22:47:23 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E3E3CC433D2; Thu, 26 Jan 2023 22:47:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1674773243; bh=Ep/KY1mu+CYgnjaFY9zEbtTygigA8q1n5HTt47g3wsM=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=ZNprl7PhmX2pjn2/SqfKBf/BFgPCmxOFGfb3Xdu65l8w0TIX26cGDy94uq5D2Yk+v sxp3N4d97pMptUV6mSJT8e+iowsH3FpgSEUGnkq/5sU9fZxo38/HTxCxgJNMFn9Cj+ izplUSGTZRGb152LzibI/rgC2RuzV871BGLMwg10= Date: Thu, 26 Jan 2023 14:47:22 -0800 From: Andrew Morton To: Mike Kravetz Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Naoya Horiguchi , James Houghton , Peter Xu , David Hildenbrand , Michal Hocko , Yang Shi , Vishal Moola , Matthew Wilcox , Muchun Song , Vishal Moola (Oracle) Subject: Re: [PATCH 0/2] Fixes for hugetlb mapcount at most 1 for shared PMDs Message-Id: <20230126144722.8b84116c488553c79d8623ec@linux-foundation.org> In-Reply-To: <20230126222721.222195-1-mike.kravetz@oracle.com> References: <20230126222721.222195-1-mike.kravetz@oracle.com> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: E90F640014 X-Stat-Signature: acjoq89gmzk547mm8kixg37szx5m8y5s X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1674773244-533066 X-HE-Meta: U2FsdGVkX1/OlkHgxbrCli3FPKS7D95sdRnUpDcu5jnpsTfB/0BaNlvlWGllfEI4lPJhXNNK8r06dDu968UF1FFC0DvFGqYMq1dfMY4TUdu641HYhIwKPQhNg5Uy7S0Zojjf98fCCA6HedvEY6756Q3U91b/8m4q9vSXQ2GxMbRonD5dP0bGHByQ9DYvR0coHEsx31e8XtuzpvOzFy8F4M7elF1XUKqBYSZaNOaW8dmsPsqo3LcndautybvqB0W+LPqX/oEkxV+jrQQb70l8dY60b4t3xMg1Vmw2IchE8txS40aUhVtZqMd2E9Z3Ek0YZYUJTLbtKvRwyza7yi4SsE92Nk5lqHM+FaOHVHEuTNrytrH3kgPrfVaOUyj7Fi1ZSGej3cB6XkuUJO1cCjx8KiPyJXQ0aaJrW+Dus93Xh/lvRyiQxSpsJmSXjQMAEZLmKbuezm1XN/cB2j+KfXaXk6S6xhtJIyHq0milGPHEQqZnn+pYoLIn10cb3n8kA8IZItXwz1rOBar4v8lH0Ms5a//DF4BM+Z2DICLnLQouQz+M8+c/mpgaEF4U8zPtuyXs/AMtJ82CdvTCVq3fPbZzf2zh4eF0Gy8iZLdRGWoQvOnMw91WKsheipEIe5udKadmqhyg7aFCDCbK/u46vQRJkHYz7ejAbvvKr8nAhaSWZXweRUpGqTz9FOigoQUA2k+X8OuZ1UvF2jpLZUxqQ85voc+TU6d9GFl9Q03YL6WmJsnImVvuXuMxlai4j7iI4WJioWQbHnofEBozJN3S5eggOoMP5V7qHFshei5QRwWey1XUymo9mul7PMYvIgTKTzfDfWv4xyZf0D0lJFyN4tBbpU6WvvY0MlMcRGbwIcBBaskz5b1y2+qRVwlr/aJDuqLOEDM99jYaYijQnbBCUBvsn6Fn8/n5niuNmTK9BkXTZ2AX7JZiqR2W3U005RTyXchgVPfsNplx5a7VTiajjiD FTrZRlYU 7h23HB3Edfdg74e75nl1+2uN3AO/6+k5yxF0nivcv8Q9FUB5sdlWQjEZBr0f8BJcgiYOa2NB+r0UVjsIQkeicJ8jwbfXvfMry/J5lVRFjgS3XwwStzj31fR+cV+SPMHdB0i0SoTZ/Z2AB48pXJA6jYNMWr5825TYtFIL47vBwQlJQW9c3sZTpSIaxlr85ht1FABOHPhINuq/0f2hdvWqLQsU0DPyBzGHNqgvi+v5B5s8BXUgMOV4Y8f9jQBEiJFvwC2p1RfK+uUQkML2mydUqGW5EpCVst3hBolOUpuK7g23XKNfyEN4eauUzhElxcztasZqss+y8MrGYXiJrsJl8EhD1EvbYz3wLY0WNvcUncLuZ0de7gXtxThtghxACm+fSI9f+RV4vjmZULdcucFhlnMd72TwzF7h1v1GMScgQxMfrANp4Osv0xu+2Tn33Q718ggKE 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 Thu, 26 Jan 2023 14:27:19 -0800 Mike Kravetz wrote: > Ongoing folio conversions cause context conflicts in the second patch > when applied to mm-unstable/linux-next. I can create separate patch(es) > if people agree with these. I fixed things up. queue_folios_hugetlb() is now static int queue_folios_hugetlb(pte_t *pte, unsigned long hmask, unsigned long addr, unsigned long end, struct mm_walk *walk) { int ret = 0; #ifdef CONFIG_HUGETLB_PAGE struct queue_pages *qp = walk->private; unsigned long flags = (qp->flags & MPOL_MF_VALID); struct folio *folio; spinlock_t *ptl; pte_t entry; ptl = huge_pte_lock(hstate_vma(walk->vma), walk->mm, pte); entry = huge_ptep_get(pte); if (!pte_present(entry)) goto unlock; folio = pfn_folio(pte_pfn(entry)); if (!queue_folio_required(folio, qp)) goto unlock; if (flags == MPOL_MF_STRICT) { /* * STRICT alone means only detecting misplaced folio and no * need to further check other vma. */ ret = -EIO; goto unlock; } if (!vma_migratable(walk->vma)) { /* * Must be STRICT with MOVE*, otherwise .test_walk() have * stopped walking current vma. * Detecting misplaced folio but allow migrating folios which * have been queued. */ ret = 1; goto unlock; } /* * With MPOL_MF_MOVE, we try to migrate only unshared folios. If it * is shared it is likely not worth migrating. * * To check if the folio is shared, ideally we want to make sure * every page is mapped to the same process. Doing that is very * expensive, so check the estimated mapcount of the folio instead. */ if (flags & (MPOL_MF_MOVE_ALL) || (flags & MPOL_MF_MOVE && folio_estimated_mapcount(folio) == 1 && !hugetlb_pmd_shared(pte))) { if (isolate_hugetlb(folio, qp->pagelist) && (flags & MPOL_MF_STRICT)) /* * Failed to isolate folio but allow migrating pages * which have been queued. */ ret = 1; } unlock: spin_unlock(ptl); #else BUG(); #endif return ret; }