All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: PAE support revisited
@ 2005-03-22  8:00 Ian Pratt
  2005-03-22  9:49 ` Jacob Gorm Hansen
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Ian Pratt @ 2005-03-22  8:00 UTC (permalink / raw)
  To: Karen White, Nuutti Kotivuori; +Cc: xen-devel, ian.pratt


> There are at least two separate efforts looking at enabling PAE in
> Xen that I know of.  A couple of us are looking at it and we have
> started correspondance with Gerd Knorr, who is also looking at it.
> 
> We have no firm idea on when a working implementation will
> be available, but are hoping sooner rather than later.

There are a few things that need to be sorted to get PAE to work:

 * cleanup use of 'unsigned long' that exists in some handling of PTEs.
We've agreed a strategy of doing this with Gerd
 
 * change hypercall structs (possibly just switch to using x86_64 mem op
hypercall layout)

 * Modify Linux arch xen to using a variable sized hypervisor hole in
the top of the VA space. Possibly best done by moving fixaddr to the
bottom end of memory.

 * adjust hypervisor memory layout to deal with larger variable sized
frame table.

 * add 3-level type checking to Xen (this should be easy as it already
supports 2 and 4 level)

 * add 3-level support to Linux arch Xen (this should be easy as the
there are very few modifications to the mm system these days) 

Once its working, there are a few other features that would be nice:

 * shadow mode support to run 2 level guests on a 3 level hypervisor

 * Linux kernel that boot time switches between 2 and 3 level. I'm sure
the distros would love this on native x86. I believe it can be done with
low performance cost by using function dispatch patching to switch
between 2 and 3 level versions of Linux's performance critical functions
(e.g. the _range functions and fork), and then just using 'if'
statements in the pte macros used by the less critical functions.  


It would be great if other people could start tackling some of the items
on the list.

Thanks,
Ian



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click

^ permalink raw reply	[flat|nested] 16+ messages in thread
* RE: PAE support revisited
@ 2005-03-22 23:56 Ian Pratt
  0 siblings, 0 replies; 16+ messages in thread
From: Ian Pratt @ 2005-03-22 23:56 UTC (permalink / raw)
  To: Karen White; +Cc: Nuutti Kotivuori, xen-devel, ian.pratt


> >  * add 3-level type checking to Xen (this should be easy as 
> it already
> > supports 2 and 4 level)
> 
> Is this adding the 3-level page tables to the header files?  Not sure
> what you mean by type checking.  If not, what do you mean by this? 

xen/arch/x86/mm.c contains the page type checking that enables Xen's
paravirtualizaed guests to operate without shadow pagetables.

Ian


-------------------------------------------------------
This SF.net email is sponsored by: 2005 Windows Mobile Application Contest
Submit applications for Windows Mobile(tm)-based Pocket PCs or Smartphones
for the chance to win $25,000 and application distribution. Enter today at
http://ads.osdn.com/?ad_idh82&alloc_id\x15148&op=click

^ permalink raw reply	[flat|nested] 16+ messages in thread
* RE: PAE support revisited
@ 2005-03-22  8:06 Ian Pratt
  0 siblings, 0 replies; 16+ messages in thread
From: Ian Pratt @ 2005-03-22  8:06 UTC (permalink / raw)
  To: James Harper, Kip Macy
  Cc: Karen White, Nuutti Kotivuori, xen-devel, ian.pratt

> So if xen is using PAE, all domains must also use PAE - it's a machine
> wide thing and not something that could be jumped between on 
> the fly. Is
> that right? What I was hoping for was a mode where Xen might run using
> PAE but could set up memory access for the domains so that 
> they wouldn't
> need to use PAE, provided their memory requirements didn't exceed 4G.
> But from what you are saying this just cannot be. Oh well.

Not without using shadow page tables. It would be great if Linux had a
mode where it boot-time switched between 2 and 3 level (see my other
post on this topic).

Xen's shadow page table algorithm is *very* good, but there are
inevitable performance and memory usage costs.

Ian
 



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click

^ permalink raw reply	[flat|nested] 16+ messages in thread
* RE: PAE support revisited
@ 2005-03-22  7:42 James Harper
  2005-03-22 12:29 ` Rik van Riel
  0 siblings, 1 reply; 16+ messages in thread
From: James Harper @ 2005-03-22  7:42 UTC (permalink / raw)
  To: Kip Macy; +Cc: Karen White, Nuutti Kotivuori, xen-devel

> 
> If xen and the guests all had PAE support enabled.
> 
>  It doesn't matter how much physical memory the guest gets to play
> with it still needs to have 64-bit physical addresses in its page
> tables if the machine has PAE enabled.

So if xen is using PAE, all domains must also use PAE - it's a machine
wide thing and not something that could be jumped between on the fly. Is
that right? What I was hoping for was a mode where Xen might run using
PAE but could set up memory access for the domains so that they wouldn't
need to use PAE, provided their memory requirements didn't exceed 4G.
But from what you are saying this just cannot be. Oh well.

Thanks.

James
 



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click

