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 63941C5478C for ; Tue, 5 Mar 2024 05:32:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A51296B007E; Tue, 5 Mar 2024 00:32:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A00FD6B0080; Tue, 5 Mar 2024 00:32:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8A10C6B0081; Tue, 5 Mar 2024 00:32:58 -0500 (EST) 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 7C0356B007E for ; Tue, 5 Mar 2024 00:32:58 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 41E131C0D46 for ; Tue, 5 Mar 2024 05:32:58 +0000 (UTC) X-FDA: 81861866436.12.5F59F42 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf24.hostedemail.com (Postfix) with ESMTP id DB2D6180014 for ; Tue, 5 Mar 2024 05:32:54 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="X4/NoKWE"; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf24.hostedemail.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709616775; 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=HWWOuJWiY6nWVWQ1HBiN7VvErIU6uQ/saocP5KrBWfk=; b=qC36N8KCWerZiYe90QxjIWqJjyRfhDLH7k4HElHXcgDBo/HqpOqHEOIJQuLay8AxQxnm1i v4VP2G6MCsBQ4Tc51iVOJEqKak/Ac0cpvGhSIVQjxTphminG7AqoVSkswRR7LVTL6O+uLb UjAlaLQeE5lrXQ9cioH2aUJCejv7vv4= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="X4/NoKWE"; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf24.hostedemail.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709616775; a=rsa-sha256; cv=none; b=aB3djtzUa9GhPQjCG/zCwZgBs4s7+tVkh8hWIjzOxbnv/e4wZf9jkb0eHYpcKiX4vrfcER d1JHyesJFO16mwWwD5BTVR3g6uF0Hn4KaJ2PVWp0fRy7EbuMIXcXPWp4KVtSkAH4HXi63L ENunZcnSdpUfif3owD/hqzKbu0OkG3k= Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 4255RMZg029134; Tue, 5 Mar 2024 05:30:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pp1; bh=HWWOuJWiY6nWVWQ1HBiN7VvErIU6uQ/saocP5KrBWfk=; b=X4/NoKWEtIfWzVmhzoUe0v2M5K+jYPEuU0MGzRAKEcyQRH3tU9zy3aQ95wQd8K1u+bdF aSlLBj9Utlbm8kF/gS764ICUZeAO5OV0Wj4/WNqSxHdqAVPVETpApopygIIO4RcIWe1F 3qBYPfiap3vMxUbYVLF7Q4TOt7V1hhayYlQYeDGhlTVk0nSh4kievp71uJkRJRIHH0bX vO+IqTlGAb3DNEaEuaa7GftXr6oWutGs/yp0VyBNMhPncQI/4VcFM66W/+NlyGCMs6AZ 8P8rQlVssvdbrWdB5s2tA3vp2/x4Jj6p/dzPSLq6VbkpQ1ULAVUzL9dTywS7JFVGICW6 FA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3wnw8ur231-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 05 Mar 2024 05:30:46 +0000 Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 4255SIqG031398; Tue, 5 Mar 2024 05:30:45 GMT Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3wnw8ur22r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 05 Mar 2024 05:30:45 +0000 Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 4253KPLr025381; Tue, 5 Mar 2024 05:30:45 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3wmetydkeb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 05 Mar 2024 05:30:45 +0000 Received: from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com [10.20.54.102]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 4255UfCP20578996 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 5 Mar 2024 05:30:43 GMT Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0871D20040; Tue, 5 Mar 2024 05:30:41 +0000 (GMT) Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2DAB420043; Tue, 5 Mar 2024 05:30:39 +0000 (GMT) Received: from [9.43.57.142] (unknown [9.43.57.142]) by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTP; Tue, 5 Mar 2024 05:30:38 +0000 (GMT) Message-ID: Date: Tue, 5 Mar 2024 11:00:37 +0530 User-Agent: Mozilla Thunderbird Subject: Re: CMA, memdescs and folios Content-Language: en-US To: Matthew Wilcox , Marek Szyprowski , Michal Nazarewicz , "Aneesh Kumar K.V" , Joonsoo Kim , "npiggin@gmail.com" Cc: Jianfeng Wang , linux-mm@kvack.org References: From: Aneesh Kumar K V In-Reply-To: Content-Type: text/plain; charset=UTF-8 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: BYr0JuQqE3N2iqcjvV0aWKsi81UQMfJM X-Proofpoint-ORIG-GUID: Fhqe4B7RR0d3g-qEWPF67rHCCvAi9--W Content-Transfer-Encoding: 7bit X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-05_02,2024-03-04_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 spamscore=0 phishscore=0 priorityscore=1501 adultscore=0 clxscore=1011 suspectscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2403050040 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: DB2D6180014 X-Stat-Signature: genyrt6mocwpf6nwm671g7d5sjzh3tiy X-HE-Tag: 1709616774-881887 X-HE-Meta: U2FsdGVkX1+ewxaJopMYKJnavzCgAwIA/qqCzwFHPi4AkyX4IvG9SGurjn2ULv2oGJRdZi85dzCRN/qlAxUFH1lLH1CQXCw8EkK2FQED2FkKrxC2z58UXTEVRrsTfCy4SKktYcaW5RTCig6AE+JpE7B3AmyU+8PiaU32DQPbkDBWDul6R4jEOwwDg+qoR2tB3LlxVA/6t5+UZ0cMkptbwgLkBEX9w50Qvo8x4zaab3pMmsYATZVLrSCLM5QHBOU68RpkOdSdV7RtJIAKOWWnv9kFRLk9KPI8fCKjjI1im5nPD/1ESHPn9WJguTM1hHBdw2QPb1o2S/Z97YXfslzKHw1S18L4I0AWf2GYRPNQPB1d26Uya4+UCNcAHY33H96UGFz06mdNe71MxQhcCLTUyM2CbvoQkI/AK08g6k+MSMVkz2M3KEHvTERZfVFr4dQsUkMT6Ky0+i9KpZC1+jItjAj2SlTRj73GkfJv5+sbOMvldWZx3qwGYm1X4LarDMpUJ7MjV3XYC0UKjXxxtTkxDBnskgL/JMqnchIfuMvbyyjkKZDS022XQrtRViXPli3ieLJMgDMbp5w5CvaxcCsshgE/9v+yvhe/v6SsXIB35KuIw8sFuGcUMWT4C2JNFLwV6YmnoLJauA3v8++88hvx5/PkZwafaE1iab11il1tScH1PwnbDAcx2U2qbf5BdHemnakM7C+8vgc+oAGPPDcDQTVWWsSrV0kyUqCuVy6B09fNoyPEBuc+neZE1g7QB5feJNJOFVfIREwA37q5gQVzO0/jOXpuM8EvsIeq+POglJy7+AjBnzk97MJ/EFR+vylRnOlUDmdN4qFz5eOrtsCG3W/3R7KvbJQMeDJ0KSAmcddOXjPF1cLDnLthd2TTuYlsyHBEVSFPp8QsXL5HrZ+AgGEwK7WphY4/JRNJ8LWETIQZKrkHv3+GGaAmlgeYjFhGjPcW8vci7a61zVYXXQA SXeRLDdR ZOAbWUhgR/fZ9IwG9OyfGSfofnxzfdYZyGLQH4VAzJCoH9g6gOwZ0ArcVrhcxmQqmcgds5a3WmuN0Fg9gP4VDbaavF/7uc6clQb3nGwrXC8JjuZ/nYcxt3Hyr4pYJL5EkTtLp/sexEJq9XLBlm12lj2bK4f8JSuMm75slJJr3d5wI2HP24KslsuFRWuhbCbMM8E89KlwJ/IIaqFrOg8JriWeN3YAYBub/1vWR 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 2/28/24 3:32 AM, Matthew Wilcox wrote: > It may be helpful to look at > > https://kernelnewbies.org/MatthewWilcox/Memdescs > > I don't yet have a plan for what CMA should look like in the memdesc > future. Partly I just don't know CMA very well. Some help would > be appreciated ... > > First, I'm pretty sure that cma allocations are freed as a single > unit; there's no intended support for "allocate 2000MB from CMA, free > 500MB-1500MB, use the first 500MB for one thing and the last 500MB for > something else". Right? > > Second, CMA doesn't actually grub around inside struct page itself, > so it has no dependencies on what struct page contains. Is that true? > > Third, I don't see where CMA manipulates the page refcount today. > Does it rely on somebody else setting the page refcount to 1 before > giving the pages to CMA? > isolate_freepages_range -> split_map_pages -> post_alloc_hook -> set_page_refcounted > Fourth, do users of CMA rely on pages being individually refcounted? > Is there a reason you've never implemented an equivalent to __GFP_COMP > before? for powerpc kvm hash page table usage (kvm_alloc_hpt_cma()/kvm_free_hpt_cma()) I guess we don't expect them to be individually refcounted. > > --- > > My strawman proposal is that, in a memdesc world, the individual pages > that are free within CMA get a type 0 subtype to make them readily > identifiable in memory dumps. At allocation time, the caller will pass > in a memdesc to manage the pages (and CMA will assign it to all the pages, > just like the BuddyAllocator will). > > As a step towards that, we can change CMA soon to return pages which have > a zero refcount. That should catch any users which rely on individual > refcounts.