From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f173.google.com (mail-qt1-f173.google.com [209.85.160.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 44E6832B9BE for ; Wed, 11 Feb 2026 16:09:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.173 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770826144; cv=none; b=EF7Eit1SiZ9f1wRtUYOh5Z+gZk+abu0c3vIv+9HykClkFbeUR/LpeMdwX703gp8X54w6KhcKLOSgdYXSw47CobUocIiQEBhFV9tRUmAbSCABo5ix+CicDe0sKIx5I1R44Finjv28qYJAZSsmz1E/9K5mQbIwzf8LRAa3RonF+6g= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770826144; c=relaxed/simple; bh=g8+VmLQsXBxvYLPPIBIEgopOsnFa0laDjozqyXB4gJQ=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=cVrIy0RRH7ub8bHoXavmKhr7YE8A0yTX92I2U0jOEknbtUvSqeEeZ+CS+Y5oIUEcSPhdUH6EeZAVBH9AbUY7mYR/8eo8Eg2bw0x4IxYs6AKNeUOvt3b28yUMVWOal2YnWm9d6MuKRxqEFqhRfs4OMaDj3zzRlztBAMg93XQ0LJ4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=gourry.net; spf=pass smtp.mailfrom=gourry.net; dkim=pass (2048-bit key) header.d=gourry.net header.i=@gourry.net header.b=NwBguPcy; arc=none smtp.client-ip=209.85.160.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=gourry.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gourry.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gourry.net header.i=@gourry.net header.b="NwBguPcy" Received: by mail-qt1-f173.google.com with SMTP id d75a77b69052e-5029901389dso17168481cf.2 for ; Wed, 11 Feb 2026 08:09:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gourry.net; s=google; t=1770826142; x=1771430942; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=HM2IjAcTUnEdBWt63uoKHzhXSYFluNXHm3QawevxRTY=; b=NwBguPcyUasmxl/OmTHbPJC0ZUc7w+J6jgxpP6kxXW8BDpOgyA6/Y8ZOQzA/qmYCyt NNQHXCqEkgzp5JsR5SaLBqSXMlanWX1gnEtlrKPZdU4tYITZTLag/oUmAQlno/NTv2iA jg5dMgGe7byTFvxxVMQlspI6NiFu8zKjdQyDFhcKNguX71oHJF684nkvrIfPE54IRTEk sZLVR9YtdlbiKIBXuC/f0iB7RD6vKstZB8LN1r1EfdmvgAAJlbnVCxyN0YzY+75kbfFc AX3SOLUvvjX5pnBjmaY0R03DGAxTYqIHCxIubs746/wA4y+kVvFpeceifJMjLcWSAAdO rYow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770826142; x=1771430942; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HM2IjAcTUnEdBWt63uoKHzhXSYFluNXHm3QawevxRTY=; b=ku6OxC34zguNwMDZpltunk2aukaLjAYcvJgAgDOwk6URsR/B1kPTrgC3v/FbKQRIbO RCSvVME5l7voADqbLyyI62+DqbfuOYgWjUKDFJsO+1XNcCIZemEOG+gLL+J60PqSEFB0 sRAhoTOGWFNV0KKOeiQPXJCo2tH1ZmIKWKs4YLKFtGCXLyuu8NLgoxSpumpFkym3OWO8 b0h4HcyI1FQDKAEo2ktYcifgVLBXV0sLuoPsbwfApCuerLv62vYCOYmOXLH43jP8LQmd 6dfBbFfWbeb2YUaQGJ5adMgm8dKbZuNtUiM8UgzUFSnLBU6gAstwDzW1wOyA3+MpUkqy 50KA== X-Gm-Message-State: AOJu0Yw2OwHKrHaA8lLtWXaOM5YzK3fCmhoDBecrIKdQXGSCVOlveEld qvdsn+sfAnwh6C8M1Q9SJrYjJtXylfsy7OIoHvqU5fO3fKxDCA9D7N8fX5pHBOpuzao= X-Gm-Gg: AZuq6aKz/a6//ovSJpoMBp/YSEQ+MQM/hObnJfFGbmm9eY2lvBWtdTEIjiB4ZIn1p9K e9WE0891f4H0SuLgkoPyJXlAskfa3D6Zf4BoxQOa7/HKn7vhGIC7wII0EENlR9rOyRA6eSXbJLP e2rf92M93SiI1JWfqPf21O/hBJEtGWkeJTP9Ceiclz2ePla+pJVomk04jszPZ5TtTD9bp8us1wU 7QaHUGxtjTFH0DvN7lIeLWUmv/3ngtc6RJSXoITio28cj+08WCKuVRviRfibAAPRx+beWzdzfvc wR6CmZMEmMsiSk74JikI+mQf3Ec1CSu4ycuLT+cUTMh28l7bZxkEnLwr+pXjg5THLm/kSZoH8ip hnbDDTtFNQ7c/skC+Xh5X+O+naW6+2ns6rDpkzehP9EcdCkihwGlGKCt1KYCO59cC4C5gOrQVX9 KkpxvSUar2W2wci8kcTUU7jQk8o98k7pU/tCxAiLa4GdOncHIoW6htNZN/SDQM3l+Nb2+3k7WqI qOi45Ubjg== X-Received: by 2002:ac8:5fca:0:b0:502:6ed5:7b0c with SMTP id d75a77b69052e-50639a0decemr242931101cf.71.1770826141985; Wed, 11 Feb 2026 08:09:01 -0800 (PST) Received: from gourry-fedora-PF4VCD3F (pool-96-255-20-138.washdc.ftas.verizon.net. [96.255.20.138]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8971cca9b6bsm18300556d6.23.2026.02.11.08.09.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Feb 2026 08:09:01 -0800 (PST) Date: Wed, 11 Feb 2026 11:08:59 -0500 From: Gregory Price To: Bharata B Rao Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Jonathan.Cameron@huawei.com, dave.hansen@intel.com, mgorman@techsingularity.net, mingo@redhat.com, peterz@infradead.org, raghavendra.kt@amd.com, riel@surriel.com, rientjes@google.com, sj@kernel.org, weixugc@google.com, willy@infradead.org, ying.huang@linux.alibaba.com, ziy@nvidia.com, dave@stgolabs.net, nifan.cxl@gmail.com, xuezhengchu@huawei.com, yiannis@zptcorp.com, akpm@linux-foundation.org, david@redhat.com, byungchul@sk.com, kinseyho@google.com, joshua.hahnjy@gmail.com, yuanchu@google.com, balbirs@nvidia.com, alok.rathore@samsung.com, shivankg@amd.com Subject: Re: [RFC PATCH v5 03/10] mm: Hot page tracking and promotion Message-ID: References: <20260129144043.231636-1-bharata@amd.com> <20260129144043.231636-4-bharata@amd.com> <7c6d427a-9fe4-4af0-93c8-18ecb2296e36@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7c6d427a-9fe4-4af0-93c8-18ecb2296e36@amd.com> On Wed, Feb 11, 2026 at 09:10:23PM +0530, Bharata B Rao wrote: > On 29-Jan-26 8:10 PM, Bharata B Rao wrote: > > + > > +/* > > + * Walks the PFNs of the zone, isolates and migrates them in batches. > > + */ > > +static void kmigrated_walk_zone(unsigned long start_pfn, unsigned long end_pfn, > > + int src_nid) > > +{ > > + int cur_nid = NUMA_NO_NODE; > > + LIST_HEAD(migrate_list); > > + int batch_count = 0; > > + struct folio *folio; > > + struct page *page; > > + unsigned long pfn; > > + > > + pfn = start_pfn; > > + do { > > + int nid = NUMA_NO_NODE, nr = 1; > > + int freq = 0; > > + unsigned long time = 0; > > + > > + if (!pfn_valid(pfn)) > > + goto out_next; > > + > > + page = pfn_to_online_page(pfn); > > + if (!page) > > + goto out_next; > > + > > + folio = page_folio(page); > > + nr = folio_nr_pages(folio); > > + if (folio_nid(folio) != src_nid) > > + goto out_next; > > + > > + if (!folio_test_lru(folio)) > > + goto out_next; > > + > > + if (pghot_get_hotness(pfn, &nid, &freq, &time)) > > + goto out_next; > > + > > + if (nid == NUMA_NO_NODE) > > + nid = pghot_target_nid; > > + > > + if (folio_nid(folio) == nid) > > + goto out_next; > > + > > + if (migrate_misplaced_folio_prepare(folio, NULL, nid)) > > + goto out_next; > > We should hold a folio reference before the above call which will isolate the > folio from LRU. Otherwise we may hit > Also relevant note from other work I'm doing, we may want a fast-out for zone-device folios here. We should not bother tracking those at all. (this may also become relevant for private-node memory as well, but I may try to generalize zone_device & private-node checks as the conditions are very similar). ~Gregory