^ permalink raw reply	[flat|nested] 16+ messages in thread
* RE: PAE support revisited
@ 2005-03-22  5:38 James Harper
  2005-03-22  5:47 ` Kip Macy
  0 siblings, 1 reply; 16+ messages in thread
From: James Harper @ 2005-03-22  5:38 UTC (permalink / raw)
  To: Karen White, Nuutti Kotivuori; +Cc: xen-devel

I know very little about PAE, but would it be possible for Xen to
arrange memory so that with, say, 8G of memory, you could have 4 domains
of 2G each? Each domain would still be seeing <4G, but Xen would be
managing 8G.

An inquiring mind wants to know :)

James


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click

^ permalink raw reply	[flat|nested] 16+ messages in thread
* PAE support revisited
@ 2005-03-21 19:21 Nuutti Kotivuori
  2005-03-22  1:50 ` Karen White
  0 siblings, 1 reply; 16+ messages in thread
From: Nuutti Kotivuori @ 2005-03-21 19:21 UTC (permalink / raw)
  To: xen-devel

I will represent here a commercial look into Xen and PAE support, as
seen by my company Stinghorn (www.stinghorn.com). The points raised
are probably not too interesting from a technical standpoint.

A little background. We are currently offering virtualized products
and services on top of our own virtualization platform, which is based
on UML. However, due to the innate limitations in UML, we are
investigating Xen as an alternative.

But, the lack of PAE support, that is Xen supporting more than 4G of
memory, looks like to be an almost showstopper for us. Let me explain
why.

We need to be able to have our products working in setups of various
sizes. In the small end a setup consists of just one or few virtual
machines running on a rather low end PC, providing services. A medium
sized setup would consist of running several somewhat memory hungry
services on a single machine, such as several antivirus/antispam
gateways. And a large setup would be an operator which takes it for
granted that they will install atleast 6 gigabytes of memory into the
machine to run many virtual machines. And these are still x86 servers
we are talking about, not x86_64.

While the x86_64 support is progressing nicely, and will support more
than 4G memory, that does not really help us in this case. Even if
x86_64 support in Xen was available today, we cannot move all our
products to be x86_64 only. This is because it is still a young
platform. Companies do not have x86_64 hardware lying around for
testing. Distributions' support for x86_64 is still at times a bit
lacking - we would have to settle only for a few select Linux
distributions. There are still bugs and undiscovered problems in
running programs in 64-bit mode. And even the availability of
Intel-based x86_64 hardware is a bit of a problem. In a year, the
situation could be entirely different, but as of today, switching
everything over just is not viable.

So we would have to support x86 *and* x86_64 - x86 for all the low-end
cases and x86_64 for the cases requiring over 4G of memory. But, that
would mean that we would have to have two versions of all our products
- one for x86 and one for x86_64. Even if we would manage to have just
two different kernels and the same 32-bit userland (which is unlikely
to be without problems since some things do communicate with the
kernel), we would still have double testing effort - once for x86 and
once for x86_64. And that is a high price to pay.

We could possibly make due if Xen on x86_64 would support 32-bit
guests in a way close enough to native 32-bit so that we would only
have to test the host on x86 and x86_64 and not every different guest
we provide. But as it stands now, that doesn't seem likely.

As you can see, we are left with very little options. But if PAE
support would be in Xen, we could stay x86-only for quite some time
still. 32-bit only Xen would be fine for us until x86_64 is the norm,
instead of the exception, and there are services that really require
it.

So, we are looking into ways to make this happen. We tried to contact
XenSource, to ask if it was possible to contract the work for PAE from
them, but got no reply to our inquiries. I've seen work estimates from
two or three months to less than a month on the list - but obviously
it is hard to say without a closer look. Although personally I would
be very willing to try and make it happen, unfortunately my workload
is required elsewhere.

In any case, this is all still only under evaluation and now
commitments have been made. We do have a working platform at the
moment, even if it is not perfect, and there would have to be clear
and definite advantages within our business cases to make the
switch. But, unless this whole 4G mess gets solved somehow, it is very
likely we will reconsider Xen again in half a year or in a year, when
the world looks different again.

-- Naked



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2005-03-30 10:20 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-22  8:00 PAE support revisited Ian Pratt
2005-03-22  9:49 ` Jacob Gorm Hansen
2005-03-22 14:51 ` Ronald G. Minnich
2005-03-22 18:22 ` [patch] " Gerd Knorr
2005-03-22 23:21 ` Karen White
2005-03-23 23:23   ` PAE: config and file layout Karen White
     [not found]   ` <87oed2bpv5.fsf@bytesex.org>
2005-03-30  0:28     ` PAE support revisited - questions Karen White
2005-03-30 10:20       ` Gerd Knorr
  -- strict thread matches above, loose matches on Subject: below --
2005-03-22 23:56 PAE support revisited Ian Pratt
2005-03-22  8:06 Ian Pratt
2005-03-22  7:42 James Harper
2005-03-22 12:29 ` Rik van Riel
2005-03-22  5:38 James Harper
2005-03-22  5:47 ` Kip Macy
2005-03-21 19:21 Nuutti Kotivuori
2005-03-22  1:50 ` Karen White

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.