virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: Andrew Morton <akpm@osdl.org>
Cc: Chris Wright <chrisw@sous-sol.org>, Andi Kleen <ak@muc.de>,
	linux-kernel@vger.kernel.org, virtualization@lists.osdl.org
Subject: Re: [PATCH 2/7] paravirtualization: Patch inline replacements for common paravirt operations.
Date: Thu, 02 Nov 2006 11:47:04 +1100	[thread overview]
Message-ID: <1162428424.6848.14.camel@localhost.localdomain> (raw)
In-Reply-To: <20061101152715.f1f94d5c.akpm@osdl.org>

On Wed, 2006-11-01 at 15:27 -0800, Andrew Morton wrote:
> On Wed, 01 Nov 2006 21:28:13 +1100
> Rusty Russell <rusty@rustcorp.com.au> wrote:
> > +#ifdef CONFIG_DEBUG_KERNEL
> > +		/* Deliberately clobber regs using "not %reg" to find bugs. */
> 
> That would be considered to be abusive of CONFIG_DEBUG_KERNEL.  A
> CONFIG_DEBUG_PARAVIRT which depends on CONFIG_DEBUG_KERNEL would be more
> harmonious.

I wasn't sure.  Making a config option for what is a one-liner seemed
overkill.

==

Don't abuse CONFIG_DEBUG_KERNEL, add CONFIG_DEBUG_PARAVIRT.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

diff -r 2707c89d72f0 arch/i386/Kconfig.debug
--- a/arch/i386/Kconfig.debug	Thu Nov 02 10:14:50 2006 +1100
+++ b/arch/i386/Kconfig.debug	Thu Nov 02 11:41:20 2006 +1100
@@ -87,4 +87,14 @@ config DOUBLEFAULT
           option saves about 4k and might cause you much additional grey
           hair.
 
+config DEBUG_PARAVIRT
+	bool "Enable some paravirtualization debugging"
+	default y
+	depends on PARAVIRT && DEBUG_KERNEL
+	help
+	  Currently deliberately clobbers regs which are allowed to be
+	  clobbered in inlined paravirt hooks, even in native mode.
+	  If turning this off solves a problem, then DISABLE_INTERRUPTS() or
+	  ENABLE_INTERRUPTS() is lying about what registers can be clobbered.
+
 endmenu
