From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <ian.campbell@citrix.com>,
Tamas K Lengyel <tamas.lengyel@zentific.com>
Cc: Tim Deegan <tim@xen.org>, Ian Jackson <ian.jackson@eu.citrix.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
Stefano Stabellini <stefano.stabellini@citrix.com>,
Andres Lagar-Cavilla <andres@lagarcavilla.org>,
Jan Beulich <jbeulich@suse.com>,
Daniel De Graaf <dgdegra@tycho.nsa.gov>,
Tamas K Lengyel <tklengyel@sec.in.tum.de>
Subject: Re: [PATCH for-4.5 v6 10/17] xen/arm: p2m type definitions and changes
Date: Tue, 16 Sep 2014 13:38:04 -0700 [thread overview]
Message-ID: <54189FAC.50308@linaro.org> (raw)
In-Reply-To: <1410874037.18008.2.camel@hastur.hellion.org.uk>
Hi Ian,
On 16/09/14 06:27, Ian Campbell wrote:
> On Tue, 2014-09-16 at 10:49 +0200, Tamas K Lengyel wrote:
>>
>>
>> On Tue, Sep 16, 2014 at 12:35 AM, Ian Campbell
>> <ian.campbell@citrix.com> wrote:
>> On Mon, 2014-09-15 at 16:02 +0200, Tamas K Lengyel wrote:
>> > Define p2m_access_t in ARM and add necessary changes for
>> page table
>> > construction routines to pass the default access
>> information. Also,
>> > define the Radix tree that will hold access permission
>> settings as
>> > the PTE's don't have enough software programmable bits
>> available.
>>
>> So my main concern here is the overhead for non-xenaccess
>> users. I think
>> it amounts to a few extra fields in the p2m_domain struct
>> which I can
>> see here and presumably some NULL vs. non-NULL type checks
>> which I guess
>> we will get to later. The important thing is that the fast
>> paths for the
>> common case don't get a lot of extra overhead.
>>
>> WRT the xenaccess performance did you consider any options
>> other than a
>> radix tree (which seems quite expensive to me)? e.g. perhaps
>> allocating
>> (only when needed) as second page for each real T page as a
>> shadow/extended region? Perhaps pointed to by a filed in the
>> real PT
>> struct page_info. I'm sure there are other possible ideas too.
>>
>> Ian,
>>
>>
>> Those would all be possible solutions. I used the Radix tree
>> implementation already in Xen as a matter of convenience and because
>> it has an acceptable overhead. I certainly don't oppose further
>> optimizing this code, I'm just not sure if it needs to happen now,
>> provided feature freeze is rapidly approaching. The main concern
>> should be impact on non-xenaccess code-paths, which I agree are a
>> showstopper of any feature like this. If you say it can't be merged
>> unless the xenaccess code-path is also optimized I'm afraid this
>> series will be postponed till 4.6 as I won't have the time to test out
>> which approach puts the least overhead on the system under what
>> usage-scenarios etc in this timeframe.
>
> WRT merging I'm only concerned about the impact on non-xenaccess uses,
> the stuff about the xenaccess-on case was just idle wondering, sorry for
> not making that clear.
I didn't write this code, but read it multiple time and ask the similar
question to Tamas few version ago.
So, the radix tree is only used when the access type of the page is
different than access_rwx. This is the default access when xenaccess is
not used.
AFAIU, the only overhead we have is the new fields in the arch_domain
structure.
Regards,
--
Julien Grall
next prev parent reply other threads:[~2014-09-16 20:38 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-15 14:02 [PATCH for-4.5 v6 00/17] Mem_event and mem_access for ARM Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 01/17] xen: Relocate mem_access and mem_event into common Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 02/17] xen: Relocate p2m_mem_access_resume to mem_access common Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 03/17] xen: Relocate struct npfec definition into common Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 04/17] xen: Relocate mem_event_op domctl and access_op memop " Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 05/17] x86/p2m: Typo fix for spelling ambiguous Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 06/17] xen/mem_event: Clean out superfluous white-spaces Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 07/17] xen/mem_event: Relax error condition on debug builds Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 08/17] xen/mem_event: Abstract architecture specific sanity checks Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 09/17] xen/mem_access: Abstract architecture specific sanity check Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 10/17] xen/arm: p2m type definitions and changes Tamas K Lengyel
2014-09-15 22:35 ` Ian Campbell
2014-09-16 8:49 ` Tamas K Lengyel
2014-09-16 13:27 ` Ian Campbell
2014-09-16 20:38 ` Julien Grall [this message]
2014-09-16 21:52 ` Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 11/17] xen/arm: Add set access required domctl Tamas K Lengyel
2014-09-15 22:37 ` Ian Campbell
2014-09-16 8:37 ` Tamas K Lengyel
2014-09-15 22:38 ` Ian Campbell
2014-09-16 8:33 ` Tamas K Lengyel
2014-09-16 13:25 ` Ian Campbell
2014-09-15 14:02 ` [PATCH for-4.5 v6 12/17] xen/arm: Implement domain_get_maximum_gpfn Tamas K Lengyel
2014-09-15 22:39 ` Ian Campbell
2014-09-16 8:02 ` Tamas K Lengyel
2014-09-16 16:44 ` Ian Campbell
2014-09-16 17:09 ` Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 13/17] xen/arm: Data abort exception (R/W) mem_events Tamas K Lengyel
2014-09-15 22:53 ` Ian Campbell
[not found] ` <CAErYnshu0vJJMxWwu4eo2MZf=q_g2H123p6VUk_4a9f12vYLjg@mail.gmail.com>
2014-09-16 10:07 ` Tamas K Lengyel
2014-09-16 16:50 ` Ian Campbell
2014-09-16 17:08 ` Tamas K Lengyel
2014-09-18 18:54 ` Ian Campbell
2014-09-18 20:09 ` Tamas K Lengyel
2014-09-19 9:05 ` Tamas K Lengyel
2014-09-22 9:11 ` Ian Campbell
2014-09-22 17:18 ` Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 14/17] xen/arm: Instruction prefetch abort (X) mem_event handling Tamas K Lengyel
2014-09-18 18:59 ` Ian Campbell
2014-09-18 20:12 ` Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 15/17] xen/arm: Enable the compilation of mem_access and mem_event on ARM Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 16/17] tools/libxc: Allocate magic page for mem access " Tamas K Lengyel
2014-09-15 14:02 ` [PATCH for-4.5 v6 17/17] tools/tests: Enable xen-access " Tamas K Lengyel
2014-09-18 19:02 ` Ian Campbell
2014-09-22 18:48 ` Tamas K Lengyel
2014-09-23 12:18 ` Ian Campbell
2014-10-01 17:32 ` Aravindh Puthiyaparambil (aravindp)
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=54189FAC.50308@linaro.org \
--to=julien.grall@linaro.org \
--cc=andres@lagarcavilla.org \
--cc=dgdegra@tycho.nsa.gov \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=stefano.stabellini@citrix.com \
--cc=tamas.lengyel@zentific.com \
--cc=tim@xen.org \
--cc=tklengyel@sec.in.tum.de \
--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 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).