From: Juergen Gross <jgross@suse.com>
To: Christoph Hellwig <hch@infradead.org>,
Stefano Stabellini <sstabellini@kernel.org>
Cc: Peng Fan <peng.fan@nxp.com>, "will@kernel.org" <will@kernel.org>,
Catalin Marinas <Catalin.Marinas@arm.com>,
"linux@armlinux.org.uk" <linux@armlinux.org.uk>,
Julien Grall <Julien.Grall@arm.com>,
dl-linux-imx <linux-imx@nxp.com>,
"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
boris.ostrovsky@oracle.com, nd <nd@arm.com>,
Robin Murphy <Robin.Murphy@arm.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH V2] arm: xen: mm: use __GPF_DMA32 for arm64
Date: Tue, 3 Sep 2019 13:48:33 +0200 [thread overview]
Message-ID: <8e81051f-ad50-7b4e-2e88-c685ade6b240@suse.com> (raw)
In-Reply-To: <20190902155732.GA8311@infradead.org>
On 02.09.19 17:57, Christoph Hellwig wrote:
> On Fri, Aug 30, 2019 at 07:40:42PM -0700, Stefano Stabellini wrote:
>> + Juergen, Boris
>>
>> On Fri, 30 Aug 2019, Christoph Hellwig wrote:
>>> Can we take a step back and figure out what we want to do here?
>>>
>>> AFAICS this function allocates memory for the swiotlb-xen buffer,
>>> and that means it must be <= 32-bit addressable to satisfy the DMA API
>>> guarantees. That means we generally want to use GFP_DMA32 everywhere
>>> that exists, but on systems with odd zones we might want to dip into
>>> GFP_DMA. This also means swiotlb-xen doesn't actually do the right
>>> thing on x86 at the moment. So shouldn't we just have one common
>>> routine in swiotlb-xen.c that checks if we have CONFIG_ZONE_DMA32
>>> set, then try GFP_DMA32, and if not check if CONFIG_ZONE_DMA is set
>>> and then try that, else default to GFP_KERNEL?
>>
>> Yes, for ARM/ARM64 it makes a lot of sense given that dom0 is 1:1 mapped
>> (pseudo-physical == physical). I'll let Juergen and Boris comment on
>> the x86 side of things, but on x86 PV Dom0 is not 1:1 mapped so
>> GFP_DMA32 is probably not meaningful.
>
> But is it actually harmful? If the GFP_DMA32 doesn't hurt we could
> just use it there. Or if that seems to ugly we can make the dma
> flags dependents on a XEN_1TO1_MAPPED config option set by arm/arm64.
>
I'd rather have it only if needed. Especially on X86 PV dom0 I'd like to
avoid GFP_DMA32 as memory below 4GB (guest physical) might be rather
scarce in some configurations.
I think X86 PVH dom0 should need GFP_DMA32, too, as the limit is related
to the address as communicated to the device (before being translated by
the IOMMU), right? This would mean on a X86 kernel configured to support
PV and PVH the test for setting GFP_DMA32 can't depend on a config
option alone, it needs to be dynamic.
BTW, for PV guests the DMA address width is handled via
xen_create_contiguous_region().
Juergen
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-09-03 11:49 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-30 2:28 [PATCH V2] arm: xen: mm: use __GPF_DMA32 for arm64 Peng Fan
2019-08-30 8:39 ` Julien Grall
2019-08-30 8:58 ` Christoph Hellwig
2019-08-31 2:40 ` Stefano Stabellini
2019-09-02 15:57 ` Christoph Hellwig
2019-09-03 11:48 ` Juergen Gross [this message]
2019-09-11 2:06 ` Peng Fan
2019-09-11 19:12 ` Stefano Stabellini
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=8e81051f-ad50-7b4e-2e88-c685ade6b240@suse.com \
--to=jgross@suse.com \
--cc=Catalin.Marinas@arm.com \
--cc=Julien.Grall@arm.com \
--cc=Robin.Murphy@arm.com \
--cc=boris.ostrovsky@oracle.com \
--cc=hch@infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=linux@armlinux.org.uk \
--cc=nd@arm.com \
--cc=peng.fan@nxp.com \
--cc=sstabellini@kernel.org \
--cc=will@kernel.org \
--cc=xen-devel@lists.xenproject.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).