From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
To: Gregory Price <gourry.memverge@gmail.com>
Cc: <qemu-devel@nongnu.org>, <linux-cxl@vger.kernel.org>,
Alison Schofield <alison.schofield@intel.com>,
Davidlohr Bueso <dave@stgolabs.net>,
"a.manzanares@samsung.com" <a.manzanares@samsung.com>,
Ben Widawsky <bwidawsk@kernel.org>
Subject: Re: [PATCH RFC] hw/cxl: type 3 devices can now present volatile or persistent memory
Date: Mon, 10 Oct 2022 17:32:42 +0100 [thread overview]
Message-ID: <20221010173242.000032a8@huawei.com> (raw)
In-Reply-To: <20221010154343.00007afd@huawei.com>
> > but i'm not sure of what to do with this info. We have some proof
> > that real hardware works with this no problem, and the only difference
> > is that the EFI/bios/firmware is setting the memory regions as `usable`
> > or `soft reserved`, which would imply the EDK2 is the blocker here
> > regardless of the OS driver status.
> >
> > But I'd seen elsewhere you had gotten some of this working, and I'm
> > failing to get anything working at the moment. If you have any input i
> > would greatly appreciate the help.
> >
> > QEMU config:
> >
> > /opt/qemu-cxl2/bin/qemu-system-x86_64 \
> > -drive file=/var/lib/libvirt/images/cxl.qcow2,format=qcow2,index=0,media=d\
> > -m 2G,slots=4,maxmem=4G \
> > -smp 4 \
> > -machine type=q35,accel=kvm,cxl=on \
> > -enable-kvm \
> > -nographic \
> > -device pxb-cxl,id=cxl.0,bus=pcie.0,bus_nr=52 \
> > -device cxl-rp,id=rp0,bus=cxl.0,chassis=0,slot=0 \
> > -object memory-backend-file,id=cxl-mem0,mem-path=/tmp/cxl-mem0,size=256M \
> > -object memory-backend-file,id=lsa0,mem-path=/tmp/cxl-lsa0,size=256M \
> > -device cxl-type3,bus=rp0,pmem=true,memdev=cxl-mem0,lsa=lsa0,id=cxl-pmem0 \
> > -M cxl-fmw.0.targets.0=cxl.0,cxl-fmw.0.size=256M
> >
> > I'd seen on the lists that you had seen issues with single-rp setups,
> > but no combination of configuration I've tried (including all the ones
> > in the docs and tests) lead to a successful region creation with
> > `cxl create-region`
>
> Hmm. Let me have a play. I've not run x86 tests for a while so
> perhaps something is missing there.
>
> I'm carrying a patch to override check_last_peer() in
> cxl_port_setup_targets() as that is wrong for some combinations,
> but that doesn't look like it's related to what you are seeing.
I'm not sure if it's relevant, but turned out I'd forgotten I'm carrying 3
patches that aren't upstream (and one is a horrible hack).
Hack: https://lore.kernel.org/linux-cxl/20220819094655.000005ed@huawei.com/
Shouldn't affect a simple case like this...
https://lore.kernel.org/linux-cxl/20220819093133.00006c22@huawei.com/T/#t
(Dan's version)
https://lore.kernel.org/linux-cxl/20220815154044.24733-1-Jonathan.Cameron@huawei.com/T/#t
For writes to work you will currently need two rps (nothing on the second is fine)
as we still haven't resolved if the kernel should support an HDM decoder on
a host bridge with one port. I think it should (Spec allows it), others unconvinced.
Note I haven't shifted over to x86 yet so may still be something different from
arm64.
Jonathan
>
> >
> > > >
> > > > 3) Upstream linux drivers haven't touched ram configurations yet. I
> > > > just configured this with Dan Williams yesterday on IRC. My
> > > > understanding is that it's been worked on but nothing has been
> > > > upstreamed, in part because there are only a very small set of devices
> > > > available to developers at the moment.
> > >
> > > There was an offer of similar volatile memory QEMU emulation in the
> > > session on QEMU CXL at Linux Plumbers. That will look something like you have
> > > here and maybe reflects that someone has hardware as well...
> > >
> >
> > I saw that, and I figured I'd start the conversation by pushing
> > something :].
>
>
WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron via <qemu-devel@nongnu.org>
To: Gregory Price <gourry.memverge@gmail.com>
Cc: <qemu-devel@nongnu.org>, <linux-cxl@vger.kernel.org>,
Alison Schofield <alison.schofield@intel.com>,
Davidlohr Bueso <dave@stgolabs.net>,
"a.manzanares@samsung.com" <a.manzanares@samsung.com>,
Ben Widawsky <bwidawsk@kernel.org>
Subject: Re: [PATCH RFC] hw/cxl: type 3 devices can now present volatile or persistent memory
Date: Mon, 10 Oct 2022 17:32:42 +0100 [thread overview]
Message-ID: <20221010173242.000032a8@huawei.com> (raw)
In-Reply-To: <20221010154343.00007afd@huawei.com>
> > but i'm not sure of what to do with this info. We have some proof
> > that real hardware works with this no problem, and the only difference
> > is that the EFI/bios/firmware is setting the memory regions as `usable`
> > or `soft reserved`, which would imply the EDK2 is the blocker here
> > regardless of the OS driver status.
> >
> > But I'd seen elsewhere you had gotten some of this working, and I'm
> > failing to get anything working at the moment. If you have any input i
> > would greatly appreciate the help.
> >
> > QEMU config:
> >
> > /opt/qemu-cxl2/bin/qemu-system-x86_64 \
> > -drive file=/var/lib/libvirt/images/cxl.qcow2,format=qcow2,index=0,media=d\
> > -m 2G,slots=4,maxmem=4G \
> > -smp 4 \
> > -machine type=q35,accel=kvm,cxl=on \
> > -enable-kvm \
> > -nographic \
> > -device pxb-cxl,id=cxl.0,bus=pcie.0,bus_nr=52 \
> > -device cxl-rp,id=rp0,bus=cxl.0,chassis=0,slot=0 \
> > -object memory-backend-file,id=cxl-mem0,mem-path=/tmp/cxl-mem0,size=256M \
> > -object memory-backend-file,id=lsa0,mem-path=/tmp/cxl-lsa0,size=256M \
> > -device cxl-type3,bus=rp0,pmem=true,memdev=cxl-mem0,lsa=lsa0,id=cxl-pmem0 \
> > -M cxl-fmw.0.targets.0=cxl.0,cxl-fmw.0.size=256M
> >
> > I'd seen on the lists that you had seen issues with single-rp setups,
> > but no combination of configuration I've tried (including all the ones
> > in the docs and tests) lead to a successful region creation with
> > `cxl create-region`
>
> Hmm. Let me have a play. I've not run x86 tests for a while so
> perhaps something is missing there.
>
> I'm carrying a patch to override check_last_peer() in
> cxl_port_setup_targets() as that is wrong for some combinations,
> but that doesn't look like it's related to what you are seeing.
I'm not sure if it's relevant, but turned out I'd forgotten I'm carrying 3
patches that aren't upstream (and one is a horrible hack).
Hack: https://lore.kernel.org/linux-cxl/20220819094655.000005ed@huawei.com/
Shouldn't affect a simple case like this...
https://lore.kernel.org/linux-cxl/20220819093133.00006c22@huawei.com/T/#t
(Dan's version)
https://lore.kernel.org/linux-cxl/20220815154044.24733-1-Jonathan.Cameron@huawei.com/T/#t
For writes to work you will currently need two rps (nothing on the second is fine)
as we still haven't resolved if the kernel should support an HDM decoder on
a host bridge with one port. I think it should (Spec allows it), others unconvinced.
Note I haven't shifted over to x86 yet so may still be something different from
arm64.
Jonathan
>
> >
> > > >
> > > > 3) Upstream linux drivers haven't touched ram configurations yet. I
> > > > just configured this with Dan Williams yesterday on IRC. My
> > > > understanding is that it's been worked on but nothing has been
> > > > upstreamed, in part because there are only a very small set of devices
> > > > available to developers at the moment.
> > >
> > > There was an offer of similar volatile memory QEMU emulation in the
> > > session on QEMU CXL at Linux Plumbers. That will look something like you have
> > > here and maybe reflects that someone has hardware as well...
> > >
> >
> > I saw that, and I figured I'd start the conversation by pushing
> > something :].
>
>
next prev parent reply other threads:[~2022-10-10 16:32 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-06 0:01 [PATCH RFC] hw/cxl: type 3 devices can now present volatile or persistent memory Gourry
2022-10-06 8:45 ` Jonathan Cameron
2022-10-06 8:45 ` Jonathan Cameron via
2022-10-06 8:50 ` Jonathan Cameron
2022-10-06 8:50 ` Jonathan Cameron via
2022-10-06 15:52 ` Gregory Price
2022-10-06 16:42 ` Jonathan Cameron
2022-10-06 16:42 ` Jonathan Cameron via
2022-10-06 17:29 ` Gregory Price
2022-10-07 14:50 ` Gregory Price
2022-10-10 15:18 ` Jonathan Cameron
2022-10-10 15:18 ` Jonathan Cameron via
2022-10-10 15:25 ` Gregory Price
2022-10-11 1:23 ` Gregory Price
2022-10-11 17:14 ` Davidlohr Bueso
2022-10-11 17:22 ` Gregory Price
2022-10-11 17:28 ` Jonathan Cameron
2022-10-11 17:28 ` Jonathan Cameron via
2022-10-10 14:43 ` Jonathan Cameron
2022-10-10 14:43 ` Jonathan Cameron via
2022-10-10 15:20 ` Gregory Price
2022-10-10 16:26 ` Jonathan Cameron
2022-10-10 16:26 ` Jonathan Cameron via
2022-10-10 16:32 ` Jonathan Cameron [this message]
2022-10-10 16:32 ` Jonathan Cameron via
2022-10-10 17:18 ` Davidlohr Bueso
2022-10-07 18:16 ` Davidlohr Bueso
2022-10-07 18:46 ` Gregory Price
2022-10-07 19:55 ` Davidlohr Bueso
2022-10-07 19:52 ` Davidlohr Bueso
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=20221010173242.000032a8@huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=a.manzanares@samsung.com \
--cc=alison.schofield@intel.com \
--cc=bwidawsk@kernel.org \
--cc=dave@stgolabs.net \
--cc=gourry.memverge@gmail.com \
--cc=linux-cxl@vger.kernel.org \
--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.