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 214B7C282DE for ; Mon, 10 Mar 2025 05:52:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4B425280003; Mon, 10 Mar 2025 01:52:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4646A280001; Mon, 10 Mar 2025 01:52:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 30590280003; Mon, 10 Mar 2025 01:52:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 108F6280001 for ; Mon, 10 Mar 2025 01:52:46 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id B60CE80A68 for ; Mon, 10 Mar 2025 05:52:45 +0000 (UTC) X-FDA: 83204572290.08.9B1C138 Received: from esa10.hc1455-7.c3s2.iphmx.com (esa10.hc1455-7.c3s2.iphmx.com [139.138.36.225]) by imf24.hostedemail.com (Postfix) with ESMTP id 6FFD8180007 for ; Mon, 10 Mar 2025 05:52:43 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=fujitsu.com header.s=fj2 header.b=iReo26vo; dmarc=pass (policy=reject) header.from=fujitsu.com; spf=pass (imf24.hostedemail.com: domain of lizhijian@fujitsu.com designates 139.138.36.225 as permitted sender) smtp.mailfrom=lizhijian@fujitsu.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741585963; a=rsa-sha256; cv=none; b=5PR2LWRUJM3GZQHi4/0gav9FTejayIK/fIGpTNzJkwfiOYzbLLIUkOv6wg91DP5g1BucJa a5pvRIVlREpE0Ehr25nAmVO31vc08AU+OQhP3i/gcHPTNMaV2IugFd0jWOIx8BAc9giET1 oR7wZOGbK4HQyZk/v7Zey5B3DxnY1ts= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=fujitsu.com header.s=fj2 header.b=iReo26vo; dmarc=pass (policy=reject) header.from=fujitsu.com; spf=pass (imf24.hostedemail.com: domain of lizhijian@fujitsu.com designates 139.138.36.225 as permitted sender) smtp.mailfrom=lizhijian@fujitsu.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741585963; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=WlEnfXCio4T2SMS3CnVmJim8N6JYjpj2XsUwRReQj7A=; b=3cDmb6HXH5QMqgeuje03mfD6DEualcM23f5UP4XRKQk15r6fbydoV+IwZLwu2rnXiRrEZO 9sjqCvppwzVDp3jbicOCJWKegOxzvWZFBEylQ/AOC2/bCCdVrpEGSVq3LCXWGw6mTLK51F QQC2lki+xLlh8aF0rv0ooUjambZ1IN0= DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1741585963; x=1773121963; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=30E5IMpQV/S4fCBFeyBj9vI79x0xSB7Ba3yhoEn/Uao=; b=iReo26vom0OElJSCYKLIuC52QIoa7a2g1u0PVMMukuRTB3FPq1nLNiu/ ADNWMhbcDGqk/az5eWj2LvrGCwM9cGigqJBJDQf5pQRvdEs1gHtIJoRpu 1D8QQ0uBe8xHmSMQcd/N8FCz7+WF6rMOAVOwjS1YMFLR9HKcbw7SzemTT kFsMpvWVGnwInBvycEiCxY9WYU1x7T9O5N85bFhGw40lEljkc2xB85CfW 7195sjkYmhpK+FGZukE+E8l9JffdLeGDT6b5CZKjxPK0IcBM25eQc4EQ9 sW2B+UBZvp8VfYGMNGo754aUt6YeNRXmWqfA3K0Fdp3aH6ByJg0X9SrYz w==; X-CSE-ConnectionGUID: /pOI0OOvQ6OzZj1rGAyqsA== X-CSE-MsgGUID: bOaH+jzMR+6q4es4Zh0+PQ== X-IronPort-AV: E=McAfee;i="6700,10204,11368"; a="179877478" X-IronPort-AV: E=Sophos;i="6.14,235,1736780400"; d="scan'208";a="179877478" Received: from unknown (HELO oym-r3.gw.nic.fujitsu.com) ([210.162.30.91]) by esa10.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Mar 2025 14:52:41 +0900 Received: from oym-m3.gw.nic.fujitsu.com (oym-nat-oym-m3.gw.nic.fujitsu.com [192.168.87.60]) by oym-r3.gw.nic.fujitsu.com (Postfix) with ESMTP id 247BBC2260 for ; Mon, 10 Mar 2025 14:52:39 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by oym-m3.gw.nic.fujitsu.com (Postfix) with ESMTP id CF756D73A0 for ; Mon, 10 Mar 2025 14:52:38 +0900 (JST) Received: from FNSTPC.g08.fujitsu.local (unknown [10.167.135.44]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 2B72E1A0078; Mon, 10 Mar 2025 13:52:37 +0800 (CST) From: Li Zhijian To: Alison Schofield , terry.bowman@amd.com Cc: y-goto@fujitsu.com, nafonten@amd.com, david@redhat.com, nifan.cxl@gmail.com, linux-cxl@vger.kernel.org, dan.j.williams@intel.com, linux-mm@kvack.org, gourry@gourry.net Subject: Re: [PATCH v2 1/4] kernel/resource: Introduce managed SOFT RESERVED resources Date: Mon, 10 Mar 2025 13:52:34 +0800 Message-ID: <20250310055234.3704571-1-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 6FFD8180007 X-Rspamd-Server: rspam11 X-Stat-Signature: dma94y7m31n4zdwmd9kb8pcrygs8xcqj X-Rspam-User: X-HE-Tag: 1741585963-208786 X-HE-Meta: U2FsdGVkX1+flhrWmjeOdnCSGLIMz3Ap7fOZzuDgXkyMAA3l0WoXAPvuWxjVGGCTTsvnTzM22aKdreWlWx6s1T1wxJMsNksmKyN38oOgkZo+ayhaL9cEuWsBXHfljr8HYOfkOpaRinUZyWwnZFYkgBHSIRyCrN34XPX/QJy9BZ/ywdCDmHF+JoyK8AW+RJ5bFck2mCtFudlB4WfJb1xhsnCfOob+MJYKATwBbcu8JeFhbDdIF8+PM5pKNUjI1igsfVcapozL3O/PyqHSDMGLBnPdz2syXMoSveZFW6Jn+WCfqef8GzQ1LDVQPl6FVyMo+iPJSJf2VMDnFhMn0jcy6W/7WF0xSYeRyTOTHgYObug+Or4/iEJYgxs7PGRe3UrrxWNWVCoEd5NKhCoCi4XBRqu9VzzBNcbCK57LlYs8+NMRKlbSuuq24pb2d9tMZpJaEMr3FDquzFt1WFUAHbqWQTqGwCfGK0JOS35rZFAIevkrSQFPTx+fvivz8dqo/2pdCWDDYMzOXnEEzUBSzlINGpw9UIaX/YnW/KMdYWY2VqUfuNqVOCndTN7p37HxqTg6iEDoa2GbxdezRIrX6vChDeAfsIXnbtFtzSSK7aoIiCnhC2WLZWmOiqh9AB9GH8o71jkESovdM0++J3ghlAYbryWtltAiKTPiyD2t3Am7hgUpmvzLNWGlJHSd28hqBUoo9p0lO62UDhueUc9Pnx1XpWMIVSHWwn76Opxq8F9UkOryYamfvHwc4fPx9Pg/3qIqqoIPr+iSapjyg83zXNbke7hpzxgW3Uybj7ZrkqBybvc2bUcL8Wib7/mvmAfr+DXFoUNlJ2HXq5FtDrQeVA0ayLuuMcAkVzwgxnOv5V8ztO9VTz5iQxfo/M2isaHkFYRh5x4S9AOviRa1EoIWu1363+vIWiQtNWaSK97NaXwDjK1VNaCg1kZDkIvhy2yeMe+AZROfi5hwo37PQhzi4kB xnOBmoB3 r36fT/hI1LH2InZ+tkAKVDbd/cSiIa0MUIyOKeo7QBAMwVY68E4JIta9KiNp7fV9xAGylcfupkOZnRk1P1ywsY+zbvkRCMbLcfe/e8wy0nG4vbDQIoYG+s2yAb2K+gzFc9t7fUUVZqSoTRqrCD6Z24C6MpirnLAMGmGzfvRQrOvxK65998JShQ/QQu3lHYR+UGhS+LzqiGZt7R5eD+gecETpDvRM2wfIjVxnvz7xZawVy7SmmyNUlzFOTLhb/TQL3fePWQ6O8iuVqgnwOAd+WzqV0g+Q08DKKov5nDURqHbedfQ74+vIjLlkVYKuNjOhAki19YO5jZtptnW1gMSu2Jk81eWMR7bgx1d5FMzA9flUfAidql6P0xp+Zwrix9XDaVlQsX50NkqIu7lg= 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 Fri, Mar 07, 2025 at 05:56:25AM +0000, Zhijian Li (Fujitsu) wrote:=0D >> Hello Fontenot,=0D >> =0D >> I hope this email finds you well.=0D >> =0D >> Thank you very much for this patch. We've encountered the same issue in = our product,=0D >> and your patch works.=0D >> =0D >> We do hope this issue will be resolved in the upstream kernel soon.=0D >> =0D >=0D >snip=0D >=0D >> =0D >> =0D >> I noticed your earlier discussions about designing a new approach to sol= ve this problem,=0D >> which I'm pretty excited about. Do you have any idea when you might post= the updated=0D >> version? We'd love to help out with reviewing and testing..=0D >> =0D >> If you run into any roadblocks and need a hand, just let us know. we'd b= e delighted to help.=0D >> =0D >> As far as I know, this issue usually arises on Real CXL machines, but fo= r ease of testing=0D >> and validation, we modified QEMU to simulate the intersection of 'Soft R= eserved' and=0D >> the CXL region, which would aid in verification.=0D >=0D >Hi Zhijian,=0D >=0D >Wow - I want that! Can you share that QEMU branch? With QEMU cmdline too.= =0D >=0D =0D Hi Terry and Alison=0D =0D Well, it's a simple hack within the QEMU and seabios project. Their=0D modifications are as below:=0D =0D Note: the QEMU's modification exposed the CFMWs region instead of the CXL=0D memory region(that the Real CXL machine did)=0D =0D After the guest started, you could see the iomem tree:=0D =0D a90000000-1a8fffffff : CXL Window 0=0D a90000000-1a8fffffff : Soft Reserved=0D =0D =0D QEMU:=0D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D diff --git a/hw/i386/pc.c b/hw/i386/pc.c=0D index f199a8c7ad19..484ad7e5e632 100644=0D --- a/hw/i386/pc.c=0D +++ b/hw/i386/pc.c=0D @@ -963,6 +963,9 @@ void pc_memory_init(PCMachineState *pcms,=0D memory_region_init_io(&fw->mr, OBJECT(machine), &cfmws_ops= , fw,=0D "cxl-fixed-memory-region", fw->size)= ;=0D memory_region_add_subregion(system_memory, fw->base, &fw->= mr);=0D +#define E820_TYPE_SOFT_RESERVED 0xefffffff=0D + /* add special purpose memory */=0D + e820_add_entry(fw->mr.addr, fw->mr.size , E820_TYPE_SOFT_R= ESERVED);=0D cxl_fmw_base +=3D fw->size;=0D cxl_resv_end =3D cxl_fmw_base;=0D }=0D =0D =0D seabios=0D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D diff --git a/src/e820map.c b/src/e820map.c=0D index c761e5e98a75..9440039541a6 100644=0D --- a/src/e820map.c=0D +++ b/src/e820map.c=0D @@ -54,6 +54,7 @@ e820_type_name(u32 type)=0D case E820_ACPI: return "ACPI";=0D case E820_NVS: return "NVS";=0D case E820_UNUSABLE: return "UNUSABLE";=0D + case E820_TYPE_SOFT_RESERVED: return "Soft Reserved";=0D default: return "UNKNOWN";=0D }=0D }=0D diff --git a/src/e820map.h b/src/e820map.h=0D index 07ce16ec213f..dd416d5ba3df 100644=0D --- a/src/e820map.h=0D +++ b/src/e820map.h=0D @@ -8,6 +8,7 @@=0D #define E820_ACPI 3=0D #define E820_NVS 4=0D #define E820_UNUSABLE 5=0D +#define E820_TYPE_SOFT_RESERVED 0xefffffff=0D =0D struct e820entry {=0D u64 start;=0D diff --git a/src/fw/paravirt.c b/src/fw/paravirt.c=0D index e5d4eca0cb5a..38a9bfed04df 100644=0D --- a/src/fw/paravirt.c=0D +++ b/src/fw/paravirt.c=0D @@ -781,6 +781,12 @@ static int qemu_early_e820(void)=0D if (RamSizeOver4G < table.address + table.length - 0x10000= 0000LL)=0D RamSizeOver4G =3D table.address + table.length - 0x100= 000000LL;=0D }=0D + break;=0D + case E820_TYPE_SOFT_RESERVED:=0D + e820_add(table.address, table.length, table.type);=0D + dprintf(1, "qemu/e820: addr 0x%016llx len 0x%016llx [Sort rese= rved]\n",=0D + table.address, table.length);=0D + break;=0D }=0D }=0D =0D =0D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D QEMU comand line(nothing special to QEMU expect specifying your own bios):= =0D =0D /path/to/qemu <...args...> \=0D -machine type=3Dq35,cxl=3Don \=0D -bios /path/to/seabios/out/bios.bin \=0D -nographic \=0D -object memory-backend-ram,id=3Dvmem0,share=3Don,size=3D4G \=0D -device pxb-cxl,bus_nr=3D12,bus=3Dpcie.0,id=3Dcxl.1 \=0D -device cxl-rp,port=3D0,bus=3Dcxl.1,id=3Droot_port13,chassis=3D0,slot=3D2 \= =0D -device cxl-type3,bus=3Droot_port13,volatile-memdev=3Dvmem0,id=3Dcxl-vmem0 = \=0D -M cxl-fmw.0.targets.0=3Dcxl.1,cxl-fmw.0.size=3D64G=0D =0D =0D