From: Bharata B Rao <bharata@linux.ibm.com>
To: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org, kvm-ppc@vger.kernel.org,
linux-mm@kvack.org, paulus@au1.ibm.com,
aneesh.kumar@linux.vnet.ibm.com, jglisse@redhat.com,
linuxram@us.ibm.com, cclaudio@linux.ibm.com, hch@lst.de
Subject: Re: [PATCH v7 1/7] kvmppc: Driver to manage pages of secure guest
Date: Fri, 30 Aug 2019 11:25:32 +0000 [thread overview]
Message-ID: <20190830111332.GE31913@in.ibm.com> (raw)
In-Reply-To: <20190829193911.GA26729@us.ibm.com>
On Thu, Aug 29, 2019 at 12:39:11PM -0700, Sukadev Bhattiprolu wrote:
> Bharata B Rao [bharata@linux.ibm.com] wrote:
> > On Wed, Aug 28, 2019 at 08:02:19PM -0700, Sukadev Bhattiprolu wrote:
> Where do we serialize two threads attempting to H_SVM_PAGE_IN the same gfn
> at the same time? Or one thread issuing a H_SVM_PAGE_IN and another a
> H_SVM_PAGE_OUT for the same page?
I am not not serializing page-in/out calls on same gfn, I thought you take
care of that in UV, guess UV doesn't yet.
I can probably use rmap_lock() and serialize such calls in HV if UV can't
prevent such calls easily.
> > > > +
> > > > + if (!trylock_page(dpage))
> > > > + goto out_clear;
> > > > +
> > > > + *rmap = devm_pfn | KVMPPC_RMAP_DEVM_PFN;
> > > > + pvt = kzalloc(sizeof(*pvt), GFP_ATOMIC);
> > > > + if (!pvt)
> > > > + goto out_unlock;
>
> If we fail to alloc, we don't clear the KVMPPC_RMAP_DEVM_PFN?
Right, I will move the assignment to *rmap to after kzalloc.
>
> Also, when/where do we clear this flag on an uv-page-out?
> kvmppc_devm_drop_pages() drops the flag on a local variable but not
> in the rmap? If we don't clear the flag on page-out, would the
> subsequent H_SVM_PAGE_IN of this page fail?
It gets cleared in kvmppc_devm_page_free().
>
> Ok. Nit. thought we can drop the "_fault" in the function name but would
> collide the other "alloc_and_copy" function used during H_SVM_PAGE_IN.
> If the two alloc_and_copy functions are symmetric, maybe they could
> have "page_in" and "page_out" in the (already long) names.
Christoph also suggested to reorganize these two calls. Will take care.
Regards,
Bharata.
WARNING: multiple messages have this Message-ID (diff)
From: Bharata B Rao <bharata@linux.ibm.com>
To: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Cc: linuxram@us.ibm.com, cclaudio@linux.ibm.com,
kvm-ppc@vger.kernel.org, linux-mm@kvack.org, jglisse@redhat.com,
aneesh.kumar@linux.vnet.ibm.com, paulus@au1.ibm.com,
linuxppc-dev@lists.ozlabs.org, hch@lst.de
Subject: Re: [PATCH v7 1/7] kvmppc: Driver to manage pages of secure guest
Date: Fri, 30 Aug 2019 16:43:32 +0530 [thread overview]
Message-ID: <20190830111332.GE31913@in.ibm.com> (raw)
In-Reply-To: <20190829193911.GA26729@us.ibm.com>
On Thu, Aug 29, 2019 at 12:39:11PM -0700, Sukadev Bhattiprolu wrote:
> Bharata B Rao [bharata@linux.ibm.com] wrote:
> > On Wed, Aug 28, 2019 at 08:02:19PM -0700, Sukadev Bhattiprolu wrote:
> Where do we serialize two threads attempting to H_SVM_PAGE_IN the same gfn
> at the same time? Or one thread issuing a H_SVM_PAGE_IN and another a
> H_SVM_PAGE_OUT for the same page?
I am not not serializing page-in/out calls on same gfn, I thought you take
care of that in UV, guess UV doesn't yet.
I can probably use rmap_lock() and serialize such calls in HV if UV can't
prevent such calls easily.
> > > > +
> > > > + if (!trylock_page(dpage))
> > > > + goto out_clear;
> > > > +
> > > > + *rmap = devm_pfn | KVMPPC_RMAP_DEVM_PFN;
> > > > + pvt = kzalloc(sizeof(*pvt), GFP_ATOMIC);
> > > > + if (!pvt)
> > > > + goto out_unlock;
>
> If we fail to alloc, we don't clear the KVMPPC_RMAP_DEVM_PFN?
Right, I will move the assignment to *rmap to after kzalloc.
>
> Also, when/where do we clear this flag on an uv-page-out?
> kvmppc_devm_drop_pages() drops the flag on a local variable but not
> in the rmap? If we don't clear the flag on page-out, would the
> subsequent H_SVM_PAGE_IN of this page fail?
It gets cleared in kvmppc_devm_page_free().
>
> Ok. Nit. thought we can drop the "_fault" in the function name but would
> collide the other "alloc_and_copy" function used during H_SVM_PAGE_IN.
> If the two alloc_and_copy functions are symmetric, maybe they could
> have "page_in" and "page_out" in the (already long) names.
Christoph also suggested to reorganize these two calls. Will take care.
Regards,
Bharata.
WARNING: multiple messages have this Message-ID (diff)
From: Bharata B Rao <bharata@linux.ibm.com>
To: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org, kvm-ppc@vger.kernel.org,
linux-mm@kvack.org, paulus@au1.ibm.com,
aneesh.kumar@linux.vnet.ibm.com, jglisse@redhat.com,
linuxram@us.ibm.com, cclaudio@linux.ibm.com, hch@lst.de
Subject: Re: [PATCH v7 1/7] kvmppc: Driver to manage pages of secure guest
Date: Fri, 30 Aug 2019 16:43:32 +0530 [thread overview]
Message-ID: <20190830111332.GE31913@in.ibm.com> (raw)
In-Reply-To: <20190829193911.GA26729@us.ibm.com>
On Thu, Aug 29, 2019 at 12:39:11PM -0700, Sukadev Bhattiprolu wrote:
> Bharata B Rao [bharata@linux.ibm.com] wrote:
> > On Wed, Aug 28, 2019 at 08:02:19PM -0700, Sukadev Bhattiprolu wrote:
> Where do we serialize two threads attempting to H_SVM_PAGE_IN the same gfn
> at the same time? Or one thread issuing a H_SVM_PAGE_IN and another a
> H_SVM_PAGE_OUT for the same page?
I am not not serializing page-in/out calls on same gfn, I thought you take
care of that in UV, guess UV doesn't yet.
I can probably use rmap_lock() and serialize such calls in HV if UV can't
prevent such calls easily.
> > > > +
> > > > + if (!trylock_page(dpage))
> > > > + goto out_clear;
> > > > +
> > > > + *rmap = devm_pfn | KVMPPC_RMAP_DEVM_PFN;
> > > > + pvt = kzalloc(sizeof(*pvt), GFP_ATOMIC);
> > > > + if (!pvt)
> > > > + goto out_unlock;
>
> If we fail to alloc, we don't clear the KVMPPC_RMAP_DEVM_PFN?
Right, I will move the assignment to *rmap to after kzalloc.
>
> Also, when/where do we clear this flag on an uv-page-out?
> kvmppc_devm_drop_pages() drops the flag on a local variable but not
> in the rmap? If we don't clear the flag on page-out, would the
> subsequent H_SVM_PAGE_IN of this page fail?
It gets cleared in kvmppc_devm_page_free().
>
> Ok. Nit. thought we can drop the "_fault" in the function name but would
> collide the other "alloc_and_copy" function used during H_SVM_PAGE_IN.
> If the two alloc_and_copy functions are symmetric, maybe they could
> have "page_in" and "page_out" in the (already long) names.
Christoph also suggested to reorganize these two calls. Will take care.
Regards,
Bharata.
next prev parent reply other threads:[~2019-08-30 11:25 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-22 10:26 [PATCH v7 0/7] KVMPPC driver to manage secure guest pages Bharata B Rao
2019-08-22 10:38 ` Bharata B Rao
2019-08-22 10:26 ` Bharata B Rao
2019-08-22 10:26 ` [PATCH v7 1/7] kvmppc: Driver to manage pages of secure guest Bharata B Rao
2019-08-22 10:38 ` Bharata B Rao
2019-08-22 10:26 ` Bharata B Rao
2019-08-29 3:02 ` Sukadev Bhattiprolu
2019-08-29 3:02 ` Sukadev Bhattiprolu
2019-08-29 3:02 ` Sukadev Bhattiprolu
2019-08-29 6:56 ` Bharata B Rao
2019-08-29 6:56 ` Bharata B Rao
2019-08-29 6:56 ` Bharata B Rao
2019-08-29 19:39 ` Sukadev Bhattiprolu
2019-08-29 19:39 ` Sukadev Bhattiprolu
2019-08-29 19:39 ` Sukadev Bhattiprolu
2019-08-30 11:13 ` Bharata B Rao [this message]
2019-08-30 11:25 ` Bharata B Rao
2019-08-30 11:13 ` Bharata B Rao
2019-08-29 8:38 ` Christoph Hellwig
2019-08-29 8:38 ` Christoph Hellwig
2019-08-29 8:38 ` Christoph Hellwig
2019-08-30 3:42 ` Bharata B Rao
2019-08-30 3:54 ` Bharata B Rao
2019-08-30 3:42 ` Bharata B Rao
2019-09-02 7:53 ` Christoph Hellwig
2019-09-02 7:53 ` Christoph Hellwig
2019-09-02 7:53 ` Christoph Hellwig
2019-09-06 11:36 ` Bharata B Rao
2019-09-06 11:48 ` Bharata B Rao
2019-09-06 11:36 ` Bharata B Rao
2019-09-06 16:32 ` Christoph Hellwig
2019-09-06 16:32 ` Christoph Hellwig
2019-09-06 16:32 ` Christoph Hellwig
2019-08-22 10:26 ` [PATCH v7 2/7] kvmppc: Shared pages support for secure guests Bharata B Rao
2019-08-22 10:38 ` Bharata B Rao
2019-08-22 10:26 ` Bharata B Rao
2019-08-29 3:04 ` Sukadev Bhattiprolu
2019-08-29 3:04 ` Sukadev Bhattiprolu
2019-08-29 3:04 ` Sukadev Bhattiprolu
2019-08-29 6:58 ` Bharata B Rao
2019-08-29 6:58 ` Bharata B Rao
2019-08-29 6:58 ` Bharata B Rao
2019-08-22 10:26 ` [PATCH v7 3/7] kvmppc: H_SVM_INIT_START and H_SVM_INIT_DONE hcalls Bharata B Rao
2019-08-22 10:38 ` Bharata B Rao
2019-08-22 10:26 ` Bharata B Rao
2019-08-22 10:26 ` [PATCH v7 4/7] kvmppc: Handle memory plug/unplug to secure VM Bharata B Rao
2019-08-22 10:38 ` Bharata B Rao
2019-08-22 10:26 ` Bharata B Rao
2019-08-29 8:39 ` Christoph Hellwig
2019-08-29 8:39 ` Christoph Hellwig
2019-08-29 8:39 ` Christoph Hellwig
2019-08-22 10:26 ` [PATCH v7 5/7] kvmppc: Radix changes for secure guest Bharata B Rao
2019-08-22 10:38 ` Bharata B Rao
2019-08-22 10:26 ` Bharata B Rao
2019-08-29 3:05 ` Sukadev Bhattiprolu
2019-08-29 3:05 ` Sukadev Bhattiprolu
2019-08-29 3:05 ` Sukadev Bhattiprolu
2019-08-29 7:57 ` Bharata B Rao
2019-08-29 7:58 ` Bharata B Rao
2019-08-29 7:57 ` Bharata B Rao
2019-08-22 10:26 ` [PATCH v7 6/7] kvmppc: Support reset of " Bharata B Rao
2019-08-22 10:38 ` Bharata B Rao
2019-08-22 10:26 ` Bharata B Rao
2019-08-22 10:26 ` [PATCH v7 7/7] KVM: PPC: Ultravisor: Add PPC_UV config option Bharata B Rao
2019-08-22 10:38 ` Bharata B Rao
2019-08-22 10:26 ` Bharata B Rao
2019-08-23 4:17 ` [PATCH v7 0/7] KVMPPC driver to manage secure guest pages Paul Mackerras
2019-08-23 4:17 ` Paul Mackerras
2019-08-23 4:17 ` Paul Mackerras
2019-08-23 6:57 ` Bharata B Rao
2019-08-23 6:58 ` Bharata B Rao
2019-08-23 6:57 ` Bharata B Rao
2019-08-23 11:57 ` Michael Ellerman
2019-08-23 11:57 ` Michael Ellerman
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=20190830111332.GE31913@in.ibm.com \
--to=bharata@linux.ibm.com \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=cclaudio@linux.ibm.com \
--cc=hch@lst.de \
--cc=jglisse@redhat.com \
--cc=kvm-ppc@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=linuxram@us.ibm.com \
--cc=paulus@au1.ibm.com \
--cc=sukadev@linux.vnet.ibm.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.