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 2717CC25B74 for ; Tue, 21 May 2024 14:14:17 +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-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=4NdhxwoxBKtVHtTU/r73/zt06XYQOwP1hmPNyKBWrBw=; b=QbkTE5CaP6LXbo LABMzaKi8JR6R8J4Z4qERsCLq1dFldy1FmxzlSLC1RdKZNiTRJzvP9NHgrYnCMTAqkr32m7N+hBg4 XXkaSJmxSIMPVpeEbXr8T8CQJhHQMxtsTUBYF+AbMsZSL/ezVdB00jfOuy7ojioqYS08zFykx/ASR UOzwcIoV6Di0G/3e3RJGwgYTbUnowHhxrJambJRdH/EPUxe0YY/u1kKtE6S6iD+D+SWV8N9YCI8Cx njxLbkh/Y00PSbolVR7R16z/ce1AdmdYHszQOIMt2TWxmjnBb9bIaAJOqn+TzxgUeKcTUrL/8RBl6 EbfiYV7Me/U7DDxeBvTA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s9QFi-00000000816-03sc; Tue, 21 May 2024 14:14:06 +0000 Received: from sin.source.kernel.org ([2604:1380:40e1:4800::1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s9QFf-000000007zE-0q9G for linux-riscv@lists.infradead.org; Tue, 21 May 2024 14:14:04 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 42794CE0F93; Tue, 21 May 2024 14:14:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 09770C2BD11; Tue, 21 May 2024 14:13:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1716300840; bh=IfBzG6Jslwq80j1PaUKC/nbk7dw2f5dLPW+Dn8TzDk4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=rDdLV31M/Rnssi32k8I78G80H12gj4bfX7j9DaXPEN1aX9BUsimWeZ3+kOnXz4pfR KQthzpqNHet08+kfxxXHnZeMmeKBMbvK1UQpJukKPcYVOKTUE6xasKg+9d3p8/MaAh qqcoqfuEt0DTPChsVyUvpCpLlnZBSWbAFQKsLWtXGaYOopGv5mnPuPiULVt90bwASL 8y0h+7Ann3k0lAFjAhqmVCAcWb879VbULQ0qQ2LqMezYPJIwWtlCSEw+3Ify3QQ1Lh nDZjCDP/b3nGxujpdhnSLcI/76WZC0/20AtQ3lCE5861wlb213399eLa/lrT0ly4Lb Q9qh9GAbQp5rQ== From: =?utf-8?B?QmrDtnJuIFTDtnBlbA==?= To: Alexandre Ghiti Subject: Re: [PATCH v3 9/9] riscv: mm: Add support for ZONE_DEVICE In-Reply-To: References: <20240521114830.841660-1-bjorn@kernel.org> <20240521114830.841660-10-bjorn@kernel.org> Date: Tue, 21 May 2024 16:13:57 +0200 Message-ID: <87pltfdzh6.fsf@all.your.base.are.belong.to.us> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240521_071403_643360_7BA2BB5E X-CRM114-Status: GOOD ( 14.16 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Albert Ou , Lorenzo Stoakes , Chethan Seshadri , David Hildenbrand , linux-kernel@vger.kernel.org, Andrew Bresticker , =?utf-8?B?QmrDtnJuIFTDtnBlbA==?= , Santosh Mamila , linux-mm@kvack.org, Sivakumar Munnangi , Palmer Dabbelt , Paul Walmsley , linux-riscv@lists.infradead.org, virtualization@lists.linux-foundation.org, Oscar Salvador Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org QWxleGFuZHJlIEdoaXRpIDxhbGV4Z2hpdGlAcml2b3NpbmMuY29tPiB3cml0ZXM6Cgo+IE9uIFR1 ZSwgTWF5IDIxLCAyMDI0IGF0IDE6NDnigK9QTSBCasO2cm4gVMO2cGVsIDxiam9ybkBrZXJuZWwu b3JnPiB3cm90ZToKPj4KPj4gRnJvbTogQmrDtnJuIFTDtnBlbCA8Ympvcm5Acml2b3NpbmMuY29t Pgo+Pgo+PiBaT05FX0RFVklDRSBwYWdlcyBuZWVkIERFVk1BUCBQVEVzIHN1cHBvcnQgdG8gZnVu Y3Rpb24KPj4gKEFSQ0hfSEFTX1BURV9ERVZNQVApLiBDbGFpbSBhbm90aGVyIFJTVyAocmVzZXJ2 ZWQgZm9yIHNvZnR3YXJlKSBiaXQKPj4gaW4gdGhlIFBURSBmb3IgREVWTUFQIG1hcmssIGFkZCB0 aGUgY29ycmVzcG9uZGluZyBoZWxwZXJzLCBhbmQgZW5hYmxlCj4+IEFSQ0hfSEFTX1BURV9ERVZN QVAgZm9yIHJpc2N2NjQuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEJqw7ZybiBUw7ZwZWwgPGJqb3Ju QHJpdm9zaW5jLmNvbT4KPj4gLS0tCj4+ICBhcmNoL3Jpc2N2L0tjb25maWcgICAgICAgICAgICAg ICAgICAgIHwgIDEgKwo+PiAgYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wZ3RhYmxlLTY0LmggICB8 IDIwICsrKysrKysrKysrKysrKysrKysrCj4+ICBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFi bGUtYml0cy5oIHwgIDEgKwo+PiAgYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAg ICB8IDE3ICsrKysrKysrKysrKysrKysrCj4+ICA0IGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlv bnMoKykKPj4KPj4gZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvS2NvbmZpZyBiL2FyY2gvcmlzY3Yv S2NvbmZpZwo+PiBpbmRleCAyNzI0ZGMyYWYyOWYuLjBiNzQ2OThjNjNjNyAxMDA2NDQKPj4gLS0t IGEvYXJjaC9yaXNjdi9LY29uZmlnCj4+ICsrKyBiL2FyY2gvcmlzY3YvS2NvbmZpZwo+PiBAQCAt MzYsNiArMzYsNyBAQCBjb25maWcgUklTQ1YKPj4gICAgICAgICBzZWxlY3QgQVJDSF9IQVNfTk9O X09WRVJMQVBQSU5HX0FERFJFU1NfU1BBQ0UKPj4gICAgICAgICBzZWxlY3QgQVJDSF9IQVNfUE1F TV9BUEkKPj4gICAgICAgICBzZWxlY3QgQVJDSF9IQVNfUFJFUEFSRV9TWU5DX0NPUkVfQ01ECj4+ ICsgICAgICAgc2VsZWN0IEFSQ0hfSEFTX1BURV9ERVZNQVAgaWYgNjRCSVQgJiYgTU1VCj4+ICAg ICAgICAgc2VsZWN0IEFSQ0hfSEFTX1BURV9TUEVDSUFMCj4+ICAgICAgICAgc2VsZWN0IEFSQ0hf SEFTX1NFVF9ESVJFQ1RfTUFQIGlmIE1NVQo+PiAgICAgICAgIHNlbGVjdCBBUkNIX0hBU19TRVRf TUVNT1JZIGlmIE1NVQo+PiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wZ3Rh YmxlLTY0LmggYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUtNjQuaAo+PiBpbmRleCAy MjFhNWMxZWUyODcuLmM2N2E5YmJmZDAxMCAxMDA2NDQKPj4gLS0tIGEvYXJjaC9yaXNjdi9pbmNs dWRlL2FzbS9wZ3RhYmxlLTY0LmgKPj4gKysrIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wZ3Rh YmxlLTY0LmgKPj4gQEAgLTQwMCw0ICs0MDAsMjQgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgcGFn ZSAqcGdkX3BhZ2UocGdkX3QgcGdkKQo+PiAgI2RlZmluZSBwNGRfb2Zmc2V0IHA0ZF9vZmZzZXQK Pj4gIHA0ZF90ICpwNGRfb2Zmc2V0KHBnZF90ICpwZ2QsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcyk7 Cj4+Cj4+ICsjaWZkZWYgQ09ORklHX1RSQU5TUEFSRU5UX0hVR0VQQUdFCj4+ICtzdGF0aWMgaW5s aW5lIGludCBwdGVfZGV2bWFwKHB0ZV90IHB0ZSk7Cj4+ICtzdGF0aWMgaW5saW5lIHB0ZV90IHBt ZF9wdGUocG1kX3QgcG1kKTsKPj4gKwo+PiArc3RhdGljIGlubGluZSBpbnQgcG1kX2Rldm1hcChw bWRfdCBwbWQpCj4+ICt7Cj4+ICsgICAgICAgcmV0dXJuIHB0ZV9kZXZtYXAocG1kX3B0ZShwbWQp KTsKPj4gK30KPj4gKwo+PiArc3RhdGljIGlubGluZSBpbnQgcHVkX2Rldm1hcChwdWRfdCBwdWQp Cj4+ICt7Cj4+ICsgICAgICAgcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBpbmxpbmUg aW50IHBnZF9kZXZtYXAocGdkX3QgcGdkKQo+PiArewo+PiArICAgICAgIHJldHVybiAwOwo+PiAr fQo+PiArI2VuZGlmCj4+ICsKPj4gICNlbmRpZiAvKiBfQVNNX1JJU0NWX1BHVEFCTEVfNjRfSCAq Lwo+PiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wZ3RhYmxlLWJpdHMuaCBi L2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJsZS1iaXRzLmgKPj4gaW5kZXggMTc5YmQ0YWZl Y2U0Li5hOGY1MjA1Y2VhNTQgMTAwNjQ0Cj4+IC0tLSBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20v cGd0YWJsZS1iaXRzLmgKPj4gKysrIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wZ3RhYmxlLWJp dHMuaAo+PiBAQCAtMTksNiArMTksNyBAQAo+PiAgI2RlZmluZSBfUEFHRV9TT0ZUICAgICAgKDMg PDwgOCkgICAgLyogUmVzZXJ2ZWQgZm9yIHNvZnR3YXJlICovCj4+Cj4+ICAjZGVmaW5lIF9QQUdF X1NQRUNJQUwgICAoMSA8PCA4KSAgICAvKiBSU1c6IDB4MSAqLwo+PiArI2RlZmluZSBfUEFHRV9E RVZNQVAgICAgKDEgPDwgOSkgICAgLyogUlNXLCBkZXZtYXAgKi8KPj4gICNkZWZpbmUgX1BBR0Vf VEFCTEUgICAgIF9QQUdFX1BSRVNFTlQKPj4KPj4gIC8qCj4+IGRpZmYgLS1naXQgYS9hcmNoL3Jp c2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaCBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJs ZS5oCj4+IGluZGV4IDc5MzNmNDkzZGI3MS4uMDJmYWRjMjc2MDY0IDEwMDY0NAo+PiAtLS0gYS9h cmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaAo+PiArKysgYi9hcmNoL3Jpc2N2L2luY2x1 ZGUvYXNtL3BndGFibGUuaAo+PiBAQCAtMzg3LDYgKzM4NywxMyBAQCBzdGF0aWMgaW5saW5lIGlu dCBwdGVfc3BlY2lhbChwdGVfdCBwdGUpCj4+ICAgICAgICAgcmV0dXJuIHB0ZV92YWwocHRlKSAm IF9QQUdFX1NQRUNJQUw7Cj4+ICB9Cj4+Cj4+ICsjaWZkZWYgQ09ORklHX0FSQ0hfSEFTX1BURV9E RVZNQVAKPj4gK3N0YXRpYyBpbmxpbmUgaW50IHB0ZV9kZXZtYXAocHRlX3QgcHRlKQo+PiArewo+ PiArICAgICAgIHJldHVybiBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9ERVZNQVA7Cj4+ICt9Cj4+ICsj ZW5kaWYKPgo+IE5vdCBzdXJlIHlvdSBuZWVkIHRoZSAjaWZkZWYgaGVyZS4KClcvbyBpdCAzMmIg YnVpbGRzIGJyZWFrICghZGVmaW5lZChDT05GSUdfQVJDSF9IQVNfUFRFX0RFVk1BUCkgd2lsbCBo YXZlCmEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbikuLiBNYXliZSBpdCdzIGNsZWFuZXIganVzdCB0 byB1c2UgdGhhdCBpbnN0ZWFkPwoKPj4gKwo+PiAgLyogc3RhdGljIGlubGluZSBwdGVfdCBwdGVf cmRwcm90ZWN0KHB0ZV90IHB0ZSkgKi8KPj4KPj4gIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX3dy cHJvdGVjdChwdGVfdCBwdGUpCj4+IEBAIC00MjgsNiArNDM1LDExIEBAIHN0YXRpYyBpbmxpbmUg cHRlX3QgcHRlX21rc3BlY2lhbChwdGVfdCBwdGUpCj4+ICAgICAgICAgcmV0dXJuIF9fcHRlKHB0 ZV92YWwocHRlKSB8IF9QQUdFX1NQRUNJQUwpOwo+PiAgfQo+Pgo+PiArc3RhdGljIGlubGluZSBw dGVfdCBwdGVfbWtkZXZtYXAocHRlX3QgcHRlKQo+PiArewo+PiArICAgICAgIHJldHVybiBfX3B0 ZShwdGVfdmFsKHB0ZSkgfCBfUEFHRV9ERVZNQVApOwo+PiArfQo+PiArCj4+ICBzdGF0aWMgaW5s aW5lIHB0ZV90IHB0ZV9ta2h1Z2UocHRlX3QgcHRlKQo+PiAgewo+PiAgICAgICAgIHJldHVybiBw dGU7Cj4+IEBAIC03MTEsNiArNzIzLDExIEBAIHN0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21rZGly dHkocG1kX3QgcG1kKQo+PiAgICAgICAgIHJldHVybiBwdGVfcG1kKHB0ZV9ta2RpcnR5KHBtZF9w dGUocG1kKSkpOwo+PiAgfQo+Pgo+PiArc3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWtkZXZtYXAo cG1kX3QgcG1kKQo+PiArewo+PiArICAgICAgIHJldHVybiBwdGVfcG1kKHB0ZV9ta2Rldm1hcChw bWRfcHRlKHBtZCkpKTsKPj4gK30KPj4gKwo+PiAgc3RhdGljIGlubGluZSB2b2lkIHNldF9wbWRf YXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKPj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwbWRfdCAqcG1kcCwgcG1kX3QgcG1kKQo+PiAgewo+PiAt LQo+PiAyLjQwLjEKPj4KPgo+IE90aGVyd2lzZSwgeW91IGNhbiBhZGQ6Cj4KPiBSZXZpZXdlZC1i eTogQWxleGFuZHJlIEdoaXRpIDxhbGV4Z2hpdGlAcml2b3NpbmMuY29tPgoKVGhhbmsgeW91IQoK CkJqw7ZybgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtcmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 52E7280024 for ; Tue, 21 May 2024 14:14:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.211.166.133 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716300846; cv=none; b=JMu0gHlbOL4ntdPAyv3/qun9gzIF9oeROme8PfkkHwg+hx6hkEesaXyhn26B+NYVb6tku1WYyFTzwOCXU2srRIhRXa7fWVIhEydhhWoC4aJf7B6qXQmPX3Id5CXnS8z7f971mmu+PdA28b5phFqHcfVStQgCrC0LbVxu7o3WWTY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716300846; c=relaxed/simple; bh=IfBzG6Jslwq80j1PaUKC/nbk7dw2f5dLPW+Dn8TzDk4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=IS65q4YOiWiPoEC0ahiHhbHJyV/aw2tEBmwbfSFY+3ULPrCxBe9CFfEutKskVO49sILN5v7FM+pXbAaZeG882uM929y6Qr/uvdRlqbWPtZ4YklEkYnBt6lELadey4hXP7hLvf+8aq2TiI/ikLbNklwSomB1OEuRnNwVijt5WH1Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rDdLV31M; arc=none smtp.client-ip=140.211.166.133 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rDdLV31M" Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id F010A40B7B for ; Tue, 21 May 2024 14:14:04 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org X-Spam-Flag: NO X-Spam-Score: -4.401 X-Spam-Level: Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id lGJnasv_GptC for ; Tue, 21 May 2024 14:14:04 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=145.40.73.55; helo=sin.source.kernel.org; envelope-from=bjorn@kernel.org; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp2.osuosl.org CAD4E40B2D Authentication-Results: smtp2.osuosl.org; dmarc=pass (p=none dis=none) header.from=kernel.org DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org CAD4E40B2D Authentication-Results: smtp2.osuosl.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=rDdLV31M Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by smtp2.osuosl.org (Postfix) with ESMTPS id CAD4E40B2D for ; Tue, 21 May 2024 14:14:03 +0000 (UTC) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 42794CE0F93; Tue, 21 May 2024 14:14:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 09770C2BD11; Tue, 21 May 2024 14:13:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1716300840; bh=IfBzG6Jslwq80j1PaUKC/nbk7dw2f5dLPW+Dn8TzDk4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=rDdLV31M/Rnssi32k8I78G80H12gj4bfX7j9DaXPEN1aX9BUsimWeZ3+kOnXz4pfR KQthzpqNHet08+kfxxXHnZeMmeKBMbvK1UQpJukKPcYVOKTUE6xasKg+9d3p8/MaAh qqcoqfuEt0DTPChsVyUvpCpLlnZBSWbAFQKsLWtXGaYOopGv5mnPuPiULVt90bwASL 8y0h+7Ann3k0lAFjAhqmVCAcWb879VbULQ0qQ2LqMezYPJIwWtlCSEw+3Ify3QQ1Lh nDZjCDP/b3nGxujpdhnSLcI/76WZC0/20AtQ3lCE5861wlb213399eLa/lrT0ly4Lb Q9qh9GAbQp5rQ== From: =?utf-8?B?QmrDtnJuIFTDtnBlbA==?= To: Alexandre Ghiti Cc: Albert Ou , David Hildenbrand , Palmer Dabbelt , Paul Walmsley , linux-riscv@lists.infradead.org, Oscar Salvador , =?utf-8?B?QmrDtnJuIFTDtnBlbA==?= , Andrew Bresticker , Chethan Seshadri , Lorenzo Stoakes , Santosh Mamila , Sivakumar Munnangi , Sunil V L , linux-kernel@vger.kernel.org, linux-mm@kvack.org, virtualization@lists.linux-foundation.org Subject: Re: [PATCH v3 9/9] riscv: mm: Add support for ZONE_DEVICE In-Reply-To: References: <20240521114830.841660-1-bjorn@kernel.org> <20240521114830.841660-10-bjorn@kernel.org> Date: Tue, 21 May 2024 16:13:57 +0200 Message-ID: <87pltfdzh6.fsf@all.your.base.are.belong.to.us> Precedence: bulk X-Mailing-List: virtualization@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Alexandre Ghiti writes: > On Tue, May 21, 2024 at 1:49=E2=80=AFPM Bj=C3=B6rn T=C3=B6pel wrote: >> >> From: Bj=C3=B6rn T=C3=B6pel >> >> ZONE_DEVICE pages need DEVMAP PTEs support to function >> (ARCH_HAS_PTE_DEVMAP). Claim another RSW (reserved for software) bit >> in the PTE for DEVMAP mark, add the corresponding helpers, and enable >> ARCH_HAS_PTE_DEVMAP for riscv64. >> >> Signed-off-by: Bj=C3=B6rn T=C3=B6pel >> --- >> arch/riscv/Kconfig | 1 + >> arch/riscv/include/asm/pgtable-64.h | 20 ++++++++++++++++++++ >> arch/riscv/include/asm/pgtable-bits.h | 1 + >> arch/riscv/include/asm/pgtable.h | 17 +++++++++++++++++ >> 4 files changed, 39 insertions(+) >> >> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig >> index 2724dc2af29f..0b74698c63c7 100644 >> --- a/arch/riscv/Kconfig >> +++ b/arch/riscv/Kconfig >> @@ -36,6 +36,7 @@ config RISCV >> select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE >> select ARCH_HAS_PMEM_API >> select ARCH_HAS_PREPARE_SYNC_CORE_CMD >> + select ARCH_HAS_PTE_DEVMAP if 64BIT && MMU >> select ARCH_HAS_PTE_SPECIAL >> select ARCH_HAS_SET_DIRECT_MAP if MMU >> select ARCH_HAS_SET_MEMORY if MMU >> diff --git a/arch/riscv/include/asm/pgtable-64.h b/arch/riscv/include/as= m/pgtable-64.h >> index 221a5c1ee287..c67a9bbfd010 100644 >> --- a/arch/riscv/include/asm/pgtable-64.h >> +++ b/arch/riscv/include/asm/pgtable-64.h >> @@ -400,4 +400,24 @@ static inline struct page *pgd_page(pgd_t pgd) >> #define p4d_offset p4d_offset >> p4d_t *p4d_offset(pgd_t *pgd, unsigned long address); >> >> +#ifdef CONFIG_TRANSPARENT_HUGEPAGE >> +static inline int pte_devmap(pte_t pte); >> +static inline pte_t pmd_pte(pmd_t pmd); >> + >> +static inline int pmd_devmap(pmd_t pmd) >> +{ >> + return pte_devmap(pmd_pte(pmd)); >> +} >> + >> +static inline int pud_devmap(pud_t pud) >> +{ >> + return 0; >> +} >> + >> +static inline int pgd_devmap(pgd_t pgd) >> +{ >> + return 0; >> +} >> +#endif >> + >> #endif /* _ASM_RISCV_PGTABLE_64_H */ >> diff --git a/arch/riscv/include/asm/pgtable-bits.h b/arch/riscv/include/= asm/pgtable-bits.h >> index 179bd4afece4..a8f5205cea54 100644 >> --- a/arch/riscv/include/asm/pgtable-bits.h >> +++ b/arch/riscv/include/asm/pgtable-bits.h >> @@ -19,6 +19,7 @@ >> #define _PAGE_SOFT (3 << 8) /* Reserved for software */ >> >> #define _PAGE_SPECIAL (1 << 8) /* RSW: 0x1 */ >> +#define _PAGE_DEVMAP (1 << 9) /* RSW, devmap */ >> #define _PAGE_TABLE _PAGE_PRESENT >> >> /* >> diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/p= gtable.h >> index 7933f493db71..02fadc276064 100644 >> --- a/arch/riscv/include/asm/pgtable.h >> +++ b/arch/riscv/include/asm/pgtable.h >> @@ -387,6 +387,13 @@ static inline int pte_special(pte_t pte) >> return pte_val(pte) & _PAGE_SPECIAL; >> } >> >> +#ifdef CONFIG_ARCH_HAS_PTE_DEVMAP >> +static inline int pte_devmap(pte_t pte) >> +{ >> + return pte_val(pte) & _PAGE_DEVMAP; >> +} >> +#endif > > Not sure you need the #ifdef here. W/o it 32b builds break (!defined(CONFIG_ARCH_HAS_PTE_DEVMAP) will have a default implementation).. Maybe it's cleaner just to use that instead? >> + >> /* static inline pte_t pte_rdprotect(pte_t pte) */ >> >> static inline pte_t pte_wrprotect(pte_t pte) >> @@ -428,6 +435,11 @@ static inline pte_t pte_mkspecial(pte_t pte) >> return __pte(pte_val(pte) | _PAGE_SPECIAL); >> } >> >> +static inline pte_t pte_mkdevmap(pte_t pte) >> +{ >> + return __pte(pte_val(pte) | _PAGE_DEVMAP); >> +} >> + >> static inline pte_t pte_mkhuge(pte_t pte) >> { >> return pte; >> @@ -711,6 +723,11 @@ static inline pmd_t pmd_mkdirty(pmd_t pmd) >> return pte_pmd(pte_mkdirty(pmd_pte(pmd))); >> } >> >> +static inline pmd_t pmd_mkdevmap(pmd_t pmd) >> +{ >> + return pte_pmd(pte_mkdevmap(pmd_pte(pmd))); >> +} >> + >> static inline void set_pmd_at(struct mm_struct *mm, unsigned long addr, >> pmd_t *pmdp, pmd_t pmd) >> { >> -- >> 2.40.1 >> > > Otherwise, you can add: > > Reviewed-by: Alexandre Ghiti Thank you! Bj=C3=B6rn