WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH 1/5 TAKE 2] xenoprof: split xen x86 xenoprof code

On Fri, Nov 17, 2006 at 01:26:04PM -0600, Santos, Jose Renato G wrote:

> > > QUESTIONS for Isaku:
> > > 
> > > patch 4/5:
> > > ==========
> > > 
> > > > +struct xenoprof_shared_buffer {
> > > > +       char                                    *buffer;
> > > > +       struct xenoprof_arch_shared_buffer      arch;
> > > > +};
> > > 
> > > The arch field has no extra info for x86. Why do you need this?
> > 
> > On IA64 it is defined as
> > struct xenoprof_arch_shared_buffer {
> >         struct resource*        res;
> > };
> > 
> > On IA64, auto translated mode feature is enabled.
> > It means that page mapping from xen is based on pseudo 
> > physical address, not virtual address. Pseudo physical 
> > address used to map pages must be recorded somewhere in order 
> > to unmap.
> > I guess, if xenoprof/x86 supported auto translated guest mode 
> > something similar structure would be necessary.
> > 
> > 
>   Isaku
> 
>  I am still not convinced that we need this. Since this in the kernel
> you can always get the pseudo physical address from the virtual address,
> right? Am I missing something?

Yes, the pseudo physical address itself can be get.
The point is that the pseudo physical addresses aren't always
backed by struct page.
In such a case alloc_pages()/free_pages() can't be used, another structure
is necessary.
In fact Xen/IA64 allocates the pseudo physical address resion by
allocate_resource(&iomem_resource, ...). Not by alloc_pages().
Why doesn't Xen/IA64 use alloc_pages()?
Because it is also used for grant table foreign domain page mapping
and its size is very large sometimes. Using alloc_pages() results in OOM.
Xen/PPC seems to adopt another approach, though.


>  I applied your patches to changeset 12446 but they are failing to
> compile. I have attached the make output below
> 
>  Could you please fix this and resend?

Sorry for that. 
It should compile with CONFIG_PROFILING=y and CONFIG_OPORIFLE=y.
Anyway I'll fix and resend.
-- 
yamahata

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>