diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2008-09-30 04:41:06 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2008-10-15 08:25:30 -0400 |
commit | 1b10bf31a5de5b76e2e9c2937878a45c5ae2be37 (patch) | |
tree | 1949c55a5ca54ecaf921c9687a56c013185647ca /arch | |
parent | e5fcfc821a467bd0827635db8fd39ab1213987e5 (diff) |
KVM: x86: Silence various LAPIC-related host kernel messages
KVM-x86 dumps a lot of debug messages that have no meaning for normal
operation:
- INIT de-assertion is ignored
- SIPIs are sent and received
- APIC writes are unaligned or < 4 byte long
(Windows Server 2003 triggers this on SMP)
Degrade them to true debug messages, keeping the host kernel log clean
for real problems.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kvm/lapic.c | 16 | ||||
-rw-r--r-- | arch/x86/kvm/x86.c | 4 |
2 files changed, 9 insertions, 11 deletions
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index fd00f698692f..6571926bfd33 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c | |||
@@ -365,16 +365,14 @@ static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode, | |||
365 | vcpu->arch.mp_state = KVM_MP_STATE_INIT_RECEIVED; | 365 | vcpu->arch.mp_state = KVM_MP_STATE_INIT_RECEIVED; |
366 | kvm_vcpu_kick(vcpu); | 366 | kvm_vcpu_kick(vcpu); |
367 | } else { | 367 | } else { |
368 | printk(KERN_DEBUG | 368 | apic_debug("Ignoring de-assert INIT to vcpu %d\n", |
369 | "Ignoring de-assert INIT to vcpu %d\n", | 369 | vcpu->vcpu_id); |
370 | vcpu->vcpu_id); | ||
371 | } | 370 | } |
372 | |||
373 | break; | 371 | break; |
374 | 372 | ||
375 | case APIC_DM_STARTUP: | 373 | case APIC_DM_STARTUP: |
376 | printk(KERN_DEBUG "SIPI to vcpu %d vector 0x%02x\n", | 374 | apic_debug("SIPI to vcpu %d vector 0x%02x\n", |
377 | vcpu->vcpu_id, vector); | 375 | vcpu->vcpu_id, vector); |
378 | if (vcpu->arch.mp_state == KVM_MP_STATE_INIT_RECEIVED) { | 376 | if (vcpu->arch.mp_state == KVM_MP_STATE_INIT_RECEIVED) { |
379 | vcpu->arch.sipi_vector = vector; | 377 | vcpu->arch.sipi_vector = vector; |
380 | vcpu->arch.mp_state = KVM_MP_STATE_SIPI_RECEIVED; | 378 | vcpu->arch.mp_state = KVM_MP_STATE_SIPI_RECEIVED; |
@@ -679,9 +677,9 @@ static void apic_mmio_write(struct kvm_io_device *this, | |||
679 | * Refer SDM 8.4.1 | 677 | * Refer SDM 8.4.1 |
680 | */ | 678 | */ |
681 | if (len != 4 || alignment) { | 679 | if (len != 4 || alignment) { |
682 | if (printk_ratelimit()) | 680 | /* Don't shout loud, $infamous_os would cause only noise. */ |
683 | printk(KERN_ERR "apic write: bad size=%d %lx\n", | 681 | apic_debug("apic write: bad size=%d %lx\n", |
684 | len, (long)address); | 682 | len, (long)address); |
685 | return; | 683 | return; |
686 | } | 684 | } |
687 | 685 | ||
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 4cfdd1b6df0b..d6d7123d2644 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -3224,8 +3224,8 @@ static int __vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) | |||
3224 | int r; | 3224 | int r; |
3225 | 3225 | ||
3226 | if (unlikely(vcpu->arch.mp_state == KVM_MP_STATE_SIPI_RECEIVED)) { | 3226 | if (unlikely(vcpu->arch.mp_state == KVM_MP_STATE_SIPI_RECEIVED)) { |
3227 | printk("vcpu %d received sipi with vector # %x\n", | 3227 | pr_debug("vcpu %d received sipi with vector # %x\n", |
3228 | vcpu->vcpu_id, vcpu->arch.sipi_vector); | 3228 | vcpu->vcpu_id, vcpu->arch.sipi_vector); |
3229 | kvm_lapic_reset(vcpu); | 3229 | kvm_lapic_reset(vcpu); |
3230 | r = kvm_x86_ops->vcpu_reset(vcpu); | 3230 | r = kvm_x86_ops->vcpu_reset(vcpu); |
3231 | if (r) | 3231 | if (r) |