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 340B2C4345F for ; Mon, 15 Apr 2024 11:41:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A63776B0088; Mon, 15 Apr 2024 07:41:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A138A6B0089; Mon, 15 Apr 2024 07:41:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 902F46B008A; Mon, 15 Apr 2024 07:41:56 -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 7443A6B0088 for ; Mon, 15 Apr 2024 07:41:56 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 2DBD11C09A8 for ; Mon, 15 Apr 2024 11:41:56 +0000 (UTC) X-FDA: 82011577032.29.035F424 Received: from out30-118.freemail.mail.aliyun.com (out30-118.freemail.mail.aliyun.com [115.124.30.118]) by imf07.hostedemail.com (Postfix) with ESMTP id A2F0F40003 for ; Mon, 15 Apr 2024 11:41:52 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b="POa3Tu/0"; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf07.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.118 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713181314; 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=2oDxc+Zl3CurVQylnngPv8wUXufpzHbJBQe7TN3U2tM=; b=NQyGH44rySXvjcwKPk+MznVupnJtZGrxpb1jvpCmOPK1jCAG18ZV+drR1E5P095KmBmm1c v6nuePj6e3OmpYsksxZLWoPwd6mjNruy3wjK4y3HbTx8HrUYQFyZqPM4vcVeK29TxR5aql zlyGoxJ8XBg+VKEhhEWHM4GvNZqEc6Q= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b="POa3Tu/0"; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf07.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.118 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713181314; a=rsa-sha256; cv=none; b=2y5YuK5O4v7TgJMZdd6zO/W0wMzMl0pza79ENvbw7IzYVG2iakKjmN7F5vuawc8L65CFDl +H7ufzbv67IgINW2RSqtbP7blrMjhBXl0FH7rApjKByCsHyk+//kVjw3RZi+wEcPtVn+iw DJlJmd9qcDRLfmnUPpTbAuL1nen2yQM= DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1713181309; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=2oDxc+Zl3CurVQylnngPv8wUXufpzHbJBQe7TN3U2tM=; b=POa3Tu/0gGMNN//opMtkk2N/zRd2s+YsEJVxCumcn3Ny4kjfzGsAehdBbtYEDWgtxiXrO3c4427z7bDs+Rej0rCI2RfUSo5baAV+njlV3JHRzyeMEIHCC3UMUzFZfnDqve0TppyxpQACiHHRX8qjEbxC/jYNJUNWoJ39MG8RpAY= X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R191e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018045168;MF=baolin.wang@linux.alibaba.com;NM=1;PH=DS;RN=14;SR=0;TI=SMTPD_---0W4cEaCe_1713181306; Received: from 30.97.56.61(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0W4cEaCe_1713181306) by smtp.aliyun-inc.com; Mon, 15 Apr 2024 19:41:47 +0800 Message-ID: <54d2a11b-bc17-4544-b2a6-843f10d26df8@linux.alibaba.com> Date: Mon, 15 Apr 2024 19:41:46 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH rfc 1/3] mm: prepare more high-order pages to be stored on the per-cpu lists To: Kefeng Wang , Andrew Morton Cc: Huang Ying , Mel Gorman , Ryan Roberts , David Hildenbrand , Barry Song , Vlastimil Babka , Zi Yan , "Matthew Wilcox (Oracle)" , Jonathan Corbet , Yang Shi , Yu Zhao , linux-mm@kvack.org References: <20240415081220.3246839-1-wangkefeng.wang@huawei.com> <20240415081220.3246839-2-wangkefeng.wang@huawei.com> From: Baolin Wang In-Reply-To: <20240415081220.3246839-2-wangkefeng.wang@huawei.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: A2F0F40003 X-Stat-Signature: 53nxtotfnpttuqxthq8qf6e1hi8zttto X-HE-Tag: 1713181312-728239 X-HE-Meta: U2FsdGVkX1/eHF4lgqhn4iUkY/QSzBDodAIpoSwh4JcjmJB/JUqp1/3+jj8VvuJkjlejRUR/exyTVUuzrE+IvtRdFM5IDyRYSsPAnDmC9J3itTgw5EdbnneeG3/UfP3qX9zSJBcWLtk7rVfCJEOpYb8DnFoaDeBkdIrFxiTD2zB3S6oBYcMqtwbYSbXYXjl1bgoorEQ6xTl/+hfG8aQ45ygVhiFpKRI2+Hzo9nJGFs+mPMHzR2nnK3w34SvyVzNNhT8JFlDfnQbXy1Y6OrlbSupcVensLfeB22uNfv5jvNhgRKGB/ryzcAuZ8wGViaGTTcgnookqQLTP90HO2JQkBXGfipOedQFOS6gTSLcQxjfZ66TBTwXO29ELif9wYEqvMCHdun8MmR0TnEPRnHi5dPyZDtUrJ9FBYJYeGcBtc2GmawHGfpeNHHGmRpl1f5Yrer8NwktC6qFsfnGHexulz3Vk6o/fqte8USo+6Qk6ZyApa2sCrWMsf6XFeidZdj0admhuOKmKYp5fVNN396kJautIR9bzd0Dvn6LEa978R/KXCKwYZJ6uwTX6Ze6WDqigMlkq5magjz4dusLS0RN9l3j1gIkhFs6oyGXzagi9876wXkovMZWWQrHYWJOV3TEHM9JhCI2hg452+iq6Y7ncDy50o3v1WprMlNT/bl1A+6B8afvBWitRvhOIbZXkNBOvyIer5Ne73sFVL4e1RhMzI6SlAenzvAVGH1YNGqmlcQfhkx6dt9mOw/HtqXu8/JKhvkCQgZPsx/MJhcII4VgSG3YJXqd7hOhWtl9wsj90SJAoGLPkS/dGqgjctc9cfPYoIZTreck12PjTbpGcIcwglddUzls0/5gpXH/pEfogin3MH7wfY7ugjdhYUVsB+aSU4C0QLMbeEPeoyp/kEwRKgYvsWFhFBlEYa0VD4/SjtvaPZmtc833gn9hSb/w4SmHsw+lEepXJbCUNbKW0dVx 5wEKlona /PEeKzTeDrc54yawwW9e7xEtZhR0+WkwnBOBXy2gORWVGN53WLEm52IKVKzoSeKUFXY0m+V3Xhp/AChbV9t7V9TZ3VXnbAHH1gOC7LMlfW0ULAdPROFACIo3UmkzjcBwozWQmxu0c2mzs/haa5QlgHrvZ3vinFSKtUjAKMogimWGTRFE8jTMbwCpOkKTTedKh0tWn1Owz1B1+KegzkJ2euxCKsZWOBC7h61A+ekHtbHkIz24= 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 2024/4/15 16:12, Kefeng Wang wrote: > Both the file pages and anonymous pages support large folio, high-order > pages except HPAGE_PMD_ORDER(PMD_SHIFT - PAGE_SHIFT) will be allocated > frequently which will increase the zone lock contention, allow high-order > pages on pcp lists could alleviate the big zone lock contention, in order > to allows high-orders(PAGE_ALLOC_COSTLY_ORDER, HPAGE_PMD_ORDER) to be > stored on the per-cpu lists, similar with PMD_ORDER pages, more lists is > added in struct per_cpu_pages (one list each high-order pages), also a > new PCP_MAX_ORDER instead of HPAGE_PMD_ORDER is added in mmzone.h. > > But as commit 44042b449872 ("mm/page_alloc: allow high-order pages to be > stored on the per-cpu lists") pointed, it may not win in all the scenes, > so this don't allow higher-order pages to be added to PCP list, the next > will add a control to enable or disable it. > > The struct per_cpu_pages increases in size from 256(4 cache lines) to > 320 bytes (5 cache lines) on arm64 with defconfig. > > Signed-off-by: Kefeng Wang > --- > include/linux/mmzone.h | 4 +++- > mm/page_alloc.c | 10 +++++----- > 2 files changed, 8 insertions(+), 6 deletions(-) > > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h > index c11b7cde81ef..c745e2f1a0f2 100644 > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -657,11 +657,13 @@ enum zone_watermarks { > * failures. > */ > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -#define NR_PCP_THP 1 > +#define PCP_MAX_ORDER (PMD_SHIFT - PAGE_SHIFT) > +#define NR_PCP_THP (PCP_MAX_ORDER - PAGE_ALLOC_COSTLY_ORDER) > #else > #define NR_PCP_THP 0 > #endif > #define NR_LOWORDER_PCP_LISTS (MIGRATE_PCPTYPES * (PAGE_ALLOC_COSTLY_ORDER + 1)) > +#define HIGHORDER_PCP_LIST_INDEX (NR_LOWORDER_PCP_LISTS - (PAGE_ALLOC_COSTLY_ORDER + 1)) Thanks for starting the discussion. I am concerned that mixing mTHPs of different migratetypes in a single pcp list might lead to fragmentation issues, potentially causing unmovable mTHPs to occupy movable pageblocks, which would reduce compaction efficiency. But also not sure if it is suitable to add more pcp lists, maybe we can just add the most commonly used mTHP as a start, for example: 64K?