|
|
|
|
|
|
|
|
|
|
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>
|
- Re: [Xen-devel] RE: [PATCH] Xenoprof passive domain support,
Steve Dobbelstein <=
|
|
|
|
|