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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 883E2C001DE for ; Fri, 4 Aug 2023 20:23:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:Subject:From:References:Cc:To: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=EfeKQOY+WXv9QiJeK/pcS+yZFbRe2gtArW3yLVRGI8Y=; b=4UmBkJS5NjazDf 83inUSHRwU0nyftSpgdXl0fKUSP4oPFTD1HSzdUTwYNI065+KsUhib8s2rU4kNtPQud14bKPMaBa1 XbUu9hPwtNGtl90pHZJC/grgqrXuSW+zgb9bEqbp8M9XWrAERMaMmY64GfuzqYqd1AQHqaPTbM7bQ +EonHJXBbvjdvi09PNe7/jpKFJb8md/8X9ugsLn96YKt7C9jG5KPSyJ0xuawI3Gdav9kbfb0CpM1n TIImxBY3Ub9NX8UbHCGwYS/hYhdaL6mcAzPBrqPueQPek1xvu5byUpY1BiAoaop0wk50uvlAvR0wM a1QFwZWEiegDfxtEjdHA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qS1KQ-00DC44-1P; Fri, 04 Aug 2023 20:23:18 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qS1KN-00DC2l-19 for linux-arm-kernel@lists.infradead.org; Fri, 04 Aug 2023 20:23:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1691180593; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=y11/jKE/Y+r4Ey+bFkNTByS5XH4DmYEZ91NmgNSiG6M=; b=Nk30peaub6ADSexDRRl6fLguyQyJUxddZwqexA1TKJv9kLg4G0o45p2c9+Rar9mi0gEwQ6 CJQlAoOaNCC/90hHt9GNY88T5uoJNN/ZHiQvs3UtzD4IBiRpEIu1eMNIScAR3MJzqqeX0j hLqcj5KPVaP/ZLGC8wuWbADYBcfYkzE= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-78-rf5UdFgzMqqfqQQv9md23Q-1; Fri, 04 Aug 2023 16:23:10 -0400 X-MC-Unique: rf5UdFgzMqqfqQQv9md23Q-1 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-3fd2d33fd93so15309945e9.0 for ; Fri, 04 Aug 2023 13:23:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691180589; x=1691785389; h=content-transfer-encoding:in-reply-to:subject:organization:from :references:cc:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=y11/jKE/Y+r4Ey+bFkNTByS5XH4DmYEZ91NmgNSiG6M=; b=iOeamF93zIDtmdjn4715S2290a01a7SezziH0lAHVYO5bn+so5t3nap7Bb+eysqxFy n/E4aqSQkOkZRiyTJeKmqZIBGTbi0lynGh72mGTCfs/vk5fZXPD1YyP/dXMjBBXX3Dd3 HMFzdkTUiX+dxLOG8GxfOzYwMkR7JSDkShFqADiTDPpX+2xHYARjLEpGA34A8NqVgJXz MfgBbXSQN3P0LtFEBz1XQZlsDOHxP2uWswOtu4Lz/sxBVLH7SnjWudSx7oWxbCMFwq/X nW6Oplwqdft9uUKXuWpWg9RXUwQ0MuJik5ceetXa1/E/rpt+XC7X1CkepsUK9iI4uFWH UF6A== X-Gm-Message-State: AOJu0Ywfr1YEsZOyh12yiDHc8gMNzWNcMkC9yP3e5HF6w/udf4d3hKR+ TvSddk1qz3VojQIAYX6I9TQXs0MOHq12PJDt/mZeeIjoJ5lPzXWvLjDBPwGKrBdjaVruKqmTcZB 0/jtzIbjyDQeygSL8CSBi2ymy3+JOLue2uAY= X-Received: by 2002:a1c:720c:0:b0:3fe:2109:b9ff with SMTP id n12-20020a1c720c000000b003fe2109b9ffmr2278828wmc.0.1691180589247; Fri, 04 Aug 2023 13:23:09 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEcLaqOE4uL10dBf9sFH6dAln4IvD2xNfizWqjenKVHLJi2n9LrW/QZUctWwJw6e1wUP1vkpQ== X-Received: by 2002:a1c:720c:0:b0:3fe:2109:b9ff with SMTP id n12-20020a1c720c000000b003fe2109b9ffmr2278809wmc.0.1691180588789; Fri, 04 Aug 2023 13:23:08 -0700 (PDT) Received: from ?IPV6:2003:d8:2f2d:8e00:a20e:59bc:3c13:4806? (p200300d82f2d8e00a20e59bc3c134806.dip0.t-ipconnect.de. [2003:d8:2f2d:8e00:a20e:59bc:3c13:4806]) by smtp.gmail.com with ESMTPSA id m18-20020a7bca52000000b003fe1e3937aesm3150434wml.20.2023.08.04.13.23.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 04 Aug 2023 13:23:08 -0700 (PDT) Message-ID: Date: Fri, 4 Aug 2023 22:23:07 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 To: Ryan Roberts , Yu Zhao Cc: Andrew Morton , Matthew Wilcox , Yin Fengwei , Catalin Marinas , Will Deacon , Anshuman Khandual , Yang Shi , "Huang, Ying" , Zi Yan , Luis Chamberlain , Itaru Kitayama , "Kirill A. Shutemov" , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <20230726095146.2826796-1-ryan.roberts@arm.com> <20230726095146.2826796-3-ryan.roberts@arm.com> <5e595904-3dca-0e15-0769-7ed10975fd0d@arm.com> From: David Hildenbrand Organization: Red Hat Subject: Re: [PATCH v4 2/5] mm: LARGE_ANON_FOLIO for improved performance In-Reply-To: <5e595904-3dca-0e15-0769-7ed10975fd0d@arm.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230804_132315_464745_8DE33502 X-CRM114-Status: GOOD ( 33.05 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMDQuMDguMjMgMTA6MjcsIFJ5YW4gUm9iZXJ0cyB3cm90ZToKPiBPbiAwNC8wOC8yMDIzIDAw OjUwLCBZdSBaaGFvIHdyb3RlOgo+PiBPbiBUaHUsIEF1ZyAzLCAyMDIzIGF0IDY6NDPigK9BTSBS eWFuIFJvYmVydHMgPHJ5YW4ucm9iZXJ0c0Bhcm0uY29tPiB3cm90ZToKPj4+Cj4+PiArIEtpcmls bAo+Pj4KPj4+IE9uIDI2LzA3LzIwMjMgMTA6NTEsIFJ5YW4gUm9iZXJ0cyB3cm90ZToKPj4+PiBJ bnRyb2R1Y2UgTEFSR0VfQU5PTl9GT0xJTyBmZWF0dXJlLCB3aGljaCBhbGxvd3MgYW5vbnltb3Vz IG1lbW9yeSB0byBiZQo+Pj4+IGFsbG9jYXRlZCBpbiBsYXJnZSBmb2xpb3Mgb2YgYSBkZXRlcm1p bmVkIG9yZGVyLiBBbGwgcGFnZXMgb2YgdGhlIGxhcmdlCj4+Pj4gZm9saW8gYXJlIHB0ZS1tYXBw ZWQgZHVyaW5nIHRoZSBzYW1lIHBhZ2UgZmF1bHQsIHNpZ25pZmljYW50bHkgcmVkdWNpbmcKPj4+ PiB0aGUgbnVtYmVyIG9mIHBhZ2UgZmF1bHRzLiBUaGUgbnVtYmVyIG9mIHBlci1wYWdlIG9wZXJh dGlvbnMgKGUuZy4gcmVmCj4+Pj4gY291bnRpbmcsIHJtYXAgbWFuYWdlbWVudCBscnUgbGlzdCBt YW5hZ2VtZW50KSBhcmUgYWxzbyBzaWduaWZpY2FudGx5Cj4+Pj4gcmVkdWNlZCBzaW5jZSB0aG9z ZSBvcHMgbm93IGJlY29tZSBwZXItZm9saW8uCj4+Pj4KPj4+PiBUaGUgbmV3IGJlaGF2aW91ciBp cyBoaWRkZW4gYmVoaW5kIHRoZSBuZXcgTEFSR0VfQU5PTl9GT0xJTyBLY29uZmlnLAo+Pj4+IHdo aWNoIGRlZmF1bHRzIHRvIGRpc2FibGVkIGZvciBub3c7IFRoZSBsb25nIHRlcm0gYWltIGlzIGZv ciB0aGlzIHRvCj4+Pj4gZGVmYXV0IHRvIGVuYWJsZWQsIGJ1dCB0aGVyZSBhcmUgc29tZSByaXNr cyBhcm91bmQgaW50ZXJuYWwKPj4+PiBmcmFnbWVudGF0aW9uIHRoYXQgbmVlZCB0byBiZSBiZXR0 ZXIgdW5kZXJzdG9vZCBmaXJzdC4KPj4+Pgo+Pj4+IFdoZW4gZW5hYmxlZCwgdGhlIGZvbGlvIG9y ZGVyIGlzIGRldGVybWluZWQgYXMgc3VjaDogRm9yIGEgdm1hLCBwcm9jZXNzCj4+Pj4gb3Igc3lz dGVtIHRoYXQgaGFzIGV4cGxpY2l0bHkgZGlzYWJsZWQgVEhQLCB3ZSBjb250aW51ZSB0byBhbGxv Y2F0ZQo+Pj4+IG9yZGVyLTAuIFRIUCBpcyBtb3N0IGxpa2VseSBkaXNhYmxlZCB0byBhdm9pZCBh bnkgcG9zc2libGUgaW50ZXJuYWwKPj4+PiBmcmFnbWVudGF0aW9uIHNvIHdlIGhvbm91ciB0aGF0 IHJlcXVlc3QuCj4+Pj4KPj4+PiBPdGhlcndpc2UsIHRoZSByZXR1cm4gdmFsdWUgb2YgYXJjaF93 YW50c19wdGVfb3JkZXIoKSBpcyB1c2VkLiBGb3Igdm1hcwo+Pj4+IHRoYXQgaGF2ZSBub3QgZXhw bGljaXRseSBvcHRlZC1pbiB0byB1c2UgdHJhbnNwYXJlbnQgaHVnZXBhZ2VzIChlLmcuCj4+Pj4g d2hlcmUgdGhwPW1hZHZpc2UgYW5kIHRoZSB2bWEgZG9lcyBub3QgaGF2ZSBNQURWX0hVR0VQQUdF KSwgdGhlbgo+Pj4+IGFyY2hfd2FudHNfcHRlX29yZGVyKCkgaXMgbGltaXRlZCB0byA2NEsgKG9y IFBBR0VfU0laRSwgd2hpY2hldmVyIGlzCj4+Pj4gYmlnZ2VyKS4gVGhpcyBhbGxvd3MgZm9yIGEg cGVyZm9ybWFuY2UgYm9vc3Qgd2l0aG91dCByZXF1aXJpbmcgYW55Cj4+Pj4gZXhwbGljaXQgb3B0 LWluIGZyb20gdGhlIHdvcmtsb2FkIHdoaWxlIGxpbWl0dGluZyBpbnRlcm5hbAo+Pj4+IGZyYWdt ZW50YXRpb24uCj4+Pj4KPj4+PiBJZiB0aGUgcHJlZmVycmVkIG9yZGVyIGNhbid0IGJlIHVzZWQg KGUuZy4gYmVjYXVzZSB0aGUgZm9saW8gd291bGQKPj4+PiBicmVhY2ggdGhlIGJvdW5kcyBvZiB0 aGUgdm1hLCBvciBiZWNhdXNlIHB0ZXMgaW4gdGhlIHJlZ2lvbiBhcmUgYWxyZWFkeQo+Pj4+IG1h cHBlZCkgdGhlbiB3ZSBmYWxsIGJhY2sgdG8gYSBzdWl0YWJsZSBsb3dlciBvcmRlcjsgZmlyc3QK Pj4+PiBQQUdFX0FMTE9DX0NPU1RMWV9PUkRFUiwgdGhlbiBvcmRlci0wLgo+Pj4+Cj4+Pgo+Pj4g Li4uCj4+Pgo+Pj4+ICsjZGVmaW5lIEFOT05fRk9MSU9fTUFYX09SREVSX1VOSElOVEVEIFwKPj4+ PiArICAgICAgICAgICAgIChpbG9nMihtYXhfdCh1bnNpZ25lZCBsb25nLCBTWl82NEssIFBBR0Vf U0laRSkpIC0gUEFHRV9TSElGVCkKPj4+PiArCj4+Pj4gK3N0YXRpYyBpbnQgYW5vbl9mb2xpb19v cmRlcihzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKPj4+PiArewo+Pj4+ICsgICAgIGludCBv cmRlcjsKPj4+PiArCj4+Pj4gKyAgICAgLyoKPj4+PiArICAgICAgKiBJZiBUSFAgaXMgZXhwbGlj aXRseSBkaXNhYmxlZCBmb3IgZWl0aGVyIHRoZSB2bWEsIHRoZSBwcm9jZXNzIG9yIHRoZQo+Pj4+ ICsgICAgICAqIHN5c3RlbSwgdGhlbiB0aGlzIGlzIHZlcnkgbGlrZWx5IGludGVuZGVkIHRvIGxp bWl0IGludGVybmFsCj4+Pj4gKyAgICAgICogZnJhZ21lbnRhdGlvbjsgaW4gdGhpcyBjYXNlLCBk b24ndCBhdHRlbXB0IHRvIGFsbG9jYXRlIGEgbGFyZ2UKPj4+PiArICAgICAgKiBhbm9ueW1vdXMg Zm9saW8uCj4+Pj4gKyAgICAgICoKPj4+PiArICAgICAgKiBFbHNlLCBpZiB0aGUgdm1hIGlzIGVs aWdpYmxlIGZvciB0aHAsIGFsbG9jYXRlIGEgbGFyZ2UgZm9saW8gb2YgdGhlCj4+Pj4gKyAgICAg ICogc2l6ZSBwcmVmZXJyZWQgYnkgdGhlIGFyY2guIE9yIGlmIHRoZSBhcmNoIHJlcXVlc3RlZCBh IHZlcnkgc21hbGwKPj4+PiArICAgICAgKiBzaXplIG9yIGRpZG4ndCByZXF1ZXN0IGEgc2l6ZSwg dGhlbiB1c2UgUEFHRV9BTExPQ19DT1NUTFlfT1JERVIsCj4+Pj4gKyAgICAgICogd2hpY2ggc3Rp bGwgbWVldHMgdGhlIGFyY2gncyByZXF1aXJlbWVudHMgYnV0IG1lYW5zIHdlIHN0aWxsIHRha2UK Pj4+PiArICAgICAgKiBhZHZhbnRhZ2Ugb2YgU1cgb3B0aW1pemF0aW9ucyAoZS5nLiBmZXdlciBw YWdlIGZhdWx0cykuCj4+Pj4gKyAgICAgICoKPj4+PiArICAgICAgKiBGaW5hbGx5IGlmIHRocCBp cyBlbmFibGVkIGJ1dCB0aGUgdm1hIGlzbid0IGVsaWdpYmxlLCB0YWtlIHRoZQo+Pj4+ICsgICAg ICAqIGFyY2gtcHJlZmVycmVkIHNpemUgYW5kIGxpbWl0IGl0IHRvIEFOT05fRk9MSU9fTUFYX09S REVSX1VOSElOVEVELgo+Pj4+ICsgICAgICAqIFRoaXMgZW5zdXJlcyB3b3JrbG9hZHMgdGhhdCBo YXZlIG5vdCBleHBsaWNpdGx5IG9wdGVkLWluIHRha2UgYmVuZWZpdAo+Pj4+ICsgICAgICAqIHdo aWxlIGNhcHBpbmcgdGhlIHBvdGVudGlhbCBmb3IgaW50ZXJuYWwgZnJhZ21lbnRhdGlvbi4KPj4+ PiArICAgICAgKi8KPj4+PiArCj4+Pj4gKyAgICAgaWYgKCh2bWEtPnZtX2ZsYWdzICYgVk1fTk9I VUdFUEFHRSkgfHwKPj4+PiArICAgICAgICAgdGVzdF9iaXQoTU1GX0RJU0FCTEVfVEhQLCAmdm1h LT52bV9tbS0+ZmxhZ3MpIHx8Cj4+Pj4gKyAgICAgICAgICFodWdlcGFnZV9mbGFnc19lbmFibGVk KCkpCj4+Pj4gKyAgICAgICAgICAgICBvcmRlciA9IDA7Cj4+Pj4gKyAgICAgZWxzZSB7Cj4+Pj4g KyAgICAgICAgICAgICBvcmRlciA9IG1heChhcmNoX3dhbnRzX3B0ZV9vcmRlcigpLCBQQUdFX0FM TE9DX0NPU1RMWV9PUkRFUik7Cj4+Pj4gKwo+Pj4+ICsgICAgICAgICAgICAgaWYgKCFodWdlcGFn ZV92bWFfY2hlY2sodm1hLCB2bWEtPnZtX2ZsYWdzLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSkpCj4+Pj4g KyAgICAgICAgICAgICAgICAgICAgIG9yZGVyID0gbWluKG9yZGVyLCBBTk9OX0ZPTElPX01BWF9P UkRFUl9VTkhJTlRFRCk7Cj4+Pj4gKyAgICAgfQo+Pj4+ICsKPj4+PiArICAgICByZXR1cm4gb3Jk ZXI7Cj4+Pj4gK30KPj4+Cj4+Pgo+Pj4gSGkgQWxsLAo+Pj4KPj4+IEknbSB3cml0aW5nIHVwIHRo ZSBjb25jbHVzaW9ucyB0aGF0IHdlIGFycml2ZWQgYXQgZHVyaW5nIGRpc2N1c3Npb24gaW4gdGhl IFRIUAo+Pj4gbWVldGluZyB5ZXN0ZXJkYXksIHJlZ2FyZGluZyBsaW5rYWdlIHdpdGggZXhpdGlu ZyBUSFAgQUJJcy4gSXQgd291bGQgYmUgZ3JlYXQgaWYKPj4+IEkgY2FuIGdldCBleHBsaWNpdCAi YWdyZWUiIG9yIGRpc2FncmVlICsgcmF0aW9uYWxlIGZyb20gYXQgbGVhc3QgRGF2aWQsIFl1IGFu ZAo+Pj4gS2lyaWxsLgo+Pj4KPj4+IEluIHN1bW1hcnk7IEkgdGhpbmsgd2UgYXJlIGNvbnZlcmdp bmcgb24gdGhlIGFwcHJvYWNoIHRoYXQgaXMgYWxyZWFkeSBjb2RlZCwgYnV0Cj4+PiBJJ2QgbGlr ZSBjb25maXJtYXRpb24uCj4+Pgo+Pj4KPj4+Cj4+PiBUaGUgVEhQIHNpdHVhdGlvbiB0b2RheQo+ Pj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4+Cj4+PiAgIC0gQXQgc3lzdGVtIGxldmVsOiBU SFAgY2FuIGJlIHNldCB0byAibmV2ZXIiLCAibWFkdmlzZSIgb3IgImFsd2F5cyIKPj4+ICAgLSBB dCBwcm9jZXNzIGxldmVsOiBUSFAgY2FuIGJlICJuZXZlciIgb3IgImRlZmVyIHRvIHN5c3RlbSBz ZXR0aW5nIgo+Pj4gICAtIEF0IFZNQSBsZXZlbDogbm8taGludCwgTUFEVl9IVUdFUEFHRSwgTUFE Vl9OT0hVR0VQQUdFCj4+Pgo+Pj4gVGhhdCBnaXZlcyB1cyB0aGlzIHRhYmxlIHRvIGRlc2NyaWJl IGhvdyBhIHBhZ2UgZmF1bHQgaXMgaGFuZGxlZCwgYWNjb3JkaW5nIHRvCj4+PiBwcm9jZXNzIHN0 YXRlIChjb2x1bW5zKSBhbmQgdm1hIGZsYWdzIChyb3dzKToKPj4+Cj4+PiAgICAgICAgICAgICAg ICAgIHwgbmV2ZXIgICAgIHwgbWFkdmlzZSAgIHwgYWx3YXlzCj4+PiAtLS0tLS0tLS0tLS0tLS0t fC0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tCj4+PiBubyBoaW50ICAgICAgICAg fCBTICAgICAgICAgfCBTICAgICAgICAgfCBUSFA+Uwo+Pj4gTUFEVl9IVUdFUEFHRSAgIHwgUyAg ICAgICAgIHwgVEhQPlMgICAgIHwgVEhQPlMKPj4+IE1BRFZfTk9IVUdFUEFHRSB8IFMgICAgICAg ICB8IFMgICAgICAgICB8IFMKPj4+Cj4+PiBMZWdlbmQ6Cj4+PiBTICAgICAgIGFsbG9jYXRlIHNp bmdsZSBwYWdlIChQVEUtbWFwcGVkKQo+Pj4gTEFGICAgICBhbGxvY2F0ZSBsYWdlIGFub24gZm9s aW8gKFBURS1tYXBwZWQpCj4+PiBUSFAgICAgIGFsbG9jYXRlIFRIUC1zaXplZCBmb2xpbyAoUE1E LW1hcHBlZCkKPj4+PiAgICAgICAgZmFsbGJhY2sgKHVzdWFsbHkgYmVjYXVzZSB2bWEgc2l6ZS9h bGlnbm1lbnQgaW5zdWZmaWNpZW50IGZvciBmb2xpbykKPj4+Cj4+Pgo+Pj4KPj4+IFByaW5jaXBs ZXMgZm9yIExhcmdlIEFub24gRm9saW9zIChMQUYpCj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQo+Pj4KPj4+IERhdmlkIHRlbGxzIHVzIHRoZXJlIGFyZSB1c2UgY2Fz ZXMgdG9kYXkgKGUuZy4gcWVtdSBsaXZlIG1pZ3JhdGlvbikgd2hpY2ggdXNlCj4+PiBNQURWX05P SFVHRVBBR0UgdG8gbWVhbiAiZG9uJ3QgZmlsbCBhbnkgUFRFcyB0aGF0IGFyZSBub3QgZXhwbGlj aXRseSBmYXVsdGVkIgo+Pj4gYW5kIHRoZXNlIHVzZSBjYXNlcyB3aWxsIGJyZWFrIChpLmUuIGZ1 bmN0aW9uYWxseSBpbmNvcnJlY3QpIGlmIHRoaXMgcmVxdWVzdCBpcwo+Pj4gbm90IGhvbm91cmVk Lgo+Pgo+PiBJIGRvbid0IHJlbWVtYmVyIERhdmlkIHNheWluZyB0aGlzLiBJIHRoaW5rIGhlIHdh cyByZWZlcnJpbmcgdG8gVUZGRCwKPj4gbm90IE1BRFZfTk9IVUdFUEFHRSwgd2hlbiBkaXNjdXNz aW5nIHdoYXQgd2UgbmVlZCB0byBhYnNvbHV0ZWx5Cj4+IHJlc3BlY3QuCj4gCj4gTXkgdW5kZXJz dGFuZGluZyB3YXMgdGhhdCBNQURWX05PSFVHRVBBR0Ugd2FzIGJlaW5nIGFwcGxpZWQgdG8gcmVn aW9ucyAqYmVmb3JlKgo+IFVGRkQgd2FzIGJlaW5nIHJlZ2lzdGVyZWQsIGFuZCB0aGUgYXBwIHJl bGllZCBvbiBNQURWX05PSFVHRVBBR0UgdG8gbm90IGJhY2sgYW55Cj4gdW5mYXVsdGVkIHBhZ2Vz LiBJdCdzIG5vdCBjb21wbGV0ZWx5IGNsZWFyIHRvIG1lIGhvdyBub3QgaG9ub3VyaW5nCj4gTUFE Vl9OT0hVR0VQQUdFIHdvdWxkIGJyZWFrIHRoaW5ncyB0aG91Z2guIERhdmlkPwoKU29ycnksIEkn bSBzdGlsbCBsYWdnaW5nIGJlaGluZCBvbiBzb21lIHRocmVhZHMuCgpJbWFnaW5lIHRoZSBmb2xs b3dpbmcgZm9yIFZNIHBvc3Rjb3B5IGxpdmUgbWlncmF0aW9uOgoKKDEpIFNldCBNQURWX05PSFVH RVBBR0Ugb24gZ3Vlc3QgbWVtb3J5IGFuZCBkaXNjYXJkIGFsbCBtZW1vcnkgKGUuZy4sCiAgICAg TUFEVl9ET05UTkVFRCksIHRvIHN0YXJ0IHdpdGggYSBjbGVhbiBzbGF0ZS4KKDIpIE1pZ3JhdGVz IHNvbWUgcGFnZXMgZHVyaW5nIHByZWNvcHkgZnJvbSB0aGUgc291cmNlIGFuZCBzdG9yZXMgdGhl bQogICAgIGludG8gZ3Vlc3QgbWVtb3J5IG9uIHRoZSBkZXN0aW5hdGlvbi4gU29tZSBvZiB0aGUg bWVtb3J5IGxvY2F0aW9ucwogICAgIHdpbGwgaGF2ZSBwYWdlcyBwb3B1bGF0ZWQuCigzKSBBdCBz b21lIHBvaW50LCBkZWNpZGUgdG8gZW5hYmxlIHBvc3Rjb3B5OiBlbmFibGUgdXNlcmZhdWx0ZmQg b24KICAgICBndWVzdCBtZW1vcnkuCig0KSBEaXNjYXJkICpzZWxlY3RlZCogcGFnZXMgYWdhaW4g dGhhdCBoYXZlIGJlZW4gZGlydGllZCBpbiB0aGUKICAgICBtZWFudGltZSBvbiB0aGUgc291cmNl LiBUaGVzZSBhcmUgcGFnZXMgdGhhdCBoYXZlIGJlZW4gbWlncmF0ZWQKICAgICBwcmV2aW91c2x5 LgooNSkgU3RhcnQgcnVubmluZyB0aGUgVk0gb24gdGhlIGRlc3RpbmF0aW9uLgooNikgQW55dGhp bmcgdGhhdCdzIG5vdCBwb3B1bGF0ZWQgd2lsbCB0cmlnZ2VyIHVzZXJmYXVsdGZkIG1pc3NpbmcK ICAgICBmYXVsdHMuIFRoZW4sIHlvdSBjYW4gcmVxdWVzdCB0aGVtIGZyb20gdGhlIHNvdXJjZSBh bmQgcGxhY2UgdGhlbS4KCkFzc3VtZSB5b3Ugd291bGQgcG9wdWxhdGUgbW9yZSB0aGFuIHJlcXVp cmVkIGR1cmluZyAyKSwgeW91IGNhbiBlbmQgdXAgCm5vdCBnZXR0aW5nIHVzZXJmYXVsdGZkIGZh dWx0cyBkdXJpbmcgNCkgYW5kIGNvcnJ1cHQgeW91ciBndWVzdCBzdGF0ZS4gCkl0IHdvcmtzIGlm IGR1cmluZyAoMikgeW91IG1pZ3JhdGVkIGFsbCBndWVzdCBtZW1vcnksIG9yIGlmIGR1cmluZyA0 KSAKeW91IHphcCBldmVyeXRoaW5nIHRoYXQgc3RpbGwgbmVlZHMgbWlncmF0aW9uLgoKQWNjb3Jk aW5nIHRvIHRoZSBtYW4gcGFnZToKCiAgIE1BRFZfTk9IVUdFUEFHRSAoc2luY2UgTGludXggMi42 LjM4KTogRW5zdXJlcyB0aGF0IG1lbW9yeSBpbiB0aGUKICAgYWRkcmVzcyByYW5nZSBzcGVjaWZp ZWQgYnkgYWRkciBhbmQgbGVuZ3RoIHdpbGwgbm90IGJlIGJhY2tlZCBieQogICB0cmFuc3BhcmVu dCBodWdlcGFnZXMuCgpUbyBtZSwgdGhhdCBpbmNsdWRlcyBhbnkgb3RoZXIgcGFnZSBzaXplIHRo YXQgaXMgZGlmZmVyZW50IHRvIHRoZSBiYXNlIApwYWdlIHNpemUgKGdldHBhZ2VzaXplKCkpIGFu ZCwgdGhlcmVmb3JlLCB0aGUgdHJhZGl0aW9uYWwgc3lzdGVtIGJlaGF2aW9yLgoKRXZlbiBpZiB3 ZSBlbmQgdXAgY2FsbGluZyB0aGVzZSAidHJhbnNwYXJlbnQgaHVnZSBwYWdlcyBvZiBkaWZmZXJl bnQgCnNpemUiIGRpZmZlcmVudGx5IGFuZCBldmVudHVhbGx5IGhhbmRsZSB0aGVtIHNsaWdodGx5 IGRpZmZlcmVudGx5LgoKQnV0IEkgY2FuIHNlZSB3aHkgcGVvcGxlIHdhbnQgdG8gdHJ5IGZpbmRp bmcgd2F5cyBhcm91bmQgd2h5ICJuZXZlciIgCnNob3VsZCBub3QgbWVhbiAibmV2ZXIiIHdoZW4g d2UgY29tZSB1cCB3aXRoIGEgbmV3IHNoaW55IG5hbWUgZm9yIAoidHJhbnNwYXJlbnQgaHVnZSBw YWdlcyBvZiBkaWZmZXJlbnQgc2l6ZSIuCgpOb3QgdGhhdCBpdCBtYWtlcyBhbnl0aGluZyBjbGVh cmVyIG9yIGVhc2llciBpZiB3ZSBjYWxsIDIgTWlCIHBhZ2VzIG9uIAp4ODYgVEhQIGFuZCAxIE1p QiBwYWdlcyBUTFAgKFRyYW5zcGFyZW50IExhcmdlIFBhZ2VzID8pLCB3aGVyZWJ5IDEgTWlCIApw YWdlcyBvbiBzMzkweCBhcmUgVEhQIC4uLiBmb3Igc3VyZSB3ZSBjYW4gY29tZSB1cCB3aXRoIG5l dyBuYW1lcyBmb3IgCm5ldyBzaXplcyBhbmQgY2F1c2UgbW9yZSBjb25mdXNpb24uCgpNb3N0IHBy b2JhYmx5IHdlIHdhbnQgdG8gY2xhcmlmeSBpbiB0aGUgZG9jcyB3aGF0IGEgdHJhbnNwYXJlbnQg aHVnZSAKcGFnZSBpcyBhbmQgd2hhdCB0aGVzZSB0b2dnbGVzIGRvLgoKLS0gCkNoZWVycywKCkRh dmlkIC8gZGhpbGRlbmIKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1hcm0ta2VybmVsCg== 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 909BEC001DE for ; Fri, 4 Aug 2023 20:23:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AF9B38D0001; Fri, 4 Aug 2023 16:23:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA9F76B0072; Fri, 4 Aug 2023 16:23:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 949CD8D0001; Fri, 4 Aug 2023 16:23:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 82CA26B0071 for ; Fri, 4 Aug 2023 16:23:18 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 237101A1322 for ; Fri, 4 Aug 2023 20:23:18 +0000 (UTC) X-FDA: 81087546876.23.A889D9C Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf14.hostedemail.com (Postfix) with ESMTP id 4754A100011 for ; Fri, 4 Aug 2023 20:23:14 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Nk30peau; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf14.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1691180595; 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=y11/jKE/Y+r4Ey+bFkNTByS5XH4DmYEZ91NmgNSiG6M=; b=w4nUPsKmTmjzCX25cbDrL4oApMGSsTHOM60599iu55z5o9YvMyk5Yrsb96r9/PN9GjcOpY aHkMtjTQFv4EhVAlNjgpIkIQxJe/G1nePEnk9NXlyHeCRPJgLEIh22NfACtB8WaC8Nld76 U1gODYZeMVXj094ygsWgtlVKL6LRW8g= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Nk30peau; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf14.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691180595; a=rsa-sha256; cv=none; b=Gw/ewGEw0ElTbmNwuY5Xthogc4nqiUOP/07Ky16sVPi8hgT8eBM7Jh9IN9IjCdXmGeYd3W pXueYpwZ/VVfXRc60sVLSQak2sAdtVQbAS1taG528ANULBU8xALUchwG5OB0iFUg++yuIx Ns1Xib1muS5Pxf6ukZk0MpUoVpRz3YM= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1691180593; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=y11/jKE/Y+r4Ey+bFkNTByS5XH4DmYEZ91NmgNSiG6M=; b=Nk30peaub6ADSexDRRl6fLguyQyJUxddZwqexA1TKJv9kLg4G0o45p2c9+Rar9mi0gEwQ6 CJQlAoOaNCC/90hHt9GNY88T5uoJNN/ZHiQvs3UtzD4IBiRpEIu1eMNIScAR3MJzqqeX0j hLqcj5KPVaP/ZLGC8wuWbADYBcfYkzE= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-371-fcRB72YcN62nEZiCiitUMg-1; Fri, 04 Aug 2023 16:23:10 -0400 X-MC-Unique: fcRB72YcN62nEZiCiitUMg-1 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-3fe2fc65f1fso15199235e9.3 for ; Fri, 04 Aug 2023 13:23:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691180589; x=1691785389; h=content-transfer-encoding:in-reply-to:subject:organization:from :references:cc:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=y11/jKE/Y+r4Ey+bFkNTByS5XH4DmYEZ91NmgNSiG6M=; b=krXnflZXAZ0JF7e6gvJzcoEXPTR+623bJQKEEHjHGI16FTx4CRfeA9/FvUChip5Rpb 7vbWs2fIksquBcaqN1nCEuKaFMGSLjL+S4TdG+tRh5x/6ejyZaSVBS4VX+xft7kutH92 8FPtw3p9Zxc8VnTgVrl2C8uZRn8PONJYkTLxfFukbo+/Ha273z5pv3no+IVRLlRitXOK dRtgcY/vxKiyPlVty/+suA/gOOhtccoGftmdiVzZUK22V+zQDM5ztL5AnK42qhby/Ani a09DzTlQbsenzYoaCJqJdVZkgYhawcUFRXIBvr5//Pp0DFi68QBP4UOmkSZUAxO6iMXZ 5fjg== X-Gm-Message-State: AOJu0Yy9MupQJ1NJsFuCwMWWjM76sUBd2EJ3D2FwMvnVVbZHEm+VEZ/t Nne1EChx2PXj38vEIew1QvLj9OgtLo9/CTfWgqAUOes7f8VK5HjwXvZOdPt8TASIiQU8d1yOpbW x15GA54ZLSKg= X-Received: by 2002:a1c:720c:0:b0:3fe:2109:b9ff with SMTP id n12-20020a1c720c000000b003fe2109b9ffmr2278825wmc.0.1691180589247; Fri, 04 Aug 2023 13:23:09 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEcLaqOE4uL10dBf9sFH6dAln4IvD2xNfizWqjenKVHLJi2n9LrW/QZUctWwJw6e1wUP1vkpQ== X-Received: by 2002:a1c:720c:0:b0:3fe:2109:b9ff with SMTP id n12-20020a1c720c000000b003fe2109b9ffmr2278809wmc.0.1691180588789; Fri, 04 Aug 2023 13:23:08 -0700 (PDT) Received: from ?IPV6:2003:d8:2f2d:8e00:a20e:59bc:3c13:4806? (p200300d82f2d8e00a20e59bc3c134806.dip0.t-ipconnect.de. [2003:d8:2f2d:8e00:a20e:59bc:3c13:4806]) by smtp.gmail.com with ESMTPSA id m18-20020a7bca52000000b003fe1e3937aesm3150434wml.20.2023.08.04.13.23.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 04 Aug 2023 13:23:08 -0700 (PDT) Message-ID: Date: Fri, 4 Aug 2023 22:23:07 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 To: Ryan Roberts , Yu Zhao Cc: Andrew Morton , Matthew Wilcox , Yin Fengwei , Catalin Marinas , Will Deacon , Anshuman Khandual , Yang Shi , "Huang, Ying" , Zi Yan , Luis Chamberlain , Itaru Kitayama , "Kirill A. Shutemov" , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <20230726095146.2826796-1-ryan.roberts@arm.com> <20230726095146.2826796-3-ryan.roberts@arm.com> <5e595904-3dca-0e15-0769-7ed10975fd0d@arm.com> From: David Hildenbrand Organization: Red Hat Subject: Re: [PATCH v4 2/5] mm: LARGE_ANON_FOLIO for improved performance In-Reply-To: <5e595904-3dca-0e15-0769-7ed10975fd0d@arm.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 4754A100011 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: yd4wefka5ka3jbdi1c5qx7969543secs X-HE-Tag: 1691180594-185892 X-HE-Meta: U2FsdGVkX1/6drO+F2EWDRXMj8OpgZiVuXnZXwvjQNFJNSJEJ3GYJVlKkMSB4XY5ah+43vdKPVgCBLtTuKEsmRJMl7NiILyGsoqvtyxDJyJC8K08xCPNKhumsAlQlW+f1vCJ7xsPz2emGV0MQv88lltV1j87+o6vaDlRdV2WNHl0mcQcNdBp/8KJqdHLNJkhT//bRQ5bF+Qp0PXua9L9cUu+RcuSQ4woGJAntbVQbjj3rET0ZFeBN0+LQLn0e9YGgYPdL7b6QTOPPgQkdPl2gfpNyMCNDC+TtW2/6znht/IkdN67G1vC5TvzlZ8d8MlnyRQgQp85xDS8TBJXLdavd82eYuyRECmkrb27yBgQXg62aYVP38Sb+nb+KV9euPPCYW+lBeHYFvYV74yRbqzjGFETE8UbHHIEXh1VqJ+tNj6frVC/wuSqZCmRGKL/Sm3Li7rg6c+OcPbYjRN1BlyV0FjSKy8RqGgzfXaF0wy5SuvTc7N+bTqS07z83S2DhOg+wNy/VkZ3mNJCnA/YHoUkf08xaiRNBPXgjrI3cUEHSQHzNtzppds13opwF0/v3tu5/xsvQek+cBDt8fBdAHYpoN3SlB52FBptO5XXCwcBK5EVmFcKGY5nqE2NmQUQJrG2u8FwG4/WC3ikwki5UpGRLmn0Gh4vspQeI+tdPSMtMIPpSdXv+Auju/SvEM+W7EFP6ObtyNPXJhY3xBHJ7M5RudmjJEP5Wv/Ez/APyc/fedPJst54D5NjDJBoyCkDQP5xKvaLjgI0bdVHci04sxiS6oHjixBXo2TDubWQM9I7h0Jjj+dVStjZ5Dejp7Mf4tLpV1vstmQlDTlIdE/s/ONkApfX0k+BeCKzDta4+mompC4Znu5Xn3nO4thynyPKNi3WjFDBALCsRPh7Vt2tVm2gR9VX4Ig0HkAsZ0dDFDyVUXNESe6LMHBMM+67yfWbBfgR5PlYTQbhggOwXdtDEvj esDdWfOz HFeI9QUtOOktNObzBPC8TmhCmbi8WfSxshqjoyWr2seOhOmo0J9pBXRkcqUTJRvGwgO8ofJ00oHpNBTnA4rB4gLkWILd4L1glSaP5edKBeAfCxAn4TcWnKTJMqcOD5Ji6ZYRPngz0wr02Q3NaWSqp99l8DzJ+RgxRCsVsIyTyhFshU6hHDwNi60xwIq0XwDruUBWbKsQrrxKknJBLmtMgiFoZUQVP8qg5i76naXA01ahDAX7olMhMNj8FJzGHuPsFfnP+W09PVXbC+A/2upC7j3SWiFKx8c5vNFUIOfUZX+mhlStc8y3SsBxcmXNDNhOznlFncRxCLCF5dLgjBzWHtvhup5eDqv3r6mrOZ9Bh8Cy6N6y4uLVjpORPrCdNoIKLOdsF0B//OR2qKG4NZHCWAGvl06FNNjGpo4msaZ97jCOtV5GYpAxRxfa3nd+lsL7ZN7eHA53g7ThotXR4wlQXG+I2VH5Dc/44GY7ED4E5xN6vMg7UucD11glFJlOpnD6QVSFdkFh32t1mTIbU0ITAbWLuRSzlmfdBecnhY7vz2EHVg3dcT7SCZMWi6A== 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 04.08.23 10:27, Ryan Roberts wrote: > On 04/08/2023 00:50, Yu Zhao wrote: >> On Thu, Aug 3, 2023 at 6:43 AM Ryan Roberts wrote: >>> >>> + Kirill >>> >>> On 26/07/2023 10:51, Ryan Roberts wrote: >>>> Introduce LARGE_ANON_FOLIO feature, which allows anonymous memory to be >>>> allocated in large folios of a determined order. All pages of the large >>>> folio are pte-mapped during the same page fault, significantly reducing >>>> the number of page faults. The number of per-page operations (e.g. ref >>>> counting, rmap management lru list management) are also significantly >>>> reduced since those ops now become per-folio. >>>> >>>> The new behaviour is hidden behind the new LARGE_ANON_FOLIO Kconfig, >>>> which defaults to disabled for now; The long term aim is for this to >>>> defaut to enabled, but there are some risks around internal >>>> fragmentation that need to be better understood first. >>>> >>>> When enabled, the folio order is determined as such: For a vma, process >>>> or system that has explicitly disabled THP, we continue to allocate >>>> order-0. THP is most likely disabled to avoid any possible internal >>>> fragmentation so we honour that request. >>>> >>>> Otherwise, the return value of arch_wants_pte_order() is used. For vmas >>>> that have not explicitly opted-in to use transparent hugepages (e.g. >>>> where thp=madvise and the vma does not have MADV_HUGEPAGE), then >>>> arch_wants_pte_order() is limited to 64K (or PAGE_SIZE, whichever is >>>> bigger). This allows for a performance boost without requiring any >>>> explicit opt-in from the workload while limitting internal >>>> fragmentation. >>>> >>>> If the preferred order can't be used (e.g. because the folio would >>>> breach the bounds of the vma, or because ptes in the region are already >>>> mapped) then we fall back to a suitable lower order; first >>>> PAGE_ALLOC_COSTLY_ORDER, then order-0. >>>> >>> >>> ... >>> >>>> +#define ANON_FOLIO_MAX_ORDER_UNHINTED \ >>>> + (ilog2(max_t(unsigned long, SZ_64K, PAGE_SIZE)) - PAGE_SHIFT) >>>> + >>>> +static int anon_folio_order(struct vm_area_struct *vma) >>>> +{ >>>> + int order; >>>> + >>>> + /* >>>> + * If THP is explicitly disabled for either the vma, the process or the >>>> + * system, then this is very likely intended to limit internal >>>> + * fragmentation; in this case, don't attempt to allocate a large >>>> + * anonymous folio. >>>> + * >>>> + * Else, if the vma is eligible for thp, allocate a large folio of the >>>> + * size preferred by the arch. Or if the arch requested a very small >>>> + * size or didn't request a size, then use PAGE_ALLOC_COSTLY_ORDER, >>>> + * which still meets the arch's requirements but means we still take >>>> + * advantage of SW optimizations (e.g. fewer page faults). >>>> + * >>>> + * Finally if thp is enabled but the vma isn't eligible, take the >>>> + * arch-preferred size and limit it to ANON_FOLIO_MAX_ORDER_UNHINTED. >>>> + * This ensures workloads that have not explicitly opted-in take benefit >>>> + * while capping the potential for internal fragmentation. >>>> + */ >>>> + >>>> + if ((vma->vm_flags & VM_NOHUGEPAGE) || >>>> + test_bit(MMF_DISABLE_THP, &vma->vm_mm->flags) || >>>> + !hugepage_flags_enabled()) >>>> + order = 0; >>>> + else { >>>> + order = max(arch_wants_pte_order(), PAGE_ALLOC_COSTLY_ORDER); >>>> + >>>> + if (!hugepage_vma_check(vma, vma->vm_flags, false, true, true)) >>>> + order = min(order, ANON_FOLIO_MAX_ORDER_UNHINTED); >>>> + } >>>> + >>>> + return order; >>>> +} >>> >>> >>> Hi All, >>> >>> I'm writing up the conclusions that we arrived at during discussion in the THP >>> meeting yesterday, regarding linkage with exiting THP ABIs. It would be great if >>> I can get explicit "agree" or disagree + rationale from at least David, Yu and >>> Kirill. >>> >>> In summary; I think we are converging on the approach that is already coded, but >>> I'd like confirmation. >>> >>> >>> >>> The THP situation today >>> ----------------------- >>> >>> - At system level: THP can be set to "never", "madvise" or "always" >>> - At process level: THP can be "never" or "defer to system setting" >>> - At VMA level: no-hint, MADV_HUGEPAGE, MADV_NOHUGEPAGE >>> >>> That gives us this table to describe how a page fault is handled, according to >>> process state (columns) and vma flags (rows): >>> >>> | never | madvise | always >>> ----------------|-----------|-----------|----------- >>> no hint | S | S | THP>S >>> MADV_HUGEPAGE | S | THP>S | THP>S >>> MADV_NOHUGEPAGE | S | S | S >>> >>> Legend: >>> S allocate single page (PTE-mapped) >>> LAF allocate lage anon folio (PTE-mapped) >>> THP allocate THP-sized folio (PMD-mapped) >>>> fallback (usually because vma size/alignment insufficient for folio) >>> >>> >>> >>> Principles for Large Anon Folios (LAF) >>> -------------------------------------- >>> >>> David tells us there are use cases today (e.g. qemu live migration) which use >>> MADV_NOHUGEPAGE to mean "don't fill any PTEs that are not explicitly faulted" >>> and these use cases will break (i.e. functionally incorrect) if this request is >>> not honoured. >> >> I don't remember David saying this. I think he was referring to UFFD, >> not MADV_NOHUGEPAGE, when discussing what we need to absolutely >> respect. > > My understanding was that MADV_NOHUGEPAGE was being applied to regions *before* > UFFD was being registered, and the app relied on MADV_NOHUGEPAGE to not back any > unfaulted pages. It's not completely clear to me how not honouring > MADV_NOHUGEPAGE would break things though. David? Sorry, I'm still lagging behind on some threads. Imagine the following for VM postcopy live migration: (1) Set MADV_NOHUGEPAGE on guest memory and discard all memory (e.g., MADV_DONTNEED), to start with a clean slate. (2) Migrates some pages during precopy from the source and stores them into guest memory on the destination. Some of the memory locations will have pages populated. (3) At some point, decide to enable postcopy: enable userfaultfd on guest memory. (4) Discard *selected* pages again that have been dirtied in the meantime on the source. These are pages that have been migrated previously. (5) Start running the VM on the destination. (6) Anything that's not populated will trigger userfaultfd missing faults. Then, you can request them from the source and place them. Assume you would populate more than required during 2), you can end up not getting userfaultfd faults during 4) and corrupt your guest state. It works if during (2) you migrated all guest memory, or if during 4) you zap everything that still needs migration. According to the man page: MADV_NOHUGEPAGE (since Linux 2.6.38): Ensures that memory in the address range specified by addr and length will not be backed by transparent hugepages. To me, that includes any other page size that is different to the base page size (getpagesize()) and, therefore, the traditional system behavior. Even if we end up calling these "transparent huge pages of different size" differently and eventually handle them slightly differently. But I can see why people want to try finding ways around why "never" should not mean "never" when we come up with a new shiny name for "transparent huge pages of different size". Not that it makes anything clearer or easier if we call 2 MiB pages on x86 THP and 1 MiB pages TLP (Transparent Large Pages ?), whereby 1 MiB pages on s390x are THP ... for sure we can come up with new names for new sizes and cause more confusion. Most probably we want to clarify in the docs what a transparent huge page is and what these toggles do. -- Cheers, David / dhildenb