|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Re: Balloon driver crash
On Thursday, June 03, 2010, Ian Campbell wrote:
> > This seems to be about line 343 of drivers/xen/balloon.c in the
> > subroutine decrease_reservation which is
> >
> > for (j = 0; j < balloon_npages; j++, lpfn++, mfn++) {
> > if ((discontig_frame_list[j] =
> >pfn_to_mfn(lpfn))
> >
> > != mfn)
> >
> > discontig_free = 1;
> >
> > set_phys_to_machine(lpfn, INVALID_P2M_ENTRY);
> >
> > /* here */ if (!PageHighMem(page)) {
> >
> > ret = HYPERVISOR_update_va_mapping(
> > (unsigned long)__va(lpfn <<
> >
> > PAGE_SHIFT),
> >
> > __pte_ma(0), 0);
> > BUG_ON(ret);
> > }
> > }
> >
> >
> > >From what I can tell page is meaningless in this context as it is just
> >
> > a temporary variable used in the previous loop, so I would
> > guess that PageHighMem should be checking something else, or page should
> > be set somewhere eg. at a guess page=pfn_to_page(lpfn);
>
> That would be my guess also. CCing Dave McCracken who looks to have
> introduced this code in 0e898d5e "Add hugepage support to balloon
> driver"
Yes, that is definitely an error. The offending line should be
if (!PageHighMem(pfn_to_page(lpfn))) {
Dave McCracken
Oracle Corp.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|