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 5B2D2C0219D for ; Mon, 10 Feb 2025 23:39:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C5AD2280004; Mon, 10 Feb 2025 18:39:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C0A3F280003; Mon, 10 Feb 2025 18:39:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A83F9280004; Mon, 10 Feb 2025 18:39:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 8C90E280003 for ; Mon, 10 Feb 2025 18:39:21 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 0B4A6B0EBA for ; Mon, 10 Feb 2025 23:39:21 +0000 (UTC) X-FDA: 83105653722.07.CFACDE6 Received: from mail-vs1-f43.google.com (mail-vs1-f43.google.com [209.85.217.43]) by imf07.hostedemail.com (Postfix) with ESMTP id 3568940006 for ; Mon, 10 Feb 2025 23:39:19 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=TrEfTBwe; spf=pass (imf07.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.217.43 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739230759; 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=r4J5WV+6IR7+S2waApgF1qBwpbiN//GCbixakjmicks=; b=FDpeKvRJzd4kfMSXJ/NRpiPFRndrsFArGr4t0gEMznplLoDNwZrFAx7gFHApD0SMbyjXTs nwUq0WPPMvlfusbVZzxHq8Nfe0dDyRx37KGq8iO7iOqEgv4R81hbUrtbnlztKpQRks9Td/ I5PTTpJF46EYecUEsSHbiaICzwDhnKk= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=TrEfTBwe; spf=pass (imf07.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.217.43 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739230759; a=rsa-sha256; cv=none; b=cqjQcL9mNNLBmx8vcoZHLFtqd+9akwR2+uvjo6YH//mUT5r5IfoMHYSHatiOycer3uyZMC VMNUP2nsVDTaYhFN3WxaSJzS1kUt8b/Ifkww6ACT/hbGemRwD1AtfUVN/pWlusIkFKrHgS pIf5/3+ZKhu+lJYvlRXbnt/vEgqeD2A= Received: by mail-vs1-f43.google.com with SMTP id ada2fe7eead31-4ba00b6821aso1397079137.2 for ; Mon, 10 Feb 2025 15:39:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739230758; x=1739835558; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=r4J5WV+6IR7+S2waApgF1qBwpbiN//GCbixakjmicks=; b=TrEfTBwenCsb1r8tjEbwAwLJ9tlmMfbVydD4WC8NREEiAHD8LisOn4ijTRLloqM0UL yTEd+Oz65vf6k2fn6g1y/8y283QKjgMevDS0Gk6eosaw4hbmg7C6xqKS5UwSwTyqgYzp TLOwIYIychhNXrhIgOFBoEsMVhs9+t1mTgDi6ApfyHch3wGhM9PF3XBwBcoRaSQ+lGLo t3BGRX/MCYpZ3h8x2HENFzltvewW1H1I7ix6beZxbZ469eS+k4qbPpTSShQRr85h6Zpa /1Roa3R9jq1oG85rBeabE/VIvyvnI1QdcKHwlO2/Sb2OA6VoolZLz0QQbrFx4GogneMW g8fA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739230758; x=1739835558; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=r4J5WV+6IR7+S2waApgF1qBwpbiN//GCbixakjmicks=; b=nzg+vGhbD/0Q6FpTmTVrOzxyod2AZ3hgK1TUaRtp2PCGDfoe4sJw2u8v1Vm/UJQVQp 0m8IUHn5x4vpl/EngNgQfZ7JsNafVppvF/Eni2Gn2WSPRdNS4Zovx9ZFnFUgXGjzb1oG RRNS2RMgBxfhhIYcABmLLPE3GAt4dUasinyYuQpc24gks+EzOE/H04DOElHmPz8oj1j0 lXPtSawkHiceOg1eak8Y8MH3MLtHotq7gNcNAvOfEENHy9HJeFLdMX161p1I5qOVUNlY 9sFIMHmtOO9B6x7exa0TE5aQU4xrWaT+xsx5m7/SjWy/rj8EXRkdt5DjLD+GwltrNgC9 W8rQ== X-Forwarded-Encrypted: i=1; AJvYcCWYQLczkSxHADmrub61pAUp3tbFR/eiYNyNstxGeOrRySepPIQQg0ulhYOpPvP5wKCL0b0/MTnATw==@kvack.org X-Gm-Message-State: AOJu0YxnRsZ6QBu5JE1QL8JIhOviE51N5XELWHqldyZmhDhGN6/keBAs nmf8S+gUClp1ljW9mQ28npwT1t6E22AB84NgdLUAxDv9Odn+23V+FayzwWrcaTUb9TwkLJO0jUx sOb/AbX1V6CdM82KpDZJjPXb22/Q= X-Gm-Gg: ASbGnct3G3gWGJTd+8k63lp7/atRGvd5kStn2ErxWcUmcEAVV/+tEx9zOje1Z0no7nN ntbKDjpc1rgqe288Nl5i+wZYBncq/k42oyu2WPBOq7hEXxpbGDOM3aQs40702EAXZFOa0Ckwy26 irJlFPMvNZ2thQwaiQL//Q+IME/KvHs+4= X-Google-Smtp-Source: AGHT+IEzfy3CbplemS9WcnlHDD6MpmxCskJpVqC7I5+Y9/ioGIApBpWu1Deqy+MADOJ9mj0OMU6KQgcPeg0LuaokY6w= X-Received: by 2002:a05:6102:2b88:b0:4bb:ba51:7d48 with SMTP id ada2fe7eead31-4bbba51806cmr4870296137.5.1739230758203; Mon, 10 Feb 2025 15:39:18 -0800 (PST) MIME-Version: 1.0 References: <20250210193801.781278-1-david@redhat.com> <20250210150515.c71078f212ff4661eafc15bf@linux-foundation.org> In-Reply-To: <20250210150515.c71078f212ff4661eafc15bf@linux-foundation.org> From: Barry Song <21cnbao@gmail.com> Date: Tue, 11 Feb 2025 12:39:07 +1300 X-Gm-Features: AWEUYZmxTQri2-Cf24uNq3e2oUES2a1ywMTPcjyR3D9qOdCEqwTj81M6L3Eziec Message-ID: Subject: Re: [PATCH v2 00/17] mm: fixes for device-exclusive entries (hmm) To: Andrew Morton Cc: David Hildenbrand , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, nouveau@lists.freedesktop.org, linux-trace-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, damon@lists.linux.dev, =?UTF-8?B?SsOpcsO0bWUgR2xpc3Nl?= , Jonathan Corbet , Alex Shi , Yanteng Si , Karol Herbst , Lyude Paul , Danilo Krummrich , David Airlie , Simona Vetter , Masami Hiramatsu , Oleg Nesterov , Peter Zijlstra , SeongJae Park , "Liam R. Howlett" , Lorenzo Stoakes , Vlastimil Babka , Jann Horn , Pasha Tatashin , Peter Xu , Alistair Popple , Jason Gunthorpe , Barry Song Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 3568940006 X-Stat-Signature: ai9hodnncc4g7gmq75w9eaxere86foh7 X-HE-Tag: 1739230759-627181 X-HE-Meta: U2FsdGVkX18doWw8NrcfJ/bKRuSGWy1QDyAX20BEfXLniWaJYUxPtlqw6xx8j9gjjLjNY5Gqc+BbJ/KPbswhYoVnugxpBSMyrkgEYiiBNPrJlMF+99dNmFejBwlnkcDSMCuudyahYgNnaQDJ7bfTbCHEoEG/ckMM0GHl7zgupzXoaIue3i52kxcQioL0jqFDDt5SQr/ierBiQX/t70Dr0+IYQLp0myK4T+mdfBUG9VIpVZciJB08kTdI1HO5sojLOF8PpHE5g1zSlni5oniEocup8vlwPXADB5onN7xA9yq+UrsT3SklSGogc7khX3A2j7+DxU1iO+JwNO5FBLNY9dKon5tptDGq73517KUiCEbOk3VdNIQLZ+hlfYI2caQZoA4KOVjasaq0eeiqz3oiujzQ+x/FA0ZgTIIUswnHz8Iu85pFbwHpwjJCt01+HmF+GAf+FlWEsWnVRTtmRjWy6iomIQdpixz2qqiLCLT08ZlzG3MNfd1f5n8nR0z/Ck/E2eIkeTuyHL9wY0z9yk8mmcFIBN6Tvr00lZkriWceRw5gwMyOZ6qmG+Lo8S7UDn00HjV8UzwjXgWIzaoflxeAJ7lCDHSPYCFgRKTz14ID78UFR1CUvdb9WKCMiNQTQjW2uN3qyw3sjS/JQTsYBXew7IJgLN8Qo59fxrFQ1dyBI7sMHAWZEfta+0GiPwOVTAkUYlcjTW77D9RQDpD/8lxetEOTUOx+aOeC/FMYA6mZ/oeNBvZepojCWxcA2mxrpTXBlcBMszkuTwc1hDPxAh6ymz8toE5cZCNXWRql1852xFsDJEKQNMoktSfJmr/qEW173PsTFLCb4a0SC7OmH4JrfAoTYhJz9TcSJiI8esqZ02KibwUVhxzSrzYDP076qCJ/IJxGrxUlxv5qbNXz58UX9/hZIknXCGIMpMhWrXgql2JfxRDeQ6oIdAEWis4CzFVWuFQgHecmMdVQJF52d+n tLJVcZbH Bl6m/l7sLJkwhaVo1hKzUDQo0u8tCmzm9XX+xpb0JGjUq8YqOdDr7YJzxGsAspbsJB5WImNnfwnQX6cHzCQbvpkjljL44I0aS3iLqkacpjxyo5/qGmBMLaU0Nfu0ddXp6p8g0d+u2HCLqwrscT9D9BxM1KOzdgKebsAkCFskL8Ayi2//8enex4VwbCGnY6ivUQdQGEmsbVsxPKzv1k/LaLlRiYAGTSaTVvAfuhOzpxmxDR7/54bIfJYqWI4zZSYELUjjasJEE/cmMa8ivsUg3J4YuYRwgX1raINOxDCNI/pb3Y/YReh4Xb/KkJAjV1iUhR+5RArWoBJkK1RlDUK/G2SyyQ/7MjbZHy0EAxSJoNRJD0NJ1L8JeqYXqv2aq+tW2xZEOXBgolrC2jQcaKPogkzoQHA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.044445, 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 Tue, Feb 11, 2025 at 12:05=E2=80=AFPM Andrew Morton wrote: > > On Mon, 10 Feb 2025 20:37:42 +0100 David Hildenbrand w= rote: > > > Against mm-hotfixes-stable for now. > > > > Discussing the PageTail() call in make_device_exclusive_range() with > > Willy, I recently discovered [1] that device-exclusive handling does > > not properly work with THP, making the hmm-tests selftests fail if THPs > > are enabled on the system. > > > > Looking into more details, I found that hugetlb is not properly fenced, > > and I realized that something that was bugging me for longer -- how > > device-exclusive entries interact with mapcounts -- completely breaks > > migration/swapout/split/hwpoison handling of these folios while they ha= ve > > device-exclusive PTEs. > > > > The program below can be used to allocate 1 GiB worth of pages and > > making them device-exclusive on a kernel with CONFIG_TEST_HMM. > > > > Once they are device-exclusive, these folios cannot get swapped out > > (proc$pid/smaps_rollup will always indicate 1 GiB RSS no matter how > > much one forces memory reclaim), and when having a memory block onlined > > to ZONE_MOVABLE, trying to offline it will loop forever and complain ab= out > > failed migration of a page that should be movable. > > > > # echo offline > /sys/devices/system/memory/memory136/state > > # echo online_movable > /sys/devices/system/memory/memory136/state > > # ./hmm-swap & > > ... wait until everything is device-exclusive > > # echo offline > /sys/devices/system/memory/memory136/state > > [ 285.193431][T14882] page: refcount:2 mapcount:0 mapping:000000000000= 0000 > > index:0x7f20671f7 pfn:0x442b6a > > [ 285.196618][T14882] memcg:ffff888179298000 > > [ 285.198085][T14882] anon flags: 0x5fff0000002091c(referenced|uptodat= e| > > dirty|active|owner_2|swapbacked|node=3D1|zone=3D3|lastcpupid=3D0x7ff) > > [ 285.201734][T14882] raw: ... > > [ 285.204464][T14882] raw: ... > > [ 285.207196][T14882] page dumped because: migration failure > > [ 285.209072][T14882] page_owner tracks the page as allocated > > [ 285.210915][T14882] page last allocated via order 0, migratetype > > Movable, gfp_mask 0x140dca(GFP_HIGHUSER_MOVABLE|__GFP_COMP|__GFP_ZERO= ), > > id 14926, tgid 14926 (hmm-swap), ts 254506295376, free_ts 22740202377= 4 > > [ 285.216765][T14882] post_alloc_hook+0x197/0x1b0 > > [ 285.218874][T14882] get_page_from_freelist+0x76e/0x3280 > > [ 285.220864][T14882] __alloc_frozen_pages_noprof+0x38e/0x2740 > > [ 285.223302][T14882] alloc_pages_mpol+0x1fc/0x540 > > [ 285.225130][T14882] folio_alloc_mpol_noprof+0x36/0x340 > > [ 285.227222][T14882] vma_alloc_folio_noprof+0xee/0x1a0 > > [ 285.229074][T14882] __handle_mm_fault+0x2b38/0x56a0 > > [ 285.230822][T14882] handle_mm_fault+0x368/0x9f0 > > ... > > > > This series fixes all issues I found so far. > > Cool. > > Barry, could you please redo your series "mm: batched unmap lazyfree > large folios during reclamation" on top of this (on top of mm-unstable, > ideally). Sure. Thanks for letting me know. >