[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4D418907.2030708@canonical.com>
Date: Thu, 27 Jan 2011 16:02:31 +0100
From: Stefan Bader <stefan.bader@...onical.com>
To: Daniel Kiper <dkiper@...-space.pl>
CC: linux-kernel@...r.kernel.org, stable@...nel.org, x86@...nel.org,
xen-devel@...ts.xensource.com, jeremy@...p.org,
konrad.wilk@...cle.com, mingo@...hat.com, mingo@...e.hu
Subject: Re: [PATCH] xen: convert p2m to a 3 level tree - partial revert
On 01/27/2011 03:59 PM, Stefan Bader wrote:
> On 01/27/2011 03:48 PM, Daniel Kiper wrote:
>> Hi,
>>
>> Durning work on Xen memory hotplug I discoverd that
>> 2.6.38-rc2 does not boot on domU. After some investigation
>> it appeared that 58e05027b530ff081ecea68e38de8d59db8f87e0
>> commit changed CONFIG_XEN_MAX_DOMAIN_MEMORY constant value
>> to 128. This change does not allow to boot kernel on domU
>> with small memory size (I could confirm that it is even
>> not possible to boot kernel on domU with 2 GiB). Guest
>> crash silently without any warning. Durning further
>> research I found out that there is another commit published
>> recently (8e1b4cf2108488ccfb9a3e7ed7cd85a435e01d4b) which attempts
>> to fix this issue, however, it does not work on my platform.
>> I decided to reenable CONFIG_XEN_MAX_DOMAIN_MEMORY option in
>> kernel config and enable users to choose resonable values for
>> their machines until better fix will be published. I think this
>> solution is good because allow users to boot domU with newest
>> kernel and allow developers to continue their work without
>> time presure which could lead to new bugs.
>>
>
> Have you tried with a version that contains
>
> commit 8e1b4cf2108488ccfb9a3e7ed7cd85a435e01d4b
> Author: Stefan Bader <stefan.bader@...onical.com>
> Date: Thu Jan 20 15:38:23 2011 +0100
>
> xen: p2m: correctly initialize partial p2m leaf
>
> I still may need to send a follow up to add a matching RESERVE_BRK, but at least
> I was able to boot small DomU's again.
>
> -Stefan
>> This patch applies cleanly to current Linus' kernel tree.
>>
Sorry, did not read careful enough. So you did. Maybe you could actually try to
make the additional change of
--- a/arch/x86/xen/p2m.c
+++ b/arch/x86/xen/p2m.c
@@ -61,6 +61,7 @@ static RESERVE_BRK_ARRAY(unsigned long *, p2m_top_mfn_p, P2M_T
RESERVE_BRK(p2m_mid, PAGE_SIZE * (MAX_DOMAIN_PAGES / (P2M_PER_PAGE * P2M_MID_PE
RESERVE_BRK(p2m_mid_mfn, PAGE_SIZE * (MAX_DOMAIN_PAGES / (P2M_PER_PAGE * P2M_MI
+RESERVE_BRK(p2m_node, PAGE_SIZE);
static inline unsigned p2m_top_index(unsigned long pfn)
{
This one I missed and probably that has more effects on big memory values.
-Stefan
>> Signed-off-by: Daniel Kiper <dkiper@...-space.pl>
>> ---
>> arch/x86/xen/Kconfig | 11 +++++++----
>> 1 files changed, 7 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig
>> index 5b54892..a234b9a 100644
>> --- a/arch/x86/xen/Kconfig
>> +++ b/arch/x86/xen/Kconfig
>> @@ -29,12 +29,15 @@ config XEN_PVHVM
>> depends on X86_LOCAL_APIC
>>
>> config XEN_MAX_DOMAIN_MEMORY
>> - int
>> - default 128
>> + int "Maximum allowed size of a domain in gigabytes"
>> + default 8 if X86_32
>> + default 32 if X86_64
>> depends on XEN
>> help
>> - This only affects the sizing of some bss arrays, the unused
>> - portions of which are freed.
>> + The pseudo-physical to machine address array is sized
>> + according to the maximum possible memory size of a Xen
>> + domain. This array uses 1 page per gigabyte, so there's no
>> + need to be too stingy here.
>>
>> config XEN_SAVE_RESTORE
>> bool
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists