All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	lkml <linux-kernel@vger.kernel.org>,
	iommu@lists.linux-foundation.org,
	xen-devel <xen-devel@lists.xenproject.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [PATCH 3/3] xen/swiotlb: remember having called xen_create_contiguous_region()
Date: Thu, 25 Apr 2019 11:07:11 +0200	[thread overview]
Message-ID: <a1203397-9704-192a-c157-442dbeee62c5__13222.4203132623$1556183290$gmane$org@suse.com> (raw)

On 25/04/2019 11:01, Jan Beulich wrote:
>>>> On 23.04.19 at 20:36, <jgross@suse.com> wrote:
>> On 23/04/2019 19:05, Stefano Stabellini wrote:
>>> On Tue, 23 Apr 2019, Juergen Gross wrote:
>>>> Instead of always calling xen_destroy_contiguous_region() in case the
>>>> memory is DMA-able for the used device, do so only in case it has been
>>>> made DMA-able via xen_create_contiguous_region() before.
>>>>
>>>> This will avoid a lot of xen_destroy_contiguous_region() calls for
>>>> 64-bit capable devices.
>>>>
>>>> As the memory in question is owned by swiotlb-xen the PG_owner_priv_1
>>>> flag of the first allocated page can be used for remembering.
>>>
>>> Although the patch looks OK, this sentence puzzles me. Why do you say
>>> that the memory in question is owned by swiotlb-xen? Because it was
>>> returned by xen_alloc_coherent_pages? Both the x86 and the Arm
>>> implementation return fresh new memory, hence, it should be safe to set
>>> the PageOwnerPriv1 flag?
>>>
>>> My concern with this approach is with the semantics of PG_owner_priv_1.
>>> Is a page marked with PG_owner_priv_1 only supposed to be used by the
>>> owner?
>>
>> The owner of the page is free to use the flag.
>>
>> Like Grant pages are marked by the grant driver using this flag. And
>> Xen page tables are using it in PV-guests for indicating a "Pinned"
>> page table.
> 
> Considering the background of the series, isn't such multi-purpose use
> of the flag a possible problem? You're already suspecting a wrong call
> into here. The function finding the flag set (but for another reason)
> might add to the confusion. But I realize there are only so many page
> flags available.

Right.

> Perhaps the freeing function should, first thing, check the handed
> space actually matches the criteria (within dma_mask and contiguous)?

Yes, I think this is a good idea.


Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

             reply	other threads:[~2019-04-25  9:07 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-25  9:07 Juergen Gross [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-04-23 10:54 [PATCH 0/3] xen/swiotlb: fix an issue and improve swiotlb-xen Juergen Gross
2019-04-23 10:54 ` [PATCH 3/3] xen/swiotlb: remember having called xen_create_contiguous_region() Juergen Gross
2019-04-23 10:54 ` Juergen Gross
2019-04-23 10:54   ` Juergen Gross
2019-04-23 10:54   ` Juergen Gross
2019-04-23 14:31   ` Boris Ostrovsky
2019-04-23 14:31     ` Boris Ostrovsky
2019-04-23 14:31     ` Boris Ostrovsky
2019-04-23 14:31   ` Boris Ostrovsky
2019-04-23 17:05   ` Stefano Stabellini
2019-04-23 17:05   ` Stefano Stabellini
2019-04-23 17:05     ` Stefano Stabellini
2019-04-23 18:36     ` Juergen Gross
2019-04-23 18:36       ` Juergen Gross
2019-04-25  9:01       ` Jan Beulich
2019-04-23 18:36     ` Juergen Gross

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='a1203397-9704-192a-c157-442dbeee62c5__13222.4203132623$1556183290$gmane$org@suse.com' \
    --to=jgross@suse.com \
    --cc=JBeulich@suse.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sstabellini@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 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.