From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com,
konrad.wilk@oracle.com, david.vrabel@citrix.com,
boris.ostrovsky@oracle.com, x86@kernel.org, tglx@linutronix.de,
mingo@redhat.com, hpa@zytor.com
Subject: Re: [Xen-devel] [PATCH V3 2/8] xen: Delay remapping memory of pv-domain
Date: Tue, 11 Nov 2014 13:03:32 +0100 [thread overview]
Message-ID: <5461FB14.6090908@suse.com> (raw)
In-Reply-To: <5461F6C7.9070500@citrix.com>
On 11/11/2014 12:45 PM, Andrew Cooper wrote:
> On 11/11/14 05:43, Juergen Gross wrote:
>> diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
>> index fa75842..f67f8cf 100644
>> --- a/arch/x86/xen/p2m.c
>> +++ b/arch/x86/xen/p2m.c
>> @@ -268,6 +271,22 @@ static void p2m_init(unsigned long *p2m)
>> p2m[i] = INVALID_P2M_ENTRY;
>> }
>>
>> +static void * __ref alloc_p2m_page(void)
>> +{
>> + if (unlikely(use_brk))
>> + return extend_brk(PAGE_SIZE, PAGE_SIZE);
>> +
>> + if (unlikely(!slab_is_available()))
>> + return alloc_bootmem_align(PAGE_SIZE, PAGE_SIZE);
>> +
>> + return (void *)__get_free_page(GFP_KERNEL | __GFP_REPEAT);
>> +}
>> +
>> +static void free_p2m_page(void *p)
>> +{
>> + free_page((unsigned long)p);
>> +}
>> +
>
> What guarantees are there that free_p2m_page() is only called on p2m
> pages allocated using __get_free_page() ? I can see from this diff that
> this is the case, but that doesn't help someone coming along in the future.
>
> At the very least, a comment is warranted about the apparent mismatch
> between {alloc,free}_p2m_page().
Okay, I'll add a comment.
>
>> @@ -420,6 +439,7 @@ unsigned long __init xen_revector_p2m_tree(void)
>> unsigned long *mfn_list = NULL;
>> unsigned long size;
>>
>> + use_brk = 0;
>> va_start = xen_start_info->mfn_list;
>> /*We copy in increments of P2M_PER_PAGE * sizeof(unsigned long),
>> * so make sure it is rounded up to that */
>> @@ -484,6 +504,7 @@ unsigned long __init xen_revector_p2m_tree(void)
>> #else
>> unsigned long __init xen_revector_p2m_tree(void)
>> {
>> + use_brk = 0;
>> return 0;
>> }
>> #endif
>
> This appears to be a completely orphaned function.
>
> It has a split definition based on CONFIG_X86_64, but the sole caller is
> xen_pagetable_p2m_copy() which is X86_64 only.
>
> How does use_brk get cleared for 32bit PV guests?
Good catch. use_brk is removed in a later patch and I have to admit I
didn't test each patch with 32 bit guests, just some of them (including
the final one, of course).
I'll change (and test) the patch accordingly.
Juergen
next prev parent reply other threads:[~2014-11-11 12:03 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-11 5:43 [PATCH V3 0/8] xen: Switch to virtual mapped linear p2m list Juergen Gross
2014-11-11 5:43 ` [PATCH V3 1/8] xen: Make functions static Juergen Gross
2014-11-11 10:21 ` [Xen-devel] " David Vrabel
2014-11-11 10:36 ` Juergen Gross
2014-11-11 10:50 ` David Vrabel
2014-11-11 10:55 ` Jürgen Groß
2014-11-11 5:43 ` [PATCH V3 2/8] xen: Delay remapping memory of pv-domain Juergen Gross
2014-11-11 11:45 ` [Xen-devel] " Andrew Cooper
2014-11-11 12:03 ` Juergen Gross [this message]
2014-11-12 21:45 ` Konrad Rzeszutek Wilk
2014-11-13 6:23 ` Juergen Gross
2014-11-13 19:56 ` Konrad Rzeszutek Wilk
2014-11-14 4:53 ` Juergen Gross
2014-11-14 11:16 ` [Xen-devel] " David Vrabel
2014-11-14 16:47 ` Konrad Rzeszutek Wilk
2014-11-14 17:14 ` Juergen Gross
2014-11-19 19:43 ` Konrad Rzeszutek Wilk
2014-11-20 4:59 ` Juergen Gross
2014-11-11 5:43 ` [PATCH V3 3/8] xen: Delay m2p_override initialization Juergen Gross
2014-11-11 10:29 ` [Xen-devel] " David Vrabel
2014-11-12 18:35 ` Konrad Rzeszutek Wilk
2014-11-11 5:43 ` [PATCH V3 4/8] xen: Delay invalidating extra memory Juergen Gross
2014-11-12 22:10 ` Konrad Rzeszutek Wilk
2014-11-13 6:49 ` Juergen Gross
2014-11-13 19:56 ` Konrad Rzeszutek Wilk
2014-11-11 5:43 ` [PATCH V3 5/8] x86: Introduce function to get pmd entry pointer Juergen Gross
2014-11-12 22:12 ` Konrad Rzeszutek Wilk
2014-11-13 6:54 ` Juergen Gross
2014-11-13 20:01 ` Konrad Rzeszutek Wilk
2014-11-11 5:43 ` [PATCH V3 6/8] xen: Hide get_phys_to_machine() to be able to tune common path Juergen Gross
2014-11-11 17:38 ` [Xen-devel] " David Vrabel
2014-11-12 22:18 ` Konrad Rzeszutek Wilk
2014-11-13 9:15 ` Juergen Gross
2014-11-13 13:51 ` Konrad Rzeszutek Wilk
2014-11-11 5:43 ` [PATCH V3 7/8] xen: switch to linear virtual mapped sparse p2m list Juergen Gross
2014-11-11 17:47 ` [Xen-devel] " David Vrabel
2014-11-13 9:21 ` Juergen Gross
2014-11-14 11:58 ` David Vrabel
2014-11-14 12:42 ` Juergen Gross
2014-11-19 20:38 ` Konrad Rzeszutek Wilk
2014-11-19 20:37 ` Konrad Rzeszutek Wilk
2014-11-11 5:43 ` [PATCH V3 8/8] xen: Speed up set_phys_to_machine() by using read-only mappings Juergen Gross
2014-11-11 17:48 ` [Xen-devel] " David Vrabel
2014-11-19 20:39 ` Konrad Rzeszutek Wilk
2014-11-19 20:41 ` [PATCH V3 0/8] xen: Switch to virtual mapped linear p2m list Konrad Rzeszutek Wilk
2014-11-20 5:08 ` 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=5461FB14.6090908@suse.com \
--to=jgross@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=boris.ostrovsky@oracle.com \
--cc=david.vrabel@citrix.com \
--cc=hpa@zytor.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xensource.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 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).