From: Julien Grall <julien.grall@linaro.org>
To: Tamas K Lengyel <tamas.lengyel@zentific.com>
Cc: wei.liu2@citrix.com, Ian Campbell <ian.campbell@citrix.com>,
Tim Deegan <tim@xen.org>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
Stefano Stabellini <stefano.stabellini@citrix.com>,
Daniel De Graaf <dgdegra@tycho.nsa.gov>,
Tamas K Lengyel <tklengyel@sec.in.tum.de>
Subject: Re: [PATCH for-4.5 v11 4/9] xen/arm: Data abort exception (R/W) mem_events.
Date: Mon, 29 Sep 2014 13:52:43 +0100 [thread overview]
Message-ID: <5429561B.3000803@linaro.org> (raw)
In-Reply-To: <CAErYnsg-z8=tw9BTb3Mrfhv8AjA_MJyQc5M-73ZMW+zi8zyZhw@mail.gmail.com>
On 09/29/2014 01:47 PM, Tamas K Lengyel wrote:
> > +/* Set access type for a region of pfns.
> > + * If start_pfn == -1ul, sets the default access type */
> > +long p2m_set_mem_access(struct domain *d, unsigned long pfn, uint32_t nr,
> > + uint32_t start, uint32_t mask, xenmem_access_t access)
> > +{
>
>
> [..]
>
> > +
> > + rc = apply_p2m_changes(d, MEMACCESS,
> > + pfn_to_paddr(pfn+start), pfn_to_paddr(pfn+nr),
> > + 0, MATTR_MEM, mask, 0, a);
> > +
> > + flush_tlb_domain(d);
> > + iommu_iotlb_flush(d, pfn+start, nr-start);
>
> With your solution, when rc == 0 (i.e the call memaccess has been fully
> applied), you will have one more TLB flush: one in apply_p2m_changes,
> the other one here...
>
>
> No, I don't flush it in apply_p2m_changes, *flush is not set to true in
> MEMACCESS in this version.
Oh right, sorry I haven't noticed it.
> As this code already exists in apply_p2m_changes but in the wrong place,
> why didn't you move it later?
>
>
> The problem is with the preemption case that just goes to out. I found
> it cleaner to just flush the tlb here for both cases instead of having
> the preemption case going to a flush: label then to out. If that's
> preferred, I'm OK with that approach too.
What is the issue to do?
out:
if ( flush )
{
TLB flush
}
if ( rc < 0 && ( op == INSERT ....
...
return rc;
I would prefer if you have to duplicate the flush here and at the same
time you will fix other flush issue in the different path in case of error.
Regards,
--
Julien Grall
next prev parent reply other threads:[~2014-09-29 12:52 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-29 11:36 [PATCH for-4.5 v11 0/9] Mem_event and mem_access for ARM Tamas K Lengyel
2014-09-29 11:36 ` [PATCH for-4.5 v11 1/9] xen/arm: p2m changes for mem_access support Tamas K Lengyel
2014-09-29 12:26 ` Julien Grall
2014-09-29 12:41 ` Tamas K Lengyel
2014-09-29 11:36 ` [PATCH for-4.5 v11 2/9] xen/arm: Implement domain_get_maximum_gpfn Tamas K Lengyel
2014-09-29 11:36 ` [PATCH for-4.5 v11 3/9] xen/arm: Add p2m_set_permission and p2m_shatter_page helpers Tamas K Lengyel
2014-09-29 11:36 ` [PATCH for-4.5 v11 4/9] xen/arm: Data abort exception (R/W) mem_events Tamas K Lengyel
2014-09-29 12:35 ` Julien Grall
2014-09-29 12:47 ` Tamas K Lengyel
2014-09-29 12:52 ` Julien Grall [this message]
2014-09-29 12:53 ` Julien Grall
2014-09-29 11:36 ` [PATCH for-4.5 v11 5/9] xen/arm: Allow hypervisor access to mem_access protected pages Tamas K Lengyel
2014-09-29 14:12 ` Julien Grall
2014-09-29 14:44 ` Tamas K Lengyel
2014-09-29 14:50 ` Julien Grall
2014-09-29 14:57 ` Tamas K Lengyel
2014-09-29 15:07 ` Julien Grall
2014-09-29 11:36 ` [PATCH for-4.5 v11 6/9] xen/arm: Instruction prefetch abort (X) mem_event handling Tamas K Lengyel
2014-09-29 14:13 ` Julien Grall
2014-09-29 11:36 ` [PATCH for-4.5 v11 7/9] xen/arm: Enable the compilation of mem_access and mem_event on ARM Tamas K Lengyel
2014-09-29 11:36 ` [PATCH for-4.5 v11 8/9] tools/libxc: Allocate magic page for mem access " Tamas K Lengyel
2014-09-29 11:36 ` [PATCH for-4.5 v11 9/9] tools/tests: Enable xen-access " Tamas K Lengyel
2014-09-29 14:16 ` Julien Grall
2014-09-29 12:17 ` [PATCH for-4.5 v11 0/9] Mem_event and mem_access for ARM Tamas K Lengyel
2014-09-29 13:37 ` Ian Campbell
2014-09-29 14:21 ` Tamas K Lengyel
2014-09-29 15:07 ` Ian Campbell
2014-09-29 15:17 ` Tamas K Lengyel
2014-09-29 15:21 ` Ian Campbell
2014-09-29 15:29 ` Tamas K Lengyel
2014-09-30 11:02 ` 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=5429561B.3000803@linaro.org \
--to=julien.grall@linaro.org \
--cc=dgdegra@tycho.nsa.gov \
--cc=ian.campbell@citrix.com \
--cc=stefano.stabellini@citrix.com \
--cc=tamas.lengyel@zentific.com \
--cc=tim@xen.org \
--cc=tklengyel@sec.in.tum.de \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.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.