From: Christoph Hellwig <hch@lst.de>
To: Gary Guo <gary@garyguo.net>
Cc: Guo Ren <guoren@kernel.org>, Christoph Hellwig <hch@lst.de>,
"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
Palmer Dabbelt <palmer@sifive.com>,
Andrew Waterman <andrew@sifive.com>,
Arnd Bergmann <arnd@arndb.de>, Anup Patel <anup.patel@wdc.com>,
Xiang Xiaoyan <xiaoyan_xiang@c-sky.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Mike Rapoport <rppt@linux.ibm.com>,
Vincent Chen <vincentc@andestech.com>,
Greentime Hu <green.hu@gmail.com>,
"ren_guo@c-sky.com" <ren_guo@c-sky.com>,
"linux-riscv@lists.infradead.org"
<linux-riscv@lists.infradead.org>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Robin Murphy <robin.murphy@arm.com>,
Scott Wood <swood@redhat.com>,
"tech-privileged@lists.riscv.org"
<tech-privileged@lists.riscv.org>
Subject: Re: [PATCH] riscv: Support non-coherency memory model
Date: Wed, 24 Apr 2019 16:23:06 +0200 [thread overview]
Message-ID: <20190424142306.GB20974@lst.de> (raw)
In-Reply-To: <4e6b0816-3fe9-8c0b-a749-f7f6ef7e5742@garyguo.net>
On Wed, Apr 24, 2019 at 12:45:56PM +0000, Gary Guo wrote:
> The RISC-V privileged spec is explicitly designed to allow the
> techniques described above (this is the sole purpose of MSTATUS.TVM). It
> might be as high performance as a hardware with H-extension, but is
> definitely a legit use case. In fact, it is vital for use cases like
> recursive virtualization.
>
> Also, I believe the PTE format of RISC-V is already frozen -- therefore
> it is impossible now to merge GLOBAL and USER bit, nor to replace RSW
> bit with another bit.
Yes, I do not think we can just repurpose a bit. Even using a currently
unused one would require some gymnastics.
That being said IFF we want to support non-coherent DMA (and I think we
do as people glue together their SOCs using shoestring and paper clips,
as already demonstrated by Andes and C-SKY in RISC-V space, and most
arm, mips and ppc SOCs) we need something like this flag. The current
RISC-V method that only allows M-mode to set up such attributes on
a small number or PMP regions just doesn't work well with the way how
Linux and most non-trivial OSes implement DMA memory allocations.
Note that I said well - in theory we can have a firmware provided
uncached pool - that is what Linux does on most nommu (that is without
pagetables) ports, but the fixed sized pool really does suck and will
make users very unhappy.
next prev parent reply other threads:[~2019-04-24 14:23 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-22 15:44 [PATCH] riscv: Support non-coherency memory model guoren
2019-04-22 16:18 ` Christoph Hellwig
2019-04-23 0:13 ` Guo Ren
2019-04-23 5:55 ` Christoph Hellwig
2019-04-23 15:46 ` Guo Ren
2019-04-23 15:57 ` Gary Guo
2019-04-24 2:08 ` Guo Ren
2019-04-24 3:21 ` Gary Guo
2019-04-24 5:57 ` Guo Ren
2019-04-24 12:45 ` Gary Guo
2019-04-24 14:23 ` Christoph Hellwig [this message]
2019-04-25 9:50 ` Arnd Bergmann
2019-04-26 16:05 ` Guo Ren
2019-04-26 18:42 ` Arnd Bergmann
2019-04-26 19:05 ` [tech-privileged] " Bill Huffman
2019-04-23 0:31 ` kbuild test robot
2019-04-29 20:11 ` Palmer Dabbelt
2019-04-30 3:29 ` Guo Ren
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=20190424142306.GB20974@lst.de \
--to=hch@lst.de \
--cc=andrew@sifive.com \
--cc=anup.patel@wdc.com \
--cc=arnd@arndb.de \
--cc=gary@garyguo.net \
--cc=green.hu@gmail.com \
--cc=guoren@kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=m.szyprowski@samsung.com \
--cc=palmer@sifive.com \
--cc=ren_guo@c-sky.com \
--cc=robin.murphy@arm.com \
--cc=rppt@linux.ibm.com \
--cc=swood@redhat.com \
--cc=tech-privileged@lists.riscv.org \
--cc=vincentc@andestech.com \
--cc=xiaoyan_xiang@c-sky.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox