Re: [PATCH] xen: convert p2m to a 3 level tree - partial revert

From: Stefan Bader
Date: Thu Jan 27 2011 - 10:28:26 EST


On 01/27/2011 04:19 PM, Daniel Kiper wrote:
> Hi,
>
> On Thu, Jan 27, 2011 at 04:02:31PM +0100, Stefan Bader wrote:
>> 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@xxxxxxxxxxxxx>
>>> 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.
>
> No, it does not work (CONFIG_XEN_MAX_DOMAIN_MEMORY=128).
>

Ok, thanks. So out of interest, what size of guest memory is failing for you?

-Stefan

> Daniel
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/