* [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
@ 2007-07-17 16:51 Avi Kivity
2007-07-17 18:39 ` S.Çağlar Onur
2007-07-17 23:25 ` S.Çağlar Onur
0 siblings, 2 replies; 18+ messages in thread
From: Avi Kivity @ 2007-07-17 16:51 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kernel, kvm-devel
Linus,
I fixed the issue with the previous patchset. Please provide further feedback,
or pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git for-linus
This contains kvm updates for the 2.6.23 merge window, including
- performance improvements
- suspend/resume fixes
- guest smp
- random fixes and cleanups
Anthony Liguori (1):
KVM: SVM: Allow direct guest access to PC debug port
Avi Kivity (57):
KVM: Assume that writes smaller than 4 bytes are to non-pagetable pages
KVM: Avoid saving and restoring some host CPU state on lightweight vmexit
KVM: Unindent some code
KVM: Reduce misfirings of the fork detector
KVM: Be more careful restoring fs on lightweight vmexit
KVM: Unify kvm_mmu_pre_write() and kvm_mmu_post_write()
KVM: MMU: Respect nonpae pagetable quadrant when zapping ptes
KVM: Update shadow pte on write to guest pte
KVM: Increase mmu shadow cache to 1024 pages
KVM: Fix potential guest state leak into host
KVM: Move some more msr mangling into vmx_save_host_state()
KVM: Rationalize exception bitmap usage
KVM: Consolidate guest fpu activation and deactivation
KVM: Set cr0.mp for guests
KVM: MMU: Simplify kvm_mmu_free_page() a tiny bit
KVM: MMU: Store shadow page tables as kernel virtual addresses, not physical
KVM: VMX: Only reload guest msrs if they are already loaded
KVM: Avoid corrupting tr in real mode
KVM: Fix vmx I/O bitmap initialization on highmem systems
KVM: VMX: Use local labels in inline assembly
KVM: x86 emulator: implement wbinvd
KVM: MMU: Use slab caches for shadow pages and their headers
KVM: MMU: Simplify fetch() a little bit
KVM: MMU: Move set_pte_common() to pte width dependent code
KVM: MMU: Pass the guest pde to set_pte_common
KVM: MMU: Fold fix_read_pf() into set_pte_common()
KVM: MMU: Fold fix_write_pf() into set_pte_common()
KVM: Move shadow pte modifications from set_pte/set_pde to set_pde_common()
KVM: Make shadow pte updates atomic
KVM: MMU: Make setting shadow ptes atomic on i386
KVM: MMU: Remove cr0.wp tricks
KVM: MMU: Simpify accessed/dirty/present/nx bit handling
KVM: MMU: Don't cache guest access bits in the shadow page table
KVM: MMU: Remove unused large page marker
KVM: Lazy guest cr3 switching
KVM: Fix vcpu freeing for guest smp
KVM: Fix adding an smp virtual machine to the vm list
KVM: Enable guest smp
KVM: Move duplicate halt handling code into kvm_main.c
KVM: Emulate hlt on real mode for Intel
KVM: Keep an upper bound of initialized vcpus
KVM: Flush remote tlbs when reducing shadow pte permissions
KVM: Initialize the BSP bit in the APIC_BASE msr correctly
KVM: VMX: Ensure vcpu time stamp counter is monotonous
KVM: VMX: Reinitialize the real-mode tss when entering real mode
KVM: VMX: Remove unnecessary code in vmx_tlb_flush()
KVM: Remove kvmfs in favor of the anonymous inodes source
KVM: Clean up #includes
HOTPLUG: Add CPU_DYING notifier
HOTPLUG: Adapt cpuset hotplug callback to CPU_DYING
HOTPLUG: Adapt thermal throttle to CPU_DYING
x86_64: Allow smp_call_function_single() to current cpu
i386: Allow smp_call_function_single() to current cpu
SMP: Allow smp_call_function_single() to current cpu
KVM: Keep track of which cpus have virtualization enabled
KVM: Tune hotplug/suspend IPIs
KVM: Use CPU_DYING for disabling virtualization
Eddie Dong (5):
KVM: VMX: Avoid saving and restoring msrs on lightweight vmexit
KVM: VMX: Cleanup redundant code in MSR set
KVM: VMX: Avoid saving and restoring msr_efer on lightweight vmexit
KVM: Use symbolic constants instead of magic numbers
KVM: Add support for in-kernel pio handlers
Gregory Haskins (2):
KVM: Adds support for in-kernel mmio handlers
KVM: VMX: Fix interrupt checking on lightweight exit
He, Qing (1):
KVM: VMX: Enable io bitmaps to avoid IO port 0x80 VMEXITs
Jan Engelhardt (1):
Use menuconfig objects II - KVM/Virt
Joerg Roedel (1):
KVM: SVM: Reliably detect if SVM was disabled by BIOS
Luca Tettamanti (2):
KVM: Fix x86 emulator writeback
KVM: Avoid useless memory write when possible
Markus Rechberger (1):
KVM: Fix includes
Matthew Gregan (1):
KVM: Implement IA32_EBL_CR_POWERON msr
Nguyen Anh Quynh (1):
KVM: Remove unnecessary initialization and checks in mark_page_dirty()
Nitin A Kamble (3):
KVM: VMX: Handle #SS faults from real mode
KVM: Implement emulation of "pop reg" instruction (opcode 0x58-0x5f)
KVM: Implement emulation of instruction "ret" (opcode 0xc3)
Robert P. J. Day (1):
KVM: Replace C code with call to ARRAY_SIZE() macro.
Shani Moideen (2):
KVM: SVM: Replace memset(<addr>, 0, PAGESIZE) with clear_page(<addr>)
KVM: VMX: Replace memset(<addr>, 0, PAGESIZE) with clear_page(<addr>)
Shaohua Li (1):
KVM: MMU: Fix Wrong tlb flush order
arch/i386/kernel/cpu/mcheck/therm_throt.c | 6 +-
arch/i386/kernel/smpcommon.c | 8 +-
arch/x86_64/kernel/smp.c | 12 +-
drivers/kvm/Kconfig | 9 +-
drivers/kvm/kvm.h | 116 +++++-
drivers/kvm/kvm_main.c | 456 ++++++++++++--------
drivers/kvm/mmu.c | 292 ++++++-------
drivers/kvm/paging_tmpl.h | 273 +++++++------
drivers/kvm/svm.c | 59 ++-
drivers/kvm/svm.h | 3 +
drivers/kvm/vmx.c | 652 ++++++++++++++++++-----------
drivers/kvm/x86_emulate.c | 44 ++-
fs/anon_inodes.c | 1 +
include/linux/magic.h | 1 -
include/linux/notifier.h | 3 +
include/linux/smp.h | 7 +-
kernel/cpu.c | 16 +-
kernel/cpuset.c | 3 +
18 files changed, 1198 insertions(+), 763 deletions(-)
Here is the diff outside drivers/kvm/:
diff --git a/arch/i386/kernel/cpu/mcheck/therm_throt.c b/arch/i386/kernel/cpu/mcheck/therm_throt.c
index 7ba7c3a..1203dc5 100644
--- a/arch/i386/kernel/cpu/mcheck/therm_throt.c
+++ b/arch/i386/kernel/cpu/mcheck/therm_throt.c
@@ -134,19 +134,21 @@ static __cpuinit int thermal_throttle_cpu_callback(struct notifier_block *nfb,
int err;
sys_dev = get_cpu_sysdev(cpu);
- mutex_lock(&therm_cpu_lock);
switch (action) {
case CPU_ONLINE:
case CPU_ONLINE_FROZEN:
+ mutex_lock(&therm_cpu_lock);
err = thermal_throttle_add_dev(sys_dev);
+ mutex_unlock(&therm_cpu_lock);
WARN_ON(err);
break;
case CPU_DEAD:
case CPU_DEAD_FROZEN:
+ mutex_lock(&therm_cpu_lock);
thermal_throttle_remove_dev(sys_dev);
+ mutex_unlock(&therm_cpu_lock);
break;
}
- mutex_unlock(&therm_cpu_lock);
return NOTIFY_OK;
}
diff --git a/arch/i386/kernel/smpcommon.c b/arch/i386/kernel/smpcommon.c
index 1868ae1..bbfe85a 100644
--- a/arch/i386/kernel/smpcommon.c
+++ b/arch/i386/kernel/smpcommon.c
@@ -47,7 +47,7 @@ int smp_call_function(void (*func) (void *info), void *info, int nonatomic,
EXPORT_SYMBOL(smp_call_function);
/**
- * smp_call_function_single - Run a function on another CPU
+ * smp_call_function_single - Run a function on a specific CPU
* @cpu: The target CPU. Cannot be the calling CPU.
* @func: The function to run. This must be fast and non-blocking.
* @info: An arbitrary pointer to pass to the function.
@@ -66,9 +66,11 @@ int smp_call_function_single(int cpu, void (*func) (void *info), void *info,
int ret;
int me = get_cpu();
if (cpu == me) {
- WARN_ON(1);
+ local_irq_disable();
+ func(info);
+ local_irq_enable();
put_cpu();
- return -EBUSY;
+ return 0;
}
ret = smp_call_function_mask(cpumask_of_cpu(cpu), func, info, wait);
diff --git a/arch/x86_64/kernel/smp.c b/arch/x86_64/kernel/smp.c
index 2ff4685..0694940 100644
--- a/arch/x86_64/kernel/smp.c
+++ b/arch/x86_64/kernel/smp.c
@@ -357,7 +357,7 @@ __smp_call_function_single(int cpu, void (*func) (void *info), void *info,
}
/*
- * smp_call_function_single - Run a function on another CPU
+ * smp_call_function_single - Run a function on a specific CPU
* @func: The function to run. This must be fast and non-blocking.
* @info: An arbitrary pointer to pass to the function.
* @nonatomic: Currently unused.
@@ -374,14 +374,18 @@ int smp_call_function_single (int cpu, void (*func) (void *info), void *info,
{
/* prevent preemption and reschedule on another processor */
int me = get_cpu();
+
+ /* Can deadlock when called with interrupts disabled */
+ WARN_ON(irqs_disabled());
+
if (cpu == me) {
+ local_irq_disable();
+ func(info);
+ local_irq_enable();
put_cpu();
return 0;
}
- /* Can deadlock when called with interrupts disabled */
- WARN_ON(irqs_disabled());
-
spin_lock_bh(&call_lock);
__smp_call_function_single(cpu, func, info, nonatomic, wait);
spin_unlock_bh(&call_lock);
diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c
index 40fe3a3..edc6748 100644
--- a/fs/anon_inodes.c
+++ b/fs/anon_inodes.c
@@ -139,6 +139,7 @@ err_put_filp:
put_filp(file);
return error;
}
+EXPORT_SYMBOL_GPL(anon_inode_getfd);
/*
* A single inode exist for all anon_inode files. Contrary to pipes,
diff --git a/include/linux/magic.h b/include/linux/magic.h
index 9d713c0..36cc20d 100644
--- a/include/linux/magic.h
+++ b/include/linux/magic.h
@@ -13,7 +13,6 @@
#define HPFS_SUPER_MAGIC 0xf995e849
#define ISOFS_SUPER_MAGIC 0x9660
#define JFFS2_SUPER_MAGIC 0x72b6
-#define KVMFS_SUPER_MAGIC 0x19700426
#define ANON_INODE_FS_MAGIC 0x09041934
#define MINIX_SUPER_MAGIC 0x137F /* original minix fs */
diff --git a/include/linux/notifier.h b/include/linux/notifier.h
index 9431101..576f2bb 100644
--- a/include/linux/notifier.h
+++ b/include/linux/notifier.h
@@ -196,6 +196,8 @@ extern int __srcu_notifier_call_chain(struct srcu_notifier_head *nh,
#define CPU_DEAD 0x0007 /* CPU (unsigned)v dead */
#define CPU_LOCK_ACQUIRE 0x0008 /* Acquire all hotcpu locks */
#define CPU_LOCK_RELEASE 0x0009 /* Release all hotcpu locks */
+#define CPU_DYING 0x000A /* CPU (unsigned)v not running any task,
+ * not handling interrupts, soon dead */
/* Used for CPU hotplug events occuring while tasks are frozen due to a suspend
* operation in progress
@@ -208,6 +210,7 @@ extern int __srcu_notifier_call_chain(struct srcu_notifier_head *nh,
#define CPU_DOWN_PREPARE_FROZEN (CPU_DOWN_PREPARE | CPU_TASKS_FROZEN)
#define CPU_DOWN_FAILED_FROZEN (CPU_DOWN_FAILED | CPU_TASKS_FROZEN)
#define CPU_DEAD_FROZEN (CPU_DEAD | CPU_TASKS_FROZEN)
+#define CPU_DYING_FROZEN (CPU_DYING | CPU_TASKS_FROZEN)
#endif /* __KERNEL__ */
#endif /* _LINUX_NOTIFIER_H */
diff --git a/include/linux/smp.h b/include/linux/smp.h
index 96ac21f..8039dac 100644
--- a/include/linux/smp.h
+++ b/include/linux/smp.h
@@ -7,6 +7,7 @@
*/
#include <linux/errno.h>
+#include <asm/system.h>
extern void cpu_idle(void);
@@ -102,7 +103,11 @@ static inline void smp_send_reschedule(int cpu) { }
static inline int smp_call_function_single(int cpuid, void (*func) (void *info),
void *info, int retry, int wait)
{
- return -EBUSY;
+ WARN_ON(cpuid != 0);
+ local_irq_disable();
+ func(info);
+ local_irq_enable();
+ return 0;
}
#endif /* !SMP */
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 208cf34..181ae70 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -103,11 +103,19 @@ static inline void check_for_tasks(int cpu)
write_unlock_irq(&tasklist_lock);
}
+struct take_cpu_down_param {
+ unsigned long mod;
+ void *hcpu;
+};
+
/* Take this CPU down. */
-static int take_cpu_down(void *unused)
+static int take_cpu_down(void *_param)
{
+ struct take_cpu_down_param *param = _param;
int err;
+ raw_notifier_call_chain(&cpu_chain, CPU_DYING | param->mod,
+ param->hcpu);
/* Ensure this CPU doesn't handle any more interrupts. */
err = __cpu_disable();
if (err < 0)
@@ -127,6 +135,10 @@ static int _cpu_down(unsigned int cpu, int tasks_frozen)
cpumask_t old_allowed, tmp;
void *hcpu = (void *)(long)cpu;
unsigned long mod = tasks_frozen ? CPU_TASKS_FROZEN : 0;
+ struct take_cpu_down_param tcd_param = {
+ .mod = mod,
+ .hcpu = hcpu,
+ };
if (num_online_cpus() == 1)
return -EBUSY;
@@ -153,7 +165,7 @@ static int _cpu_down(unsigned int cpu, int tasks_frozen)
set_cpus_allowed(current, tmp);
mutex_lock(&cpu_bitmask_lock);
- p = __stop_machine_run(take_cpu_down, NULL, cpu);
+ p = __stop_machine_run(take_cpu_down, &tcd_param, cpu);
mutex_unlock(&cpu_bitmask_lock);
if (IS_ERR(p) || cpu_online(cpu)) {
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index 4c49188..c4d123f 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -2138,6 +2138,9 @@ static void common_cpu_mem_hotplug_unplug(void)
static int cpuset_handle_cpuhp(struct notifier_block *nb,
unsigned long phase, void *cpu)
{
+ if (phase == CPU_DYING || phase == CPU_DYING_FROZEN)
+ return NOTIFY_DONE;
+
common_cpu_mem_hotplug_unplug();
return 0;
}
^ permalink raw reply related [flat|nested] 18+ messages in thread* Re: [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-17 16:51 [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1 Avi Kivity
@ 2007-07-17 18:39 ` S.Çağlar Onur
2007-07-17 19:05 ` H. Peter Anvin
2007-07-17 23:25 ` S.Çağlar Onur
1 sibling, 1 reply; 18+ messages in thread
From: S.Çağlar Onur @ 2007-07-17 18:39 UTC (permalink / raw)
To: Avi Kivity; +Cc: Linus Torvalds, linux-kernel, kvm-devel
[-- Attachment #1: Type: text/plain, Size: 1251 bytes --]
Hi;
17 Tem 2007 Sal tarihinde, Avi Kivity şunları yazmıştı:
> I fixed the issue with the previous patchset. Please provide further
> feedback, or pull from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git for-linus
>
> This contains kvm updates for the 2.6.23 merge window, including
>
> - performance improvements
> - suspend/resume fixes
> - guest smp
> - random fixes and cleanups
I have a tiny question triggered in my mind after seeing following, sorry if
this was disccussed before;
config KVM
tristate "Kernel-based Virtual Machine (KVM) support"
depends on X86 && EXPERIMENTAL
depends on X86_CMPXCHG64 || 64BIT
If i'm not wrong X86_CMPXCHG64 depends on CONFIG_X86_PAE which depends on
HIGHMEM64 and again if i'm not wrong this means distributions who wants to
provide KVM must enable CONFIG_X86_PAE and CONFIG_HIGHMEM64G from now on?
Is this intentional or this is here because of an assumption like "processors
supports virtualization already provides PAE", could you please enlighten me?
Cheers
--
S.Çağlar Onur <caglar@pardus.org.tr>
http://cekirdek.pardus.org.tr/~caglar/
Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-17 18:39 ` S.Çağlar Onur
@ 2007-07-17 19:05 ` H. Peter Anvin
2007-07-17 19:15 ` Linus Torvalds
0 siblings, 1 reply; 18+ messages in thread
From: H. Peter Anvin @ 2007-07-17 19:05 UTC (permalink / raw)
To: caglar; +Cc: Avi Kivity, Linus Torvalds, linux-kernel, kvm-devel, Andi Kleen
S.Çağlar Onur wrote:
>
> If i'm not wrong X86_CMPXCHG64 depends on CONFIG_X86_PAE which depends on
> HIGHMEM64 and again if i'm not wrong this means distributions who wants to
> provide KVM must enable CONFIG_X86_PAE and CONFIG_HIGHMEM64G from now on?
>
X86_PAE should depend on X86_CMPXCHG64, not the other way around.
I asked Andi Kleen about this on IRC, and he said:
<freitag> the reason was that i didn't want to hack everybody's magic
MSRs into the old verify_cpu.S
verify_cpu.S is dead on i386 (replaced by arch/i386/boot/cpucheck.c)
which does have the flags enable MSR tweaks; it is still being used for
APs on x86-64. However, in the meantime it should be safe to remove
this dependency from i386.
-hpa
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-17 19:05 ` H. Peter Anvin
@ 2007-07-17 19:15 ` Linus Torvalds
2007-07-17 19:26 ` H. Peter Anvin
0 siblings, 1 reply; 18+ messages in thread
From: Linus Torvalds @ 2007-07-17 19:15 UTC (permalink / raw)
To: H. Peter Anvin; +Cc: caglar, Avi Kivity, linux-kernel, kvm-devel, Andi Kleen
On Tue, 17 Jul 2007, H. Peter Anvin wrote:
>
> S.Çağlar Onur wrote:
> >
> > If i'm not wrong X86_CMPXCHG64 depends on CONFIG_X86_PAE which depends on
> > HIGHMEM64 and again if i'm not wrong this means distributions who wants to
> > provide KVM must enable CONFIG_X86_PAE and CONFIG_HIGHMEM64G from now on?
> >
>
> X86_PAE should depend on X86_CMPXCHG64, not the other way around.
Actually, I think the *real* solution would be:
- add a X86_HAS_CMPXCHG8B config option, and set it for the appropriate
CPU selection (P6 and up, or whatever the rule is)
- make KVM depend on it
- make KVM and HIGHMEM64 _select_ another config option, namely the
NEEDS_CMPXCHG8B
and then we make the cpufeatures code check the CMPXCHG bit only if the
NEEDS_CMPXCHG8B thing is set. That gives us the best of all worlds.
Because there is no point in checking whether the CPU supports it if the
kernel doesn't _need_ it. Especially since we know that some CPU's lie
about it due to old NT bugs.
Linus
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-17 19:15 ` Linus Torvalds
@ 2007-07-17 19:26 ` H. Peter Anvin
0 siblings, 0 replies; 18+ messages in thread
From: H. Peter Anvin @ 2007-07-17 19:26 UTC (permalink / raw)
To: Linus Torvalds; +Cc: caglar, Avi Kivity, linux-kernel, kvm-devel, Andi Kleen
Linus Torvalds wrote:
>
> Actually, I think the *real* solution would be:
>
> - add a X86_HAS_CMPXCHG8B config option, and set it for the appropriate
> CPU selection (P6 and up, or whatever the rule is)
>
> - make KVM depend on it
>
> - make KVM and HIGHMEM64 _select_ another config option, namely the
> NEEDS_CMPXCHG8B
>
> and then we make the cpufeatures code check the CMPXCHG bit only if the
> NEEDS_CMPXCHG8B thing is set. That gives us the best of all worlds.
>
> Because there is no point in checking whether the CPU supports it if the
> kernel doesn't _need_ it. Especially since we know that some CPU's lie
> about it due to old NT bugs.
>
Yes. This is probably also true for other CPU feature options, at least
in the abstract (i.e. it may not apply to any of the current options).
-hpa
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-17 16:51 [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1 Avi Kivity
2007-07-17 18:39 ` S.Çağlar Onur
@ 2007-07-17 23:25 ` S.Çağlar Onur
2007-07-17 23:38 ` [kvm-devel] " Anthony Liguori
1 sibling, 1 reply; 18+ messages in thread
From: S.Çağlar Onur @ 2007-07-17 23:25 UTC (permalink / raw)
To: Avi Kivity; +Cc: Linus Torvalds, linux-kernel, kvm-devel
[-- Attachment #1: Type: text/plain, Size: 1063 bytes --]
Hi;
17 Tem 2007 Sal tarihinde, Avi Kivity şunları yazmıştı:
> I fixed the issue with the previous patchset. Please provide further
> feedback, or pull from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git for-linus
>
> This contains kvm updates for the 2.6.23 merge window, including
After that commit (+appArmor patchset) any guest image hangs the system
completely as soon as started with kvm-29 userspace. Guest images works
with "qemu-kvm -hda X.img -m 512 -no-kvm" works as expected
I cannot provide any more information for now causes system freezes at all and
netconsole not works with ipw3945 (netconsole: eth1 doesn't support polling,
aborting) but tomorrow i'll try with cable.
If needed you can find .config and dmesg from [1], if anything else needed
please just say it...
[1] http://cekirdek.pardus.org.tr/~caglar/kvm/
Cheers
--
S.Çağlar Onur <caglar@pardus.org.tr>
http://cekirdek.pardus.org.tr/~caglar/
Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [kvm-devel] [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-17 23:25 ` S.Çağlar Onur
@ 2007-07-17 23:38 ` Anthony Liguori
2007-07-17 23:40 ` S.Çağlar Onur
2007-07-18 9:31 ` S.Çağlar Onur
0 siblings, 2 replies; 18+ messages in thread
From: Anthony Liguori @ 2007-07-17 23:38 UTC (permalink / raw)
To: caglar; +Cc: Avi Kivity, kvm-devel, Linus Torvalds, linux-kernel
S.Çağlar Onur wrote:
> Hi;
>
> 17 Tem 2007 Sal tarihinde, Avi Kivity şunları yazmıştı:
>
>> I fixed the issue with the previous patchset. Please provide further
>> feedback, or pull from:
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git for-linus
>>
>> This contains kvm updates for the 2.6.23 merge window, including
>>
>
> After that commit (+appArmor patchset) any guest image hangs the system
> completely as soon as started with kvm-29 userspace. Guest images works
> with "qemu-kvm -hda X.img -m 512 -no-kvm" works as expected
>
Can you reproduce without the appArmor patchset?
Regards,
Anthony Liguori
> I cannot provide any more information for now causes system freezes at all and
> netconsole not works with ipw3945 (netconsole: eth1 doesn't support polling,
> aborting) but tomorrow i'll try with cable.
>
> If needed you can find .config and dmesg from [1], if anything else needed
> please just say it...
>
> [1] http://cekirdek.pardus.org.tr/~caglar/kvm/
>
> Cheers
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> ------------------------------------------------------------------------
>
> _______________________________________________
> kvm-devel mailing list
> kvm-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/kvm-devel
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [kvm-devel] [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-17 23:38 ` [kvm-devel] " Anthony Liguori
@ 2007-07-17 23:40 ` S.Çağlar Onur
2007-07-18 9:31 ` S.Çağlar Onur
1 sibling, 0 replies; 18+ messages in thread
From: S.Çağlar Onur @ 2007-07-17 23:40 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Avi Kivity, kvm-devel, Linus Torvalds, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 436 bytes --]
Hi;
18 Tem 2007 Çar tarihinde, Anthony Liguori şunları yazmıştı:
> Can you reproduce without the appArmor patchset?
Tomorrow i'll also try with vanilla one but just for records same patchset
worked without a problem until latest kvm merge :)
Cheers
--
S.Çağlar Onur <caglar@pardus.org.tr>
http://cekirdek.pardus.org.tr/~caglar/
Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [kvm-devel] [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-17 23:38 ` [kvm-devel] " Anthony Liguori
2007-07-17 23:40 ` S.Çağlar Onur
@ 2007-07-18 9:31 ` S.Çağlar Onur
2007-07-18 9:35 ` Avi Kivity
1 sibling, 1 reply; 18+ messages in thread
From: S.Çağlar Onur @ 2007-07-18 9:31 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Avi Kivity, kvm-devel, Linus Torvalds, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 532 bytes --]
Hi;
18 Tem 2007 Çar tarihinde, Anthony Liguori şunları yazmıştı:
> Can you reproduce without the appArmor patchset?
If needed http://cekirdek.pardus.org.tr/~caglar/kvm/netconsole is the appArmor
patchset included kernel's output captured with netconsole and yes i'll try
to reproduce same with vanilla one whenever i found some time :)
Cheers
--
S.Çağlar Onur <caglar@pardus.org.tr>
http://cekirdek.pardus.org.tr/~caglar/
Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [kvm-devel] [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-18 9:31 ` S.Çağlar Onur
@ 2007-07-18 9:35 ` Avi Kivity
2007-07-18 10:09 ` S.Çağlar Onur
0 siblings, 1 reply; 18+ messages in thread
From: Avi Kivity @ 2007-07-18 9:35 UTC (permalink / raw)
To: caglar; +Cc: Anthony Liguori, kvm-devel, Linus Torvalds, linux-kernel
S.Çağlar Onur wrote:
> Hi;
>
> 18 Tem 2007 Çar tarihinde, Anthony Liguori şunları yazmıştı:
>
>> Can you reproduce without the appArmor patchset?
>>
>
> If needed http://cekirdek.pardus.org.tr/~caglar/kvm/netconsole is the appArmor
> patchset included kernel's output captured with netconsole and yes i'll try
> to reproduce same with vanilla one whenever i found some time :)
>
>
It does look AppArmor related.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [kvm-devel] [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-18 9:35 ` Avi Kivity
@ 2007-07-18 10:09 ` S.Çağlar Onur
2007-07-18 10:17 ` S.Çağlar Onur
2007-07-18 10:31 ` Avi Kivity
0 siblings, 2 replies; 18+ messages in thread
From: S.Çağlar Onur @ 2007-07-18 10:09 UTC (permalink / raw)
To: Avi Kivity; +Cc: Anthony Liguori, kvm-devel, Linus Torvalds, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 871 bytes --]
Hi;
18 Tem 2007 Çar tarihinde, Avi Kivity şunları yazmıştı:
> S.Çağlar Onur wrote:
> > Hi;
> >
> > 18 Tem 2007 Çar tarihinde, Anthony Liguori şunları yazmıştı:
> >> Can you reproduce without the appArmor patchset?
> >
> > If needed http://cekirdek.pardus.org.tr/~caglar/kvm/netconsole is the
> > appArmor patchset included kernel's output captured with netconsole and
> > yes i'll try to reproduce same with vanilla one whenever i found some
> > time :)
>
> It does look AppArmor related.
http://cekirdek.pardus.org.tr/~caglar/kvm/netconsole_wo_apparmor is the
vanilla one's netconsole output, by the way without apparmor patchset system
not hard freezes.
Cheers
--
S.Çağlar Onur <caglar@pardus.org.tr>
http://cekirdek.pardus.org.tr/~caglar/
Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [kvm-devel] [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-18 10:09 ` S.Çağlar Onur
@ 2007-07-18 10:17 ` S.Çağlar Onur
2007-07-18 10:31 ` Avi Kivity
1 sibling, 0 replies; 18+ messages in thread
From: S.Çağlar Onur @ 2007-07-18 10:17 UTC (permalink / raw)
To: Avi Kivity; +Cc: Anthony Liguori, kvm-devel, Linus Torvalds, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 567 bytes --]
Hi;
18 Tem 2007 Çar tarihinde, S.Çağlar Onur şunları yazmıştı:
> http://cekirdek.pardus.org.tr/~caglar/kvm/netconsole_wo_apparmor is the
> vanilla one's netconsole output, by the way without apparmor patchset
> system not hard freezes.
Ahhh netconsole cannot grab whole output, full log from kern.log follows [1]
[1] http://cekirdek.pardus.org.tr/~caglar/kvm/kern.log
Cheers
--
S.Çağlar Onur <caglar@pardus.org.tr>
http://cekirdek.pardus.org.tr/~caglar/
Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [kvm-devel] [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-18 10:09 ` S.Çağlar Onur
2007-07-18 10:17 ` S.Çağlar Onur
@ 2007-07-18 10:31 ` Avi Kivity
2007-07-18 10:50 ` S.Çağlar Onur
2007-07-18 17:46 ` S.Çağlar Onur
1 sibling, 2 replies; 18+ messages in thread
From: Avi Kivity @ 2007-07-18 10:31 UTC (permalink / raw)
To: caglar; +Cc: Anthony Liguori, kvm-devel, Linus Torvalds, linux-kernel
S.Çağlar Onur wrote:
> Hi;
>
> 18 Tem 2007 Çar tarihinde, Avi Kivity şunları yazmıştı:
>
>> S.Çağlar Onur wrote:
>>
>>> Hi;
>>>
>>> 18 Tem 2007 Çar tarihinde, Anthony Liguori şunları yazmıştı:
>>>
>>>> Can you reproduce without the appArmor patchset?
>>>>
>>> If needed http://cekirdek.pardus.org.tr/~caglar/kvm/netconsole is the
>>> appArmor patchset included kernel's output captured with netconsole and
>>> yes i'll try to reproduce same with vanilla one whenever i found some
>>> time :)
>>>
>> It does look AppArmor related.
>>
>
> http://cekirdek.pardus.org.tr/~caglar/kvm/netconsole_wo_apparmor is the
> vanilla one's netconsole output, by the way without apparmor patchset system
> not hard freezes.
>
This trace is certainly a kvm bug. What guest are you running? If it
is free (and does not contain private information), can you post it
somewhere for me to download?
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [kvm-devel] [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-18 10:31 ` Avi Kivity
@ 2007-07-18 10:50 ` S.Çağlar Onur
2007-07-20 5:31 ` Avi Kivity
2007-07-18 17:46 ` S.Çağlar Onur
1 sibling, 1 reply; 18+ messages in thread
From: S.Çağlar Onur @ 2007-07-18 10:50 UTC (permalink / raw)
To: Avi Kivity; +Cc: Anthony Liguori, kvm-devel, Linus Torvalds, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 804 bytes --]
Hi;
18 Tem 2007 Çar tarihinde, Avi Kivity şunları yazmıştı:
> > http://cekirdek.pardus.org.tr/~caglar/kvm/netconsole_wo_apparmor is the
> > vanilla one's netconsole output, by the way without apparmor patchset
> > system not hard freezes.
>
> This trace is certainly a kvm bug. What guest are you running? If it
> is free (and does not contain private information), can you post it
> somewhere for me to download?
I can reproduce same behaviour with fedora/opensuse/sled and pardus guests so
i guess this is not a image problem but also if you want, i can provide a
mini-pardus image for you to try?
Cheers
--
S.Çağlar Onur <caglar@pardus.org.tr>
http://cekirdek.pardus.org.tr/~caglar/
Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [kvm-devel] [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-18 10:50 ` S.Çağlar Onur
@ 2007-07-20 5:31 ` Avi Kivity
2007-07-20 11:37 ` S.Çağlar Onur
0 siblings, 1 reply; 18+ messages in thread
From: Avi Kivity @ 2007-07-20 5:31 UTC (permalink / raw)
To: caglar; +Cc: Anthony Liguori, kvm-devel, Linus Torvalds, linux-kernel
S.Çağlar Onur wrote:
> Hi;
>
> 18 Tem 2007 Çar tarihinde, Avi Kivity şunları yazmıştı:
>
>>> http://cekirdek.pardus.org.tr/~caglar/kvm/netconsole_wo_apparmor is the
>>> vanilla one's netconsole output, by the way without apparmor patchset
>>> system not hard freezes.
>>>
>> This trace is certainly a kvm bug. What guest are you running? If it
>> is free (and does not contain private information), can you post it
>> somewhere for me to download?
>>
>
> I can reproduce same behaviour with fedora/opensuse/sled and pardus guests so
> i guess this is not a image problem but also if you want, i can provide a
> mini-pardus image for you to try?
>
>
Turned out kvm and slub didn't like each other. Please try applying
these two patches, in order:
http://people.qumranet.com:8888/avi/kvm-late-fixes-rollup.patch
http://people.qumranet.com:8888/avi/kvm-vs-slub-fix.patch
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [kvm-devel] [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-20 5:31 ` Avi Kivity
@ 2007-07-20 11:37 ` S.Çağlar Onur
0 siblings, 0 replies; 18+ messages in thread
From: S.Çağlar Onur @ 2007-07-20 11:37 UTC (permalink / raw)
To: Avi Kivity; +Cc: Anthony Liguori, kvm-devel, Linus Torvalds, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 583 bytes --]
Hi;
20 Tem 2007 Cum tarihinde, Avi Kivity şunları yazmıştı:
> Turned out kvm and slub didn't like each other. Please try applying
> these two patches, in order:
>
> http://people.qumranet.com:8888/avi/kvm-late-fixes-rollup.patch
> http://people.qumranet.com:8888/avi/kvm-vs-slub-fix.patch
Yep, these solved the problems, thanks!
Tested-by: S.Çağlar Onur <caglar@pardus.org.tr>
Cheers
--
S.Çağlar Onur <caglar@pardus.org.tr>
http://cekirdek.pardus.org.tr/~caglar/
Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [kvm-devel] [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-18 10:31 ` Avi Kivity
2007-07-18 10:50 ` S.Çağlar Onur
@ 2007-07-18 17:46 ` S.Çağlar Onur
2007-07-18 18:04 ` Avi Kivity
1 sibling, 1 reply; 18+ messages in thread
From: S.Çağlar Onur @ 2007-07-18 17:46 UTC (permalink / raw)
To: Avi Kivity; +Cc: Anthony Liguori, kvm-devel, Linus Torvalds, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1854 bytes --]
Hi Avi;
18 Tem 2007 Çar tarihinde, Avi Kivity şunları yazmıştı:
> This trace is certainly a kvm bug. What guest are you running? If it
> is free (and does not contain private information), can you post it
> somewhere for me to download?
After seeing your "[PATCH] i386: Decouple PAE from CONFIG_CMPXCHG64" mail i
applied it on top of Linus's current git and disabled HIGHMEM64 (following is
the diff between configs)
caglar@zangetsu linux-2.6 $ diff -u config .config
--- config 2007-07-18 12:34:36.000000000 +0300
+++ .config 2007-07-18 19:47:56.000000000 +0300
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.22
-# Wed Jul 18 02:32:10 2007
+# Wed Jul 18 19:47:56 2007
#
CONFIG_X86_32=y
CONFIG_GENERIC_TIME=y
@@ -200,11 +200,10 @@
CONFIG_DCDBAS=m
CONFIG_DMIID=y
# CONFIG_NOHIGHMEM is not set
-# CONFIG_HIGHMEM4G is not set
-CONFIG_HIGHMEM64G=y
+CONFIG_HIGHMEM4G=y
+# CONFIG_HIGHMEM64G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
-CONFIG_X86_PAE=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
@@ -1228,7 +1227,6 @@
CONFIG_I2O=m
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
CONFIG_I2O_EXT_ADAPTEC=y
-CONFIG_I2O_EXT_ADAPTEC_DMA64=y
CONFIG_I2O_CONFIG=m
CONFIG_I2O_CONFIG_OLD_IOCTL=y
CONFIG_I2O_BUS=m
And this time i get another oops [1] and because my kernel is tainted by
nvidia driver i also tried and get same with untainted one [2]. I hope they
helps...
[1] http://cekirdek.pardus.org.tr/~caglar/kvm/opps_tainted
[2] http://cekirdek.pardus.org.tr/~caglar/kvm/opps_not_tainted
Cheers
--
S.Çağlar Onur <caglar@pardus.org.tr>
http://cekirdek.pardus.org.tr/~caglar/
Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [kvm-devel] [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1
2007-07-18 17:46 ` S.Çağlar Onur
@ 2007-07-18 18:04 ` Avi Kivity
0 siblings, 0 replies; 18+ messages in thread
From: Avi Kivity @ 2007-07-18 18:04 UTC (permalink / raw)
To: caglar; +Cc: Anthony Liguori, kvm-devel, Linus Torvalds, linux-kernel
S.Çağlar Onur wrote:
> Hi Avi;
>
> 18 Tem 2007 Çar tarihinde, Avi Kivity şunları yazmıştı:
>
>> This trace is certainly a kvm bug. What guest are you running? If it
>> is free (and does not contain private information), can you post it
>> somewhere for me to download?
>>
>
> After seeing your "[PATCH] i386: Decouple PAE from CONFIG_CMPXCHG64" mail i
> applied it on top of Linus's current git and disabled HIGHMEM64 (following is
> the diff between configs)
>
>
It should not have made any difference.
I'll send you a debug patch tomorrow. These are rather fundamental
failures, something is seriously wrong.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2007-07-20 11:39 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-17 16:51 [GIT PULL][RESEND #2] KVM Updates for 2.6.23-rc1 Avi Kivity
2007-07-17 18:39 ` S.Çağlar Onur
2007-07-17 19:05 ` H. Peter Anvin
2007-07-17 19:15 ` Linus Torvalds
2007-07-17 19:26 ` H. Peter Anvin
2007-07-17 23:25 ` S.Çağlar Onur
2007-07-17 23:38 ` [kvm-devel] " Anthony Liguori
2007-07-17 23:40 ` S.Çağlar Onur
2007-07-18 9:31 ` S.Çağlar Onur
2007-07-18 9:35 ` Avi Kivity
2007-07-18 10:09 ` S.Çağlar Onur
2007-07-18 10:17 ` S.Çağlar Onur
2007-07-18 10:31 ` Avi Kivity
2007-07-18 10:50 ` S.Çağlar Onur
2007-07-20 5:31 ` Avi Kivity
2007-07-20 11:37 ` S.Çağlar Onur
2007-07-18 17:46 ` S.Çağlar Onur
2007-07-18 18:04 ` Avi Kivity
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox