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 8B26BCE79AD for ; Wed, 20 Sep 2023 07:58:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0CE476B012B; Wed, 20 Sep 2023 03:58:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 07EF56B012C; Wed, 20 Sep 2023 03:58:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EAF1D6B012D; Wed, 20 Sep 2023 03:58:22 -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 D9C0C6B012B for ; Wed, 20 Sep 2023 03:58:22 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id A5D16C0E50 for ; Wed, 20 Sep 2023 07:58:22 +0000 (UTC) X-FDA: 81256223244.21.DA7644C Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by imf05.hostedemail.com (Postfix) with ESMTP id A83A410000C for ; Wed, 20 Sep 2023 07:58:18 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=none; spf=pass (imf05.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=wangkefeng.wang@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695196700; a=rsa-sha256; cv=none; b=0joCwr5NjLVit9Pqt+T0RE0cDXFzF5Wgzmi0iXLzWAiqIN8Sl46PlnlWJquHBMb25mxDSj 1Qh2uYM52RWo1IcJssq/xmdi5axvRumA+MrRWI+Alo5sPDXmOFKWd+msQzR8D1TkW2VtAh Cpccd+AjtI25nQ+nLJQUl6LJqG/WFMw= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=none; spf=pass (imf05.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=wangkefeng.wang@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695196700; 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; bh=haFFz60K98/ouwhIVbvkH2RyCkmrM6+R7itF9Xe89qg=; b=lmRHZjNU73/6rTimkLNzdiehmkNJ9vBlAPEg25eW1yYPpQEF496o0X6SxrpQHKqdMEX9eT 50gtNDDYRH3fes+T5ccvGEFITWwER6VdUmNWyZTm/FlFHM3axp/sMCd5ExgsLT0hODL9Ei Q/SsFlEDypGNz5BPgHY0tIx99v+3mFw= Received: from dggpemm100001.china.huawei.com (unknown [172.30.72.56]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4Rr9lF3P0QztSJh; Wed, 20 Sep 2023 15:53:45 +0800 (CST) Received: from [10.174.177.243] (10.174.177.243) by dggpemm100001.china.huawei.com (7.185.36.93) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 20 Sep 2023 15:57:59 +0800 Message-ID: Date: Wed, 20 Sep 2023 15:57:58 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/6] sched/numa, mm: make numa migrate functions to take a folio Content-Language: en-US To: "Huang, Ying" CC: Andrew Morton , , , , , Zi Yan , Mike Kravetz , References: <20230918103213.4166210-1-wangkefeng.wang@huawei.com> <20230918103213.4166210-2-wangkefeng.wang@huawei.com> <87ttrpwnmo.fsf@yhuang6-desk2.ccr.corp.intel.com> From: Kefeng Wang In-Reply-To: <87ttrpwnmo.fsf@yhuang6-desk2.ccr.corp.intel.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.177.243] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To dggpemm100001.china.huawei.com (7.185.36.93) X-CFilter-Loop: Reflected X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: A83A410000C X-Stat-Signature: jxu91cf7sebme3y3bueddq5x1mtd4kpx X-HE-Tag: 1695196698-149367 X-HE-Meta: U2FsdGVkX18Qg7tOXFtrEm/z8tt2PQ5fhk1KouJKJWXhpJWyTsTKjv+7JXOzGZSzb4d8nQiKaTX56aaz4je4yjDScnujsc1y/WJ8tn7nP4x6P9Y2bOzU6EjgTV6WnMKrvLyjSgm+4VldqYJoyagL1Nuu6nj1YXE3uOeha9fwEATjXBkeF9LZIagJteQAKnA40PJjpPCP/q6qycK9lyJ1z5g/xnNtcCFvSvmy05bsJhzbJhRSbHj3gZm3cPcemOQEpKCG46hbdZ5VLDVpo45sJTxwzJCpQ067vaLUKyqWoObDprAziJOLMSYIXV4Rxsf6mirh7H/z9WcKeASul3LN3kltCE75HK46j/WH0tSukcyqPHo8oM/3oS04Uk0l07NzMH97kHSmL9Ucl2K9hxmrwaasWwidZnN4SZCJBUgyVpoNtP4sjlXnV+n+nMIEoHZametmYwsxzAxEWoAEPGQSDjmoIEIP+WdYy06DgVUH02XsAeG+Y9jHt1IRKuvMrdbHC0pLnqCYOT2VQd8ntdbPZYdv7kHrAwA3mahDVdL26YPRMl8pgRcjgjJh5g/laJsTP4JrIDECvzPxt9Pq91ai+FKhcUXUqzFIEUuZVbfIhYpogjGLA26an6QzZmGkNi2vC6IpfuoBmpi1p29QeNAE6g50rJs9YEEtApFPBxlsMLiJW6lemgjP72vSiPrN15ADL7fWltGTfUwLuUho/zotbqVvUsNPmxcI4hi2l2tdyIAUwc0JH0gsJGPgiGuw4Waz43dOHFQQak66vNHHn2xH1zcTbarY1YMhfQ0B7BCyHc2Dbt5oFUk2YYgbibORzAzuw/k9sZ36HWPKfZNyU6pAa01Pxm6+YH+sw5l5tjepgT4OG40+ORYvqwxtr+kdeV0elxdADEnE2A4xXzb3HSL7hIFX/s1YIIfz9GQR5HGiLp+T1eZfTpap/aG6wTQmSf/iYkuMwdPn/o0/woBU4gs 9yfjrWSX UYKT2Ays9cUUfuw++7ahG3kejwdZOo6K3oOl0a07P0BmqVDfT5hru5mZRMibWUwG9DYjPmHeYrUUgBXet3/y/YXHQnUsqQlMV1JxIXtgGDGpYyyXcrUERt+0vO3o1pcJzUcsyfMpMhI91CiE5+kp6u9sYNDG84nx6fJec0IGK9WLaS4sxzK273m2E8CRRqmi/wV09 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 2023/9/20 11:05, Huang, Ying wrote: > Kefeng Wang writes: > >> The cpuid(or access time) is stored in the head page for THP, so it is > > s/cpuid/cpupid/ Will fix. > >> safely to make should_numa_migrate_memory() and numa_hint_fault_latency() >> to take a folio. This is in preparation for large folio numa balancing. >> >> Signed-off-by: Kefeng Wang >> --- >> include/linux/sched/numa_balancing.h | 4 ++-- >> kernel/sched/fair.c | 12 ++++++------ >> mm/mempolicy.c | 3 ++- >> 3 files changed, 10 insertions(+), 9 deletions(-) >> >> diff --git a/include/linux/sched/numa_balancing.h b/include/linux/sched/numa_balancing.h >> index 3988762efe15..a38528c28665 100644 >> --- a/include/linux/sched/numa_balancing.h >> +++ b/include/linux/sched/numa_balancing.h >> @@ -20,7 +20,7 @@ extern void task_numa_fault(int last_node, int node, int pages, int flags); >> extern pid_t task_numa_group_id(struct task_struct *p); >> extern void set_numabalancing_state(bool enabled); >> extern void task_numa_free(struct task_struct *p, bool final); >> -extern bool should_numa_migrate_memory(struct task_struct *p, struct page *page, >> +extern bool should_numa_migrate_memory(struct task_struct *p, struct folio *folio, >> int src_nid, int dst_cpu); >> #else >> static inline void task_numa_fault(int last_node, int node, int pages, >> @@ -38,7 +38,7 @@ static inline void task_numa_free(struct task_struct *p, bool final) >> { >> } >> static inline bool should_numa_migrate_memory(struct task_struct *p, >> - struct page *page, int src_nid, int dst_cpu) >> + struct folio *folio, int src_nid, int dst_cpu) >> { >> return true; >> } >> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c >> index cb225921bbca..683cc1e417d7 100644 >> --- a/kernel/sched/fair.c >> +++ b/kernel/sched/fair.c >> @@ -1722,12 +1722,12 @@ static bool pgdat_free_space_enough(struct pglist_data *pgdat) >> * The smaller the hint page fault latency, the higher the possibility >> * for the page to be hot. >> */ >> -static int numa_hint_fault_latency(struct page *page) >> +static int numa_hint_fault_latency(struct folio *folio) >> { >> int last_time, time; >> >> time = jiffies_to_msecs(jiffies); >> - last_time = xchg_page_access_time(page, time); >> + last_time = xchg_page_access_time(&folio->page, time); > > How about define xchg_folio_access_time() and folio_cpupid_xchg_last()? > Yes, like page_cpupid_last()/xchg_page_access_time()/page_cpupid_xchg_last(), we could do it later to change the caller to use a folio, and rename them. > -- > Best Regards, > Huang, Ying >