diff -r 2707c89d72f0 arch/i386/kernel/alternative.c
--- a/arch/i386/kernel/alternative.c	Thu Nov 02 10:14:50 2006 +1100
+++ b/arch/i386/kernel/alternative.c	Thu Nov 02 11:36:54 2006 +1100
@@ -359,7 +359,7 @@ void apply_paravirt(struct paravirt_patc
 
 		used = paravirt_ops.patch(p->instrtype, p->clobbers, p->instr,
 					  p->len);
-#ifdef CONFIG_DEBUG_KERNEL
+#ifdef CONFIG_DEBUG_PARAVIRT
 		/* Deliberately clobber regs using "not %reg" to find bugs. */
 		for (i = 0; i < 3; i++) {
 			if (p->len - used >= 2 && (p->clobbers & (1 << i))) {

  reply	other threads:[~2006-11-02  0:47 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-29  2:45 [PATCH 0/7] x86 paravirtualization infrastructure Chris Wright
2006-10-28  7:00 ` [PATCH 1/7] header and stubs for paravirtualizing critical operations Chris Wright
2006-10-29 16:40   ` Andi Kleen
2006-10-28  7:00 ` [PATCH 2/7] Patch inline replacements for common paravirt operations Chris Wright
2006-10-28  7:00 ` [PATCH 3/7] More generic paravirtualization entry point Chris Wright
2006-10-29 16:41   ` Andi Kleen
2006-10-28  7:00 ` [PATCH 4/7] Allow selected bug checks to be skipped by paravirt kernels Chris Wright
2006-11-01 12:17   ` Pavel Machek
2006-11-01 22:40     ` Dave Jones
2006-11-01 23:24     ` Zachary Amsden
2006-11-02 10:20       ` Pavel Machek
2006-11-02 11:04         ` Zachary Amsden
2006-10-28  7:00 ` [PATCH 5/7] Allow disabling legacy power management modes with " Chris Wright
2006-10-28  7:00 ` [PATCH 6/7] Add APIC accessors to paravirt-ops Chris Wright
2006-10-29 16:31   ` Andi Kleen
2006-10-30  3:28     ` Rusty Russell
2006-10-30 23:11       ` Andi Kleen
2006-10-30 23:42         ` Chris Wright
2006-10-30 23:46           ` Andi Kleen
2006-10-30 23:55             ` Chris Wright
2006-10-31  1:45             ` Rusty Russell
2006-11-01 10:25         ` Rusty Russell
2006-11-01 10:27         ` [PATCH 1/7] paravirtualization: header and stubs for paravirtualizing critical operations Rusty Russell
2006-11-01 10:28           ` [PATCH 2/7] paravirtualization: Patch inline replacements for common paravirt operations Rusty Russell
2006-11-01 10:29             ` [PATCH 3/7] paravirtualization: More generic paravirtualization entry point Rusty Russell
2006-11-01 10:30               ` [PATCH 4/7] paravirtualization: Allow selected bug checks to be skipped by paravirt kernels Rusty Russell
2006-11-01 10:31                 ` [PATCH 5/7] paravirtualization: Allow disabling legacy power management modes with " Rusty Russell
2006-11-01 10:32                   ` [PATCH 6/7] paravirtualization: Add APIC accessors to paravirt-ops Rusty Russell
2006-11-01 10:34                     ` [PATCH 7/7] paravirtualization: Add mmu virtualization " Rusty Russell
2006-11-01 23:31                     ` [PATCH 6/7] paravirtualization: Add APIC accessors " Andrew Morton
2006-11-02  0:46                       ` Rusty Russell
2006-11-01 23:29                 ` [PATCH 4/7] paravirtualization: Allow selected bug checks to be skipped by paravirt kernels Andrew Morton
2006-11-01 23:58                   ` Jeremy Fitzhardinge
2006-11-02  0:01                   ` Rusty Russell
2006-11-01 23:27             ` [PATCH 2/7] paravirtualization: Patch inline replacements for common paravirt operations Andrew Morton
2006-11-02  0:47               ` Rusty Russell [this message]
2006-11-02  0:54                 ` Zachary Amsden
2006-11-01 10:45           ` [PATCH 1/7] paravirtualization: header and stubs for paravirtualizing critical operations Arjan van de Ven
2006-11-01 17:27             ` Andi Kleen
2006-11-01 23:32             ` Rusty Russell
2006-11-02  7:13           ` Andrew Morton
2006-11-02  7:44             ` Oleg Verych
2006-11-03  2:56           ` Andi Kleen
2006-11-03 20:35             ` Zachary Amsden
2006-11-03 21:09               ` Andi Kleen
2006-11-05  4:43                 ` Rusty Russell
2006-11-05  4:59                   ` Zachary Amsden
2006-11-05  5:08                     ` Rusty Russell
2006-11-05  5:46                   ` Andi Kleen
2006-11-05  6:18                     ` Andrew Morton
2006-11-05  6:21                     ` Rusty Russell
2006-11-05  6:57                       ` Andi Kleen
2006-11-18  2:08           ` john stultz
2006-10-28  7:00 ` [PATCH 7/7] Add mmu virtualization to paravirt-ops Chris Wright

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1162428424.6848.14.camel@localhost.localdomain \
    --to=rusty@rustcorp.com.au \
    --cc=ak@muc.de \
    --cc=akpm@osdl.org \
    --cc=chrisw@sous-sol.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=virtualization@lists.osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).