From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Julien Grall <julien.grall@linaro.org>,
Arianna Avanzini <avanzini.arianna@gmail.com>,
xen-devel@lists.xen.org
Cc: julien.grall@citrix.com, paolo.valente@unimore.it, keir@xen.org,
stefano.stabellini@eu.citrix.com, tim@xen.org,
dario.faggioli@citrix.com, Ian.Jackson@eu.citrix.com,
Ian.Campbell@eu.citrix.com, etrudeau@broadcom.com,
JBeulich@suse.com, viktor.kleinik@globallogic.com
Subject: Re: [PATCH v10 01/12] arch/arm: add consistency check to REMOVE p2m changes
Date: Tue, 29 Jul 2014 13:02:26 +0100 [thread overview]
Message-ID: <53D78D52.3020906@citrix.com> (raw)
In-Reply-To: <53D78BBF.7080108@linaro.org>
On 29/07/14 12:55, Julien Grall wrote:
> Hi Arianna,
>
> On 07/28/2014 11:11 PM, Arianna Avanzini wrote:
>> @@ -609,26 +610,42 @@ static int apply_one_level(struct domain *d,
>> if ( p2m_table(orig_pte) )
>> return P2M_ONE_DESCEND;
>>
>> - if ( op == REMOVE &&
>> - !is_mapping_aligned(*addr, end_gpaddr,
>> - 0, /* maddr doesn't matter for remove */
>> - level_size) )
>> + if ( op == REMOVE )
>> {
>> - /*
>> - * Removing a mapping from the middle of a superpage. Shatter
>> - * and descend.
>> - */
>> - *flush = true;
>> - rc = p2m_create_table(d, entry,
>> - level_shift - PAGE_SHIFT, flush_cache);
>> - if ( rc < 0 )
>> - return rc;
>> -
>> - p2m->stats.shattered[level]++;
>> - p2m->stats.mappings[level]--;
>> - p2m->stats.mappings[level+1] += LPAE_ENTRIES;
>> -
>> - return P2M_ONE_DESCEND;
>> + if ( is_mapping_aligned(*addr, end_gpaddr, *maddr, level_size) )
>> + {
> You don't cover every case with this solution. This code is only called
> when (level < 3). So for single 4k (level 3), Xen will not print a
> message when the MFN differ.
>
> I still think that the best place to check it, is after the if ( level < 3 )
>
> The code would look like:
>
> if ( level < 3 )
> {
> ....
> }
>
> if ( op == REMOVE && pfn_to_paddr(orig_pte.p2m.base) != *maddr )
> printk(XENLOG_ERR "p2m_remove"....);
>
>> + unsigned long mfn = orig_pte.p2m.base;
>> + /*
>> + * Ensure that the guest address addr currently being
>> + * handled (that is in the range given as argument to
>> + * this function) is actually mapped to the corresponding
>> + * machine address in the specified range. maddr here is
>> + * the machine address given to the function, while mfn
>> + * is the machine frame number actually mapped to the
>> + * guest address: check if the two correspond.
>> + */
>> + if ( *maddr != pfn_to_paddr(mfn) )
>> + printk("p2m_remove dom%d: mapping at %"PRIpaddr" is of maddr %"PRIpaddr" not %"PRIpaddr" as expected\n",
> You have to prefix it at least by XENLOG_WARNING or XENLOG_ERR
>
> Regards,
>
XENLOG_G_WARNING or XENLOG_G_ERR
Guest printk()s are rate limited differently to core hypervisor
printk()s, and have a separate controllable loglevel.
~Andrew
next prev parent reply other threads:[~2014-07-29 12:02 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-28 22:11 [PATCH v10 00/12] Implement the XEN_DOMCTL_memory_mapping hypercall for ARM Arianna Avanzini
2014-07-28 22:11 ` [PATCH v10 01/12] arch/arm: add consistency check to REMOVE p2m changes Arianna Avanzini
2014-07-29 11:55 ` Julien Grall
2014-07-29 12:01 ` Ian Campbell
2014-07-29 12:02 ` Andrew Cooper [this message]
2014-07-28 22:11 ` [PATCH v10 02/12] arch/arm: unmap partially-mapped I/O-memory regions Arianna Avanzini
2014-07-29 12:00 ` Julien Grall
2014-07-28 22:12 ` [PATCH v10 03/12] arch/x86: warn if to-be-removed mapping does not exist Arianna Avanzini
2014-07-28 22:12 ` [PATCH v10 04/12] arch/x86: cleanup memory_mapping DOMCTL Arianna Avanzini
2014-07-28 22:12 ` [PATCH v10 05/12] xen/common: add ARM stub for the function memory_type_changed() Arianna Avanzini
2014-07-28 22:12 ` [PATCH v10 06/12] xen/x86: factor out map and unmap from the memory_mapping DOMCTL Arianna Avanzini
2014-07-29 7:27 ` Jan Beulich
2014-07-29 12:02 ` Julien Grall
2014-07-28 22:12 ` [PATCH v10 07/12] xen/common: move the memory_mapping DOMCTL hypercall to common code Arianna Avanzini
2014-07-30 15:59 ` Julien Grall
2014-07-28 22:12 ` [PATCH v10 08/12] tools/libxl: parse optional start gfn from the iomem config option Arianna Avanzini
2014-08-04 13:39 ` Julien Grall
2014-07-28 22:12 ` [PATCH v10 09/12] tools/libxl: handle the iomem parameter with the memory_mapping hcall Arianna Avanzini
2014-07-28 22:12 ` [PATCH v10 10/12] tools/libxl: move PCI-related macros in a header file Arianna Avanzini
2014-07-28 22:12 ` [PATCH v10 11/12] tools/libxl: explicitly grant access to needed I/O-memory ranges Arianna Avanzini
2014-07-30 11:33 ` Ian Campbell
2014-07-28 22:12 ` [PATCH v10 12/12] xen/common: do not implicitly permit access to mapped I/O memory Arianna Avanzini
2014-07-29 7:29 ` Jan Beulich
2014-08-18 19:50 ` [PATCH v10 00/12] Implement the XEN_DOMCTL_memory_mapping hypercall for ARM Andrii Tseglytskyi
2014-08-20 18:50 ` Arianna Avanzini
2014-08-20 19:15 ` Andrii Tseglytskyi
2014-08-21 15:43 ` Andrii Tseglytskyi
2014-08-22 14:25 ` Arianna Avanzini
2014-08-22 18:27 ` Andrii Tseglytskyi
2014-08-22 18:36 ` Arianna Avanzini
2014-08-22 19:31 ` Andrii Tseglytskyi
2014-08-22 23:51 ` Stefano Stabellini
2014-08-23 12:07 ` Arianna Avanzini
2014-08-23 17:36 ` Andrii Tseglytskyi
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=53D78D52.3020906@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=Ian.Campbell@eu.citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=JBeulich@suse.com \
--cc=avanzini.arianna@gmail.com \
--cc=dario.faggioli@citrix.com \
--cc=etrudeau@broadcom.com \
--cc=julien.grall@citrix.com \
--cc=julien.grall@linaro.org \
--cc=keir@xen.org \
--cc=paolo.valente@unimore.it \
--cc=stefano.stabellini@eu.citrix.com \
--cc=tim@xen.org \
--cc=viktor.kleinik@globallogic.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 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).