Subject: Re: CVS commit: src/sys/arch/xen
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: source-changes
Date: 08/22/2005 15:27:18
On Mon, Aug 22, 2005 at 09:33:08PM +0900, YAMAMOTO Takashi wrote:
> > > - there is no recovery in the case of failure of MEMOP_increase_reservation.
> > >   is this intended?
> > 
> > There's no recovery needed. We lost these pages, they are marked as
> > allocated in UVM so that's OK. We could eventually reallocate the pages one by
> > one, but I'm not sure it's worth it as it's not something that should
> > happen anyway.
> 
> assuming that xen's buddy allocator has the same characteristics as
> linux's, "high-order" allocation failure is something that likely
> happens on long run.

Linux call BUG() if MEMOP_increase_reservation fails, so my guest is that it
can't fail if the corresponding MEMOP_decrease_reservation before.
I didn't look at the sources, but it's possible that the hypervisor guarantees
that a contigous allocation is always possible by moving data around and
updating the phys<=>machine mappings (and PTEs).

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--