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

From: Daniel Kiper
Date: Thu Jan 27 2011 - 10:20:26 EST


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

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/