From: Jonathan Cameron via qemu development <qemu-devel@nongnu.org>
To: Alireza Sanaee <alireza.sanaee@huawei.com>
Cc: <qemu-devel@nongnu.org>, <lizhijian@fujitsu.com>,
<anisa.su887@gmail.com>, <armbru@redhat.com>, <david@kernel.org>,
<gourry@gourry.net>, <imammedo@redhat.com>, <linuxarm@huawei.com>,
<mst@redhat.com>, <nifan.cxl@gmail.com>, <peterx@redhat.com>,
<philmd@linaro.org>, <ppbonzini@redhat.com>,
<venkataravis@micron.com>, <xiaoguangrong.eric@gmail.com>
Subject: Re: [PATCH v3 2/2] hw/cxl: Add a performant (and correct) path for the non interleaved cases
Date: Tue, 17 Feb 2026 10:14:02 +0000 [thread overview]
Message-ID: <20260217101402.00006bef@huawei.com> (raw)
In-Reply-To: <20260216145219.1959-3-alireza.sanaee@huawei.com>
On Mon, 16 Feb 2026 14:52:18 +0000
Alireza Sanaee <alireza.sanaee@huawei.com> wrote:
> The CXL address to device decoding logic is complex because of the need
> to correctly decode fine grained interleave. The current implementation
> prevents use with KVM where executed instructions may reside in that
> memory and gives very slow performance even in TCG.
>
> In many real cases non interleaved memory configurations are useful and
> for those we can use a more conventional memory region alias allowing
> similar performance to other memory in the system.
>
> Whether this fast path is applicable can be established once the full
> set of HDM decoders has been committed (in whatever order the guest
> decides to commit them). As such a check is performed on each
> commit/uncommit of HDM decoder to establish if the alias should be added
> or removed.
>
> Co-developed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
> Signed-off-by: Jonathan Cameron <jonathan.cameron@huawei.com>
> Signed-off-by: Alireza Sanaee <alireza.sanaee@huawei.com>
> Tested-by: Gregory Price <gourry@gourry.net>
It might be worth a middle patch that both adds the bool to cxl_cfmws_find_device()
and implements actually performing the check. The usecase for that check would
then come in reduced final patch.
Maybe not worth it though and just have all that stuff in the second patch of two.
J
next prev parent reply other threads:[~2026-02-17 10:14 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-16 14:52 [PATCH v3 0/2] Performant CXL type 3 non-interleaved regions Alireza Sanaee via qemu development
2026-02-16 14:52 ` [PATCH v3 1/2] hw/cxl: Use HPA in cxl_cfmws_find_device() rather than offset in window Alireza Sanaee via qemu development
2026-02-17 10:07 ` Jonathan Cameron via qemu development
2026-02-16 14:52 ` [PATCH v3 2/2] hw/cxl: Add a performant (and correct) path for the non interleaved cases Alireza Sanaee via qemu development
2026-02-17 10:14 ` Jonathan Cameron via qemu development [this message]
2026-02-17 10:01 ` [PATCH v3 0/2] Performant CXL type 3 non-interleaved regions Jonathan Cameron via qemu development
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=20260217101402.00006bef@huawei.com \
--to=qemu-devel@nongnu.org \
--cc=alireza.sanaee@huawei.com \
--cc=anisa.su887@gmail.com \
--cc=armbru@redhat.com \
--cc=david@kernel.org \
--cc=gourry@gourry.net \
--cc=imammedo@redhat.com \
--cc=jonathan.cameron@huawei.com \
--cc=linuxarm@huawei.com \
--cc=lizhijian@fujitsu.com \
--cc=mst@redhat.com \
--cc=nifan.cxl@gmail.com \
--cc=peterx@redhat.com \
--cc=philmd@linaro.org \
--cc=ppbonzini@redhat.com \
--cc=venkataravis@micron.com \
--cc=xiaoguangrong.eric@gmail.com \
/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.