[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



 

> -----Original Message-----
> From: Isaku Yamahata [mailto:yamahata@xxxxxxxxxxxxx] 
> Sent: Wednesday, November 15, 2006 9:54 PM
> To: Santos, Jose Renato G
> Cc: Keir Fraser; xen-devel@xxxxxxxxxxxxxxxxxxx; 
> xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [Xen-devel] [PATCH 1/5 TAKE 2] xenoprof: split 
> xen x86 xenoprof code
> 
> On Wed, Nov 15, 2006 at 09:58:40PM -0600, Santos, Jose Renato G wrote:
> 
> > Mostly, the patches look good. 
> > I have a few questions though , mostly for clarification
> 
> Thank you for your review.
> 
> 
> > 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?

 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?

  Thanks

Renato

========================================================================
============ 
  CC [M]  arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.o
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:45:
error: array type has incomplete element type
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c: In
function "unmap_passive_list":
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:242:
warning: implicit declaration of function
"xenoprof_arch_unmap_shared_buffer"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c: In
function "map_xenoprof_buffer":
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:253:
error: invalid use of undefined type "struct xenoprof_shared_buffer"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:257:
warning: implicit declaration of function
"xenoprof_arch_map_shared_buffer"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:264:
error: invalid use of undefined type "struct xenoprof_shared_buffer"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c: In
function "xenoprof_setup":
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:300:
warning: implicit declaration of function "xenoprof_arch_counter"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c: In
function "xenoprof_start":
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:345:
warning: implicit declaration of function "xenoprof_arch_start"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c: In
function "xenoprof_stop":
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:354:
warning: implicit declaration of function "xenoprof_arch_stop"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c: In
function "xenoprof_set_passive":
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:422:
warning: implicit declaration of function "xenoprof_arch_set_passive"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c: At top
level:
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:460:
error: syntax error before "do"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:465:
warning: type defaults to "int" in declaration of "ret"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:465:
error: "init" undeclared here (not in a function)
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:465:
error: initializer element is not constant
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:465:
warning: data definition has no type or storage class
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:466:
error: syntax error before "if"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:468:
warning: type defaults to "int" in declaration of "xenoprof_is_primary"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:468:
error: redefinition of "xenoprof_is_primary"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:51:
error: previous definition of "xenoprof_is_primary" was here
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:468:
warning: data definition has no type or storage class
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:471:
warning: type defaults to "int" in declaration of "cpu_type"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:471:
error: conflicting types for "cpu_type"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:59:
error: previous declaration of "cpu_type" was here
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:471:
error: invalid initializer
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:471:
warning: data definition has no type or storage class
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:472:
error: syntax error before "." token
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:472:
warning: type defaults to "int" in declaration of "strncpy"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:472:
warning: function declaration isn"t a prototype
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:472:
error: conflicting types for "strncpy"
include/asm/string.h:45: error: previous definition of "strncpy" was
here
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:472:
warning: data definition has no type or storage class
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:473:
error: syntax error before "." token
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:475:
warning: type defaults to "int" in declaration of "init_driverfs"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:475:
warning: function declaration isn"t a prototype
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:475:
warning: data definition has no type or storage class
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:476:
warning: type defaults to "int" in declaration of "using_xenoprof"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:476:
error: non-static declaration of "using_xenoprof" follows static
declaration
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:458:
error: previous declaration of "using_xenoprof" was here
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:476:
warning: data definition has no type or storage class
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:477:
warning: type defaults to "int" in declaration of "ops"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:477:
error: incompatible types in initialization
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:477:
warning: data definition has no type or storage class
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:479:
error: syntax error before "for"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:482:
warning: type defaults to "int" in declaration of "active_defined"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:482:
error: non-static declaration of "active_defined" follows static
declaration
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:52:
error: previous declaration of "active_defined" was here
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:482:
warning: data definition has no type or storage class
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:483:
error: syntax error before "}" token
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:484:
error: syntax error before string constant
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:485:
warning: type defaults to "int" in declaration of "printk"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:485:
warning: function declaration isn"t a prototype
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:485:
error: conflicting types for "printk"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:485:
note: a parameter list with an ellipsis can't match an empty parameter
name list declaration
include/linux/kernel.h:134: error: previous declaration of "printk" was
here
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:485:
warning: data definition has no type or storage class
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:490:27:
error: macro "xenoprofile_exit" passed 1 arguments, but takes just 0
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:491:
error: syntax error before "{" token
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:495:
error: syntax error before "&" token
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:495:
warning: type defaults to "int" in declaration of
"xenoprof_arch_unmap_shared_buffer"
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:495:
warning: function declaration isn't a prototype
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:495:
warning: data definition has no type or storage class
arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.c:498:
error: syntax error before numeric constant
{standard input}: Assembler messages:
{standard input}:72: Error: symbol `xenoprof_is_primary' is already
defined
make[4]: ***
[arch/i386/oprofile/../../../drivers/xen/xenoprof/xenoprofile.o] Error 1
make[3]: *** [arch/i386/oprofile] Error 2

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.