From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: <nifan.cxl@gmail.com>
Cc: <qemu-devel@nongnu.org>, <linux-cxl@vger.kernel.org>,
<ira.weiny@intel.com>, <dan.j.williams@intel.com>,
<a.manzanares@samsung.com>, <dave@stgolabs.net>,
<nmtadam.samsung@gmail.com>, <nifan@outlook.com>,
<jim.harris@samsung.com>, Fan Ni <fan.ni@samsung.com>
Subject: Re: [PATCH v3 4/9] hw/mem/cxl_type3: Add support to create DC regions to type3 memory devices
Date: Fri, 26 Jan 2024 13:00:48 +0000 [thread overview]
Message-ID: <20240126130048.000042f4@Huawei.com> (raw)
In-Reply-To: <20240124152316.0000281c@Huawei.com>
On Wed, 24 Jan 2024 15:23:16 +0000
Jonathan Cameron <Jonathan.Cameron@Huawei.com> wrote:
> On Tue, 7 Nov 2023 10:07:08 -0800
> nifan.cxl@gmail.com wrote:
>
> > From: Fan Ni <fan.ni@samsung.com>
> >
> > With the change, when setting up memory for type3 memory device, we can
> > create DC regions.
> > A property 'num-dc-regions' is added to ct3_props to allow users to pass the
> > number of DC regions to create. To make it easier, other region parameters
> > like region base, length, and block size are hard coded. If needed,
> > these parameters can be added easily.
> >
> > With the change, we can create DC regions with proper kernel side
> > support as below:
> >
> > region=$(cat /sys/bus/cxl/devices/decoder0.0/create_dc_region)
> > echo $region> /sys/bus/cxl/devices/decoder0.0/create_dc_region
> > echo 256 > /sys/bus/cxl/devices/$region/interleave_granularity
> > echo 1 > /sys/bus/cxl/devices/$region/interleave_ways
> >
> > echo "dc0" >/sys/bus/cxl/devices/decoder2.0/mode
> > echo 0x40000000 >/sys/bus/cxl/devices/decoder2.0/dpa_size
> >
> > echo 0x40000000 > /sys/bus/cxl/devices/$region/size
> > echo "decoder2.0" > /sys/bus/cxl/devices/$region/target0
> > echo 1 > /sys/bus/cxl/devices/$region/commit
> > echo $region > /sys/bus/cxl/drivers/cxl_region/bind
> >
> > Signed-off-by: Fan Ni <fan.ni@samsung.com>
> Hi Fan, a few comments inline.
>
> Jonathan
>
> > ---
> > hw/mem/cxl_type3.c | 35 +++++++++++++++++++++++++++++++++++
> > 1 file changed, 35 insertions(+)
> >
> > diff --git a/hw/mem/cxl_type3.c b/hw/mem/cxl_type3.c
> > index 754c885cd1..2d67d2015c 100644
> > --- a/hw/mem/cxl_type3.c
> > +++ b/hw/mem/cxl_type3.c
> > @@ -721,6 +721,36 @@ static void ct3d_reg_write(void *opaque, hwaddr offset, uint64_t value,
> > }
> > }
> >
> > +static int cxl_create_dc_regions(CXLType3Dev *ct3d)
> > +{
> > + int i;
> > + uint64_t region_base = 0;
> > + uint64_t region_len = 2 * GiB;
> > + uint64_t decode_len = 8; /* 8*256MB */
>
> If decode len is going to be div 256MiB then we need
> a name for that field that makes it clear that it is.
>
> decode_len_256mbytes or something like that and maybe
> region_len_bytes to keep things consistent.
>
> Why the spec didn't make our life easier and define decode length
> in bytes with some bits that must be zero is beyond me...
>
>
> I think we need to make this at least optionally configurable or based
> in some fashion on the provided memory backend (divide that up
> by number of regions with appropriate rounding perhaps?)
This seems to be a mid patch set confusion.. It's fixed in patch 7.
Whilst applying I've made this 2GiB here.
Jonathan
WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron via <qemu-devel@nongnu.org>
To: <nifan.cxl@gmail.com>
Cc: <qemu-devel@nongnu.org>, <linux-cxl@vger.kernel.org>,
<ira.weiny@intel.com>, <dan.j.williams@intel.com>,
<a.manzanares@samsung.com>, <dave@stgolabs.net>,
<nmtadam.samsung@gmail.com>, <nifan@outlook.com>,
<jim.harris@samsung.com>, Fan Ni <fan.ni@samsung.com>
Subject: Re: [PATCH v3 4/9] hw/mem/cxl_type3: Add support to create DC regions to type3 memory devices
Date: Fri, 26 Jan 2024 13:00:48 +0000 [thread overview]
Message-ID: <20240126130048.000042f4@Huawei.com> (raw)
In-Reply-To: <20240124152316.0000281c@Huawei.com>
On Wed, 24 Jan 2024 15:23:16 +0000
Jonathan Cameron <Jonathan.Cameron@Huawei.com> wrote:
> On Tue, 7 Nov 2023 10:07:08 -0800
> nifan.cxl@gmail.com wrote:
>
> > From: Fan Ni <fan.ni@samsung.com>
> >
> > With the change, when setting up memory for type3 memory device, we can
> > create DC regions.
> > A property 'num-dc-regions' is added to ct3_props to allow users to pass the
> > number of DC regions to create. To make it easier, other region parameters
> > like region base, length, and block size are hard coded. If needed,
> > these parameters can be added easily.
> >
> > With the change, we can create DC regions with proper kernel side
> > support as below:
> >
> > region=$(cat /sys/bus/cxl/devices/decoder0.0/create_dc_region)
> > echo $region> /sys/bus/cxl/devices/decoder0.0/create_dc_region
> > echo 256 > /sys/bus/cxl/devices/$region/interleave_granularity
> > echo 1 > /sys/bus/cxl/devices/$region/interleave_ways
> >
> > echo "dc0" >/sys/bus/cxl/devices/decoder2.0/mode
> > echo 0x40000000 >/sys/bus/cxl/devices/decoder2.0/dpa_size
> >
> > echo 0x40000000 > /sys/bus/cxl/devices/$region/size
> > echo "decoder2.0" > /sys/bus/cxl/devices/$region/target0
> > echo 1 > /sys/bus/cxl/devices/$region/commit
> > echo $region > /sys/bus/cxl/drivers/cxl_region/bind
> >
> > Signed-off-by: Fan Ni <fan.ni@samsung.com>
> Hi Fan, a few comments inline.
>
> Jonathan
>
> > ---
> > hw/mem/cxl_type3.c | 35 +++++++++++++++++++++++++++++++++++
> > 1 file changed, 35 insertions(+)
> >
> > diff --git a/hw/mem/cxl_type3.c b/hw/mem/cxl_type3.c
> > index 754c885cd1..2d67d2015c 100644
> > --- a/hw/mem/cxl_type3.c
> > +++ b/hw/mem/cxl_type3.c
> > @@ -721,6 +721,36 @@ static void ct3d_reg_write(void *opaque, hwaddr offset, uint64_t value,
> > }
> > }
> >
> > +static int cxl_create_dc_regions(CXLType3Dev *ct3d)
> > +{
> > + int i;
> > + uint64_t region_base = 0;
> > + uint64_t region_len = 2 * GiB;
> > + uint64_t decode_len = 8; /* 8*256MB */
>
> If decode len is going to be div 256MiB then we need
> a name for that field that makes it clear that it is.
>
> decode_len_256mbytes or something like that and maybe
> region_len_bytes to keep things consistent.
>
> Why the spec didn't make our life easier and define decode length
> in bytes with some bits that must be zero is beyond me...
>
>
> I think we need to make this at least optionally configurable or based
> in some fashion on the provided memory backend (divide that up
> by number of regions with appropriate rounding perhaps?)
This seems to be a mid patch set confusion.. It's fixed in patch 7.
Whilst applying I've made this 2GiB here.
Jonathan
next prev parent reply other threads:[~2024-01-26 13:00 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-07 18:07 [PATCH v3 0/9] Enabling DCD emulation support in Qemu nifan.cxl
2023-11-07 18:07 ` [PATCH v3 1/9] hw/cxl/cxl-mailbox-utils: Add dc_event_log_size field to output payload of identify memory device command nifan.cxl
2023-11-07 18:07 ` [PATCH v3 2/9] hw/cxl/cxl-mailbox-utils: Add dynamic capacity region representative and mailbox command support nifan.cxl
2024-01-24 14:51 ` Jonathan Cameron
2024-01-24 14:51 ` Jonathan Cameron via
2024-01-29 17:32 ` fan
2024-01-30 9:44 ` Jonathan Cameron
2024-01-30 9:44 ` Jonathan Cameron via
2024-02-01 19:58 ` fan
2024-02-02 11:52 ` Jonathan Cameron
2024-02-02 11:52 ` Jonathan Cameron via
2024-01-24 15:48 ` Jonathan Cameron
2024-01-24 15:48 ` Jonathan Cameron via
2023-11-07 18:07 ` [PATCH v3 3/9] include/hw/cxl/cxl_device: Rename mem_size as static_mem_size for type3 memory devices nifan.cxl
2024-01-24 14:54 ` Jonathan Cameron
2024-01-24 14:54 ` Jonathan Cameron via
2023-11-07 18:07 ` [PATCH v3 4/9] hw/mem/cxl_type3: Add support to create DC regions to " nifan.cxl
2024-01-24 15:23 ` Jonathan Cameron
2024-01-24 15:23 ` Jonathan Cameron via
2024-01-26 13:00 ` Jonathan Cameron [this message]
2024-01-26 13:00 ` Jonathan Cameron via
2023-11-07 18:07 ` [PATCH v3 5/9] hw/mem/cxl_type3: Add host backend and address space handling for DC regions nifan.cxl
2024-01-24 15:47 ` Jonathan Cameron
2024-01-24 15:47 ` Jonathan Cameron via
2024-02-06 22:24 ` fan
2024-02-13 9:28 ` Jonathan Cameron
2024-02-13 9:28 ` Jonathan Cameron via
2023-11-07 18:07 ` [PATCH v3 6/9] hw/mem/cxl_type3: Add DC extent list representative and get DC extent list mailbox support nifan.cxl
2024-01-24 15:56 ` Jonathan Cameron
2024-01-24 15:56 ` Jonathan Cameron via
2024-02-23 7:10 ` Wonjae Lee
2023-11-07 18:07 ` [PATCH v3 7/9] hw/cxl/cxl-mailbox-utils: Add mailbox commands to support add/release dynamic capacity response nifan.cxl
2024-01-24 16:23 ` Jonathan Cameron
2024-01-24 16:23 ` Jonathan Cameron via
2023-11-07 18:07 ` [PATCH v3 8/9] hw/cxl/events: Add qmp interfaces to add/release dynamic capacity extents nifan.cxl
2024-01-24 16:50 ` Jonathan Cameron
2024-01-24 16:50 ` Jonathan Cameron via
2024-02-08 19:17 ` fan
2024-02-13 9:29 ` Jonathan Cameron
2024-02-13 9:29 ` Jonathan Cameron via
2024-02-13 17:44 ` Jonathan Cameron
2024-02-13 17:44 ` Jonathan Cameron via
2024-02-13 18:21 ` fan
2023-11-07 18:07 ` [PATCH v3 9/9] hw/mem/cxl_type3: Add dpa range validation for accesses to dc regions nifan.cxl
2024-01-24 16:58 ` Jonathan Cameron
2024-01-24 16:58 ` Jonathan Cameron via
2024-02-09 19:04 ` fan
2024-02-13 9:31 ` Jonathan Cameron
2024-02-13 9:31 ` Jonathan Cameron via
2023-11-17 0:09 ` [PATCH v3 0/9] Enabling DCD emulation support in Qemu Ira Weiny
2024-01-26 15:21 ` Jonathan Cameron
2024-01-26 15:21 ` Jonathan Cameron via
2024-02-13 18:18 ` fan
2024-02-19 16:18 ` Jonathan Cameron
2024-02-19 16:18 ` Jonathan Cameron via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240126130048.000042f4@Huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=a.manzanares@samsung.com \
--cc=dan.j.williams@intel.com \
--cc=dave@stgolabs.net \
--cc=fan.ni@samsung.com \
--cc=ira.weiny@intel.com \
--cc=jim.harris@samsung.com \
--cc=linux-cxl@vger.kernel.org \
--cc=nifan.cxl@gmail.com \
--cc=nifan@outlook.com \
--cc=nmtadam.samsung@gmail.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.