Re: [PATCH] fix info cpus halted state display

2010-05-23 Thread Avi Kivity

On 05/20/2010 01:16 PM, Gleb Natapov wrote:

On Thu, May 13, 2010 at 04:17:14PM +0300, Gleb Natapov wrote:
   

When in-kernel irqchip is used env-halted is never used for anything
except info cpus command. Halted state is synced in
kvm_arch_save_mpstate() and showed by do_info_cpus() but otherwise never
looked at. Zeroing it here breaks info cpus since before
do_info_cpus() outputs env-halted in io thread it is zeroed here when
vcpu thread reenters kernel.

 

Avi, what about this patch?

   


Sorry, missed.  Applied now.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] fix info cpus halted state display

2010-05-20 Thread Gleb Natapov
On Thu, May 13, 2010 at 04:17:14PM +0300, Gleb Natapov wrote:
 When in-kernel irqchip is used env-halted is never used for anything
 except info cpus command. Halted state is synced in
 kvm_arch_save_mpstate() and showed by do_info_cpus() but otherwise never
 looked at. Zeroing it here breaks info cpus since before
 do_info_cpus() outputs env-halted in io thread it is zeroed here when
 vcpu thread reenters kernel.
 
Avi, what about this patch?

 Signed-off-by: Gleb Natapov g...@redhat.com
 diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c
 index 61d9331..0ec2881 100644
 --- a/qemu-kvm-x86.c
 +++ b/qemu-kvm-x86.c
 @@ -922,10 +922,6 @@ void kvm_arch_load_regs(CPUState *env, int level)
  if (env-kvm_vcpu_update_vapic)
  kvm_tpr_enable_vapic(env);
  }
 -if (kvm_irqchip_in_kernel()) {
 -/* Avoid deadlock: no user space IRQ will ever clear it. */
 -env-halted = 0;
 -}
  
  kvm_put_vcpu_events(env, level);
  kvm_put_debugregs(env);
 --
   Gleb.
 --
 To unsubscribe from this list: send the line unsubscribe kvm in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
Gleb.
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] fix info cpus halted state display

2010-05-15 Thread Gleb Natapov
On Thu, May 13, 2010 at 03:57:05PM +0200, Jan Kiszka wrote:
 Gleb Natapov wrote:
  When in-kernel irqchip is used env-halted is never used for anything
  except info cpus command.
 
 In fact, it's used in a few more places, namely cpu_dump_state and the
 gdbstub.
 
Both of those places use env-halted the same way info cpus does:
print out cpu state. And the both call for cpu_synchronize_state()
before using env-halted.

  Halted state is synced in
  kvm_arch_save_mpstate() and showed by do_info_cpus() but otherwise never
  looked at. Zeroing it here breaks info cpus since before
  do_info_cpus() outputs env-halted in io thread it is zeroed here when
  vcpu thread reenters kernel.
 
 Looks good for current qemu-kvm.
 
 Execution of kvm_cpu_exec once depended on env-halted, even for
 in-kernel irqchip, right?
Never in qemu-kvm AFAIR. May be at some point during merge between
upstream qemu and qemu-kvm such bug was introduced,

Anyway, there are not such traces left here.
 We will just need to look at it again when pushing in-kernel irqchips
 upstream as its kvm loop looks different.
 
 Jan
 
  
  Signed-off-by: Gleb Natapov g...@redhat.com
  diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c
  index 61d9331..0ec2881 100644
  --- a/qemu-kvm-x86.c
  +++ b/qemu-kvm-x86.c
  @@ -922,10 +922,6 @@ void kvm_arch_load_regs(CPUState *env, int level)
   if (env-kvm_vcpu_update_vapic)
   kvm_tpr_enable_vapic(env);
   }
  -if (kvm_irqchip_in_kernel()) {
  -/* Avoid deadlock: no user space IRQ will ever clear it. */
  -env-halted = 0;
  -}
   
   kvm_put_vcpu_events(env, level);
   kvm_put_debugregs(env);
  --
  Gleb.
 
 



--
Gleb.
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html