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] RE: [PATCH] Xenoprof passive domain support

To: "Yang, Xiaowei" <xiaowei.yang@xxxxxxxxx>
Subject: Re: [Xen-devel] RE: [PATCH] Xenoprof passive domain support
From: Steve Dobbelstein <steved@xxxxxxxxxx>
Date: Tue, 2 May 2006 10:22:39 -0500
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Yoshio Turner <yoshiotu@xxxxxxxxxx>, John Levon <levon@xxxxxxxxxxxxxxxxx>, G John Janakiraman <john@xxxxxxxxxxxxxxxxxxx>, "Santos, Jose Renato G" <joserenato.santos@xxxxxx>
Delivery-date: Tue, 02 May 2006 08:23:10 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <2BF508F394C196468CCBEC031320DCDFEE0044@pdsmsx405>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
"Yang, Xiaowei" <xiaowei.yang@xxxxxxxxx> wrote on 04/29/2006 05:46:27 AM:

> Renato,
> I remade the patch. It has several improvements.
> 1) Add a lock for preventing more than one LPs of dom0 from
> accessing to passive domain concurrently.
> 2) Add escape code only at the beginning and end of a bunch of
> passive domain samples, which dom0 handles one time. Originally we
> added escape code in front of every passive domain sample. That's
inefficient.
> 3) Reuse "normal ESCAPE_CODE" of oprofile to add passive domain
> switch event into the CPU buffer.
>
> Thanks,
> -Xiaowei

I tried the patch.  The build of a xen0 kernel fails with:
arch/i386/oprofile/../../../drivers/oprofile/oprof.c:41: error:
?MAX_OPROF_DOMAINS? undeclared here (not in a function)
arch/i386/oprofile/../../../drivers/oprofile/oprof.c: In function
?oprofile_set_active?:
arch/i386/oprofile/../../../drivers/oprofile/oprof.c:45: error: ?struct
oprofile_operations? has no member named ?set_active?
arch/i386/oprofile/../../../drivers/oprofile/oprof.c:46: error: ?struct
oprofile_operations? has no member named ?set_active?
arch/i386/oprofile/../../../drivers/oprofile/oprof.c: In function
?oprofile_set_passive?:
arch/i386/oprofile/../../../drivers/oprofile/oprof.c:56: error: ?struct
oprofile_operations? has no member named ?set_passive?
arch/i386/oprofile/../../../drivers/oprofile/oprof.c:57: error: ?struct
oprofile_operations? has no member named ?set_passive?
make[1]: *** [arch/i386/oprofile/../../../drivers/oprofile/oprof.o] Error 1
make: *** [arch/i386/oprofile] Error 2

It appears that the patch to patches/linux-2.6.16/xenoprof-generic.patch is
not correct.  For example:

-diff -pruN ../pristine-linux-2.6.16/include/linux/oprofile.h
./include/linux/oprofile.h
---- ../pristine-linux-2.6.16/include/linux/oprofile.h  2006-03-20
05:53:29.000000000 +0000
-+++ ./include/linux/oprofile.h 2006-04-03 15:53:05.000000000 +0100
-@@ -16,6 +16,8 @@
- #include <linux/types.h>
- #include <linux/spinlock.h>
- #include <asm/atomic.h>
-+
-+#include <xen/interface/xenoprof.h>
-
- struct super_block;
- struct dentry;
-@@ -27,6 +29,8 @@ struct oprofile_operations {
-       /* create any necessary configuration files in the oprofile fs.
-        * Optional. */
-       int (*create_files)(struct super_block * sb, struct dentry * root);
-+      /* setup active domains with Xen */
-+      int (*set_active)(int *active_domains, unsigned int adomains);
-       /* Do any necessary interrupt setup. Optional. */
-       int (*setup)(void);
-       /* Do any necessary interrupt shutdown. Optional. */

removes the xenoprof support from include/linux/oprofile.h rather than
adding the filed for set_passive to struct oprofile_operations.

The initial patch released on 2006/04/28 had it correct:

 diff -pruN ../pristine-linux-2.6.16/include/linux/oprofile.h
./include/linux/oprofile.h
---- ../pristine-linux-2.6.16/include/linux/oprofile.h  2006-03-20
05:53:29.000000000 +0000
-+++ ./include/linux/oprofile.h 2006-04-03 15:53:05.000000000 +0100
+--- ../pristine-linux-2.6.16/include/linux/oprofile.h  2006-04-27
16:22:31.000000000 +0800
++++ ./include/linux/oprofile.h 2006-04-25 17:20:36.000000000 +0800
 @@ -16,6 +16,8 @@
  #include <linux/types.h>
  #include <linux/spinlock.h>
@@ -373,12 +508,14 @@

  struct super_block;
  struct dentry;
-@@ -27,6 +29,8 @@ struct oprofile_operations {
+@@ -27,6 +29,10 @@ struct oprofile_operations {
        /* create any necessary configuration files in the oprofile fs.
         * Optional. */
        int (*create_files)(struct super_block * sb, struct dentry * root);
 +      /* setup active domains with Xen */
 +      int (*set_active)(int *active_domains, unsigned int adomains);
++      /* setup passive domains with Xen */
++      int (*set_passive)(struct xenoprof_passive *passive_domains,
unsigned int pdomains);
        /* Do any necessary interrupt setup. Optional. */
        int (*setup)(void);
        /* Do any necessary interrupt shutdown. Optional. */

I'll hack my copy of the patch for now.  You may want to revisit how the
patch is created.

Steve D.


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

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