linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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


  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).