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 16126C282DE for ; Thu, 13 Mar 2025 20:36:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7D3D3280002; Thu, 13 Mar 2025 16:36:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 78086280001; Thu, 13 Mar 2025 16:36:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6224D280002; Thu, 13 Mar 2025 16:36:19 -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 4146E280001 for ; Thu, 13 Mar 2025 16:36:19 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 564801205C6 for ; Thu, 13 Mar 2025 20:36:19 +0000 (UTC) X-FDA: 83217685278.15.1E82B0F Received: from quail.birch.relay.mailchannels.net (quail.birch.relay.mailchannels.net [23.83.209.151]) by imf21.hostedemail.com (Postfix) with ESMTP id 6AE531C0015 for ; Thu, 13 Mar 2025 20:36:16 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=stgolabs.net header.s=dreamhost header.b=TBuOX2eJ; arc=pass ("mailchannels.net:s=arc-2022:i=1"); spf=pass (imf21.hostedemail.com: domain of dave@stgolabs.net designates 23.83.209.151 as permitted sender) smtp.mailfrom=dave@stgolabs.net; dmarc=none ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741898177; 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=lSOcGU+o4GtrQ8wkO5JAJHvBA0325lVIyh7OVoVlQvQ=; b=jYDA3J4cV5Dx5R7QZ8EGcS4kQs/h05kasDiN/o/FqNObMeVi6YqzD7WGldy8MKeDlw3iTH EaGbwmOhS5jP2anRXOLUwk45BoI1O4YtwZzAOmQYznf2KUg8uECLxN46FR44h/D4oX0WQS 1W6jpnB7plU5VFre1ZapgmOp8nToHzE= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1741898177; a=rsa-sha256; cv=pass; b=tFN6FzG2lA3e9IZWU9zJG4EH2KfExdHkHZXHPFu2zye+v3yBKdM828jPbM4C1jftx/qknn F4ksbynhmMcJC04LWVe/qCAAIH6ivNwofmxymZADfLzW/qiWJwBjDiG50Vbv4NzJUXkS/9 tSPxh1wvHfUPPzr6Q50U3LD3AsTeVTQ= ARC-Authentication-Results: i=2; imf21.hostedemail.com; dkim=pass header.d=stgolabs.net header.s=dreamhost header.b=TBuOX2eJ; arc=pass ("mailchannels.net:s=arc-2022:i=1"); spf=pass (imf21.hostedemail.com: domain of dave@stgolabs.net designates 23.83.209.151 as permitted sender) smtp.mailfrom=dave@stgolabs.net; dmarc=none X-Sender-Id: dreamhost|x-authsender|dave@stgolabs.net Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 17D8E1A3938; Thu, 13 Mar 2025 20:36:15 +0000 (UTC) Received: from pdx1-sub0-mail-a233.dreamhost.com (100-115-211-97.trex-nlb.outbound.svc.cluster.local [100.115.211.97]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 38A3B1A3941; Thu, 13 Mar 2025 20:36:14 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1741898174; a=rsa-sha256; cv=none; b=3MnzZjQ15bP//389f5y0HBsyU3jrG4JQzK6un2fw4Y45dmBeNhVeDXRzbh42qxj/j07amX uPjdG3bYF7pZvYn8VlfyKAEMA77oyYFG8QXZI11sVLenYyxLt+WfQZ0If6Ib1P+3K6Adc0 wVNmjViqS8Ouv71f7lTAusIcusz0jpQsxQlCLxL2MQ/J6FozKHgNbK9F9euxGVW0uRqIKQ U6cFjxnG/4stEc5LjhL6xT8WLoi9PiDSDBe5lMchZNLhyu6RrKilQqiqzsCweOBINIG/l2 hrlCwXw1jk4pdIWG+n0GcbwaZqqE9YYcAtFHfc3p7u74sXl7ri6s7eTrn74ZKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1741898174; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:dkim-signature; bh=lSOcGU+o4GtrQ8wkO5JAJHvBA0325lVIyh7OVoVlQvQ=; b=EOfqE8a988Pkq0Mt2PN9dOUUq0U8A0Bn8uG9VwSn4s6Xfr0FTnvPrqLq2KrGvfPSHQl+Uh obSwDFkTCbtid3h3YnI9rcWasNgppEXqOt4XGQXGr5JNXKBul2mB9kqnM+mqbs/CknKqCa 1oY5cKqWrbNaL34hoOvS7uBzwqbi2bU5hQWYMwjfIsdGLApds9OcJ0xdfZaDus1uiKVqXD 85jXQW3/6SErbPIIoWURkTVEPV+BxGkzNh7J7TtE1i8h1G2viYsab/LnDx8p2Duok6gw+z L2R3hM2SqQX42WutSA8VbI5KzbVCYSjvJ2QNAHR7X3FZFnqLimuY/yLpIOBLrA== ARC-Authentication-Results: i=1; rspamd-7788c767f-xtt84; auth=pass smtp.auth=dreamhost smtp.mailfrom=dave@stgolabs.net X-Sender-Id: dreamhost|x-authsender|dave@stgolabs.net X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|dave@stgolabs.net X-MailChannels-Auth-Id: dreamhost X-Absorbed-Hook: 5ededd4b729628e5_1741898174875_1399200824 X-MC-Loop-Signature: 1741898174875:2230088077 X-MC-Ingress-Time: 1741898174875 Received: from pdx1-sub0-mail-a233.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.115.211.97 (trex/7.0.2); Thu, 13 Mar 2025 20:36:14 +0000 Received: from offworld (unknown [104.36.25.240]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dave@stgolabs.net) by pdx1-sub0-mail-a233.dreamhost.com (Postfix) with ESMTPSA id 4ZDK5l5W5Zz5x; Thu, 13 Mar 2025 13:36:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stgolabs.net; s=dreamhost; t=1741898174; bh=lSOcGU+o4GtrQ8wkO5JAJHvBA0325lVIyh7OVoVlQvQ=; h=Date:From:To:Cc:Subject:Content-Type; b=TBuOX2eJ/OwpGeqsZV/j8r91pfBhN8MdDpu/Z83RQT4aww0IcMZOXem8Dauxaft/9 Z3ETKU4UXZ9eYF+9K6FpLD2ck5Md8pOPGyEMpoVcdx2fseY+PG3xAfnLBSdbhoto3+ i2SQyE1jHTSiOv3tpSW16x3Z/EXqPTJQR4OlymWEfI87CDE5hTwClgxfQ1b1NOgugC g7ZKaDgY8h/R5W7FAp5wAzL87o1Rd0UnpRSGxumX5GAIzfRwoDAwQrDT2vAq55a8Nt IMODOx5AD72je4tJKfj0c3blJ61w3IPzkuw7oZunIRq3uOvQTBJLg9eqHOXSk60zAn vFMJWb00QeTPQ== Date: Thu, 13 Mar 2025 13:36:07 -0700 From: Davidlohr Bueso To: Bharata B Rao Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, AneeshKumar.KizhakeVeetil@arm.com, Hasan.Maruf@amd.com, Jonathan.Cameron@huawei.com, Michael.Day@amd.com, akpm@linux-foundation.org, dave.hansen@intel.com, david@redhat.com, feng.tang@intel.com, gourry@gourry.net, hannes@cmpxchg.org, honggyu.kim@sk.com, hughd@google.com, jhubbard@nvidia.com, k.shutemov@gmail.com, kbusch@meta.com, kmanaouil.dev@gmail.com, leesuyeon0506@gmail.com, leillc@google.com, liam.howlett@oracle.com, mgorman@techsingularity.net, mingo@redhat.com, nadav.amit@gmail.com, nphamcs@gmail.com, peterz@infradead.org, raghavendra.kt@amd.com, riel@surriel.com, rientjes@google.com, rppt@kernel.org, shivankg@amd.com, shy828301@gmail.com, sj@kernel.org, vbabka@suse.cz, weixugc@google.com, willy@infradead.org, ying.huang@linux.alibaba.com, ziy@nvidia.com, yuanchu@google.com, hyeonggon.yoo@sk.com Subject: Re: [RFC PATCH 2/4] mm: kpromoted: Hot page info collection and promotion daemon Message-ID: <20250313203607.zod6lssjef37ynbf@offworld> Mail-Followup-To: Bharata B Rao , linux-kernel@vger.kernel.org, linux-mm@kvack.org, AneeshKumar.KizhakeVeetil@arm.com, Hasan.Maruf@amd.com, Jonathan.Cameron@huawei.com, Michael.Day@amd.com, akpm@linux-foundation.org, dave.hansen@intel.com, david@redhat.com, feng.tang@intel.com, gourry@gourry.net, hannes@cmpxchg.org, honggyu.kim@sk.com, hughd@google.com, jhubbard@nvidia.com, k.shutemov@gmail.com, kbusch@meta.com, kmanaouil.dev@gmail.com, leesuyeon0506@gmail.com, leillc@google.com, liam.howlett@oracle.com, mgorman@techsingularity.net, mingo@redhat.com, nadav.amit@gmail.com, nphamcs@gmail.com, peterz@infradead.org, raghavendra.kt@amd.com, riel@surriel.com, rientjes@google.com, rppt@kernel.org, shivankg@amd.com, shy828301@gmail.com, sj@kernel.org, vbabka@suse.cz, weixugc@google.com, willy@infradead.org, ying.huang@linux.alibaba.com, ziy@nvidia.com, yuanchu@google.com, hyeonggon.yoo@sk.com References: <20250306054532.221138-1-bharata@amd.com> <20250306054532.221138-3-bharata@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20250306054532.221138-3-bharata@amd.com> User-Agent: NeoMutt/20220429 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 6AE531C0015 X-Stat-Signature: ksagyhe4jfr6yqenxg9f73dosooifagu X-HE-Tag: 1741898176-396199 X-HE-Meta: U2FsdGVkX18X+Gmm/Pvc4qaBPMa3QaPaWutQdeNcnKKIKKobAE4aW3w8woOM/mfd9p/ls7sOHEGk6Z+6Ky+NHSqfr9xYgMNEWRcj4p5kyE7HIkqPmtu9hWPnIMVRaeOjKbFF+NIHLCiBec7yI4JqK5j4dItwy4N06jv0rnSc+9O4znE5+aiCNg/tKFyv1yk7fgRI/lamoFLIThr77qcsiKLvdN2sh+tCDoGsr/prcpa5gVL5l1oMdh39dNOgbGZaD7NiycIo1puQ0wge2BttheuOtq5/4HJJBO3SEaqt2nBEo5NywUalOOoRyzqgzvJm3k0t70NzkaUqhkSu40dnYlgQk5GQUlynUHF28cF6ZdF7O6Ndh6lM/wy53SxjBzrE5H0P/JRqJrd2ZgaS/5cRlXJ7/s6VBjFR0a+3cdKRNumUvtJo2lr1ONqlF4N6lTZX/MgnbddJf7nLxMoi+CxDDy1bjAMoqEcuEDMwHSDB+8IZU61z1Dixx/VrnCgeHwjBgNts7bY8oETYUJjtYmO+oYMv/aQ0KKbDElTKsWM6ngna2/Z03MjYTrznC43HSM6MBdt4+J8RHvgHcbYpClCeLcOBSBEp32Q4f1IrDeYUnvjZifOssE1L6bf+9Y3n14iTNHfL15KONSjnVRkpcNAdKC9OY3gmHbM5hdWeqwiBfum1gHbgmuMYsFIj5kSplepL+2Sxgb9onfUm1klyDPN5D8ZGzEaZDzirqLHNAHHMzeAl4brKxSTFyngyzzwvsIhLXuCB2S/j1PH1OD39yRLXttI3QkFYdWGcafT2fMuLUKAXd5LIAwol7Ft+2MFEVqOFNPJBuEHEDCusOGVzdtSVBTXXI+Kj0Tx0ViIKLCH/p2Fm4B79yo/wTX3RurUwDrVzrKLx+Ukebkm38lIIwCBhHBjn1da4Z1nr9TZq6Zot2EvuuI1ln4x/6empMUHibewkrgb26WbqgOvSdhIOdOP UBbdi0np TyJHMaGcwshgi0yUD0OXPWUEjeYIiCUMyO6He7xmHO6b3ooI9X0waPIAJkJONX667koml0Wvr75hiFKf8SW98/F3K15IOn7GSio2wh1I322E+FhwIbWqSWUnjn2GMxw/4AK+v2t5ps+CvjpCubXPAKWQ2SqP1V5REDjMGPqSHbeV3sAque81HdLt7KYsr3AY+vx5BfXBUuo9M8rP2/uTvhGOkTnzXnMsvjeZMRgBdVQB5d62J4kaJnHXAHKxdb41jHJfk8tH6nC3XWE3pYbeRdbE4NLsvhM0gdBLTu2eeXKRuGkA3J4Z8+NbjPpLwRC2GEOzZPgBOzYKADlY/U+EYUl2sjrE/QrTXEZqH3Kou0GSGxL4= 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: List-Subscribe: List-Unsubscribe: On Thu, 06 Mar 2025, Bharata B Rao wrote: >+/* >+ * Go thro' page hotness information and migrate pages if required. >+ * >+ * Promoted pages are not longer tracked in the hot list. >+ * Cold pages are pruned from the list as well. >+ * >+ * TODO: Batching could be done >+ */ >+static void kpromoted_migrate(pg_data_t *pgdat) >+{ >+ int nid = pgdat->node_id; >+ struct page_hotness_info *phi; >+ struct hlist_node *tmp; >+ int nr_bkts = HASH_SIZE(page_hotness_hash); >+ int bkt; >+ >+ for (bkt = 0; bkt < nr_bkts; bkt++) { >+ mutex_lock(&page_hotness_lock[bkt]); >+ hlist_for_each_entry_safe(phi, tmp, &page_hotness_hash[bkt], hnode) { >+ if (phi->hot_node != nid) >+ continue; >+ >+ if (page_should_be_promoted(phi)) { >+ count_vm_event(KPROMOTED_MIG_CANDIDATE); >+ if (!kpromote_page(phi)) { >+ count_vm_event(KPROMOTED_MIG_PROMOTED); >+ hlist_del_init(&phi->hnode); >+ kfree(phi); >+ } >+ } else { >+ /* >+ * Not a suitable page or cold page, stop tracking it. >+ * TODO: Identify cold pages and drive demotion? >+ */ I don't think kpromoted should drive demotion at all. No one is complaining about migrate in lieu of discard, and there is also proactive reclaim which users can trigger. All the in-kernel problems are wrt promotion. The simpler any of these kthreads are the better. >+ count_vm_event(KPROMOTED_MIG_DROPPED); >+ hlist_del_init(&phi->hnode); >+ kfree(phi); >+ } >+ } >+ mutex_unlock(&page_hotness_lock[bkt]); >+ } >+}