Re: [PATCH 8/9] coalesce mmio regions with an explicit call

2009-04-17 Thread Dmitry Eremin-Solenikov
Glauber Costa wrote:

 Remove explicit calls to mmio coalescing. Rather, include it in the
 registration functions.
 

OK. On real SVM HW this seems to work. However now i'm stumbled upon another
problem wrt. NMI. See another mail.

-- 
With best wishes
Dmitry

se

--
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 8/9] coalesce mmio regions with an explicit call

2008-09-25 Thread Avi Kivity
Glauber Costa wrote:

 Any ideas about what's up for the other hypervisors that may (we hope) be 
 integrated
 in the future? Xen?
   

Xen should benefit even more (much more).  IIRC Windows wouldn't boot
since it was spending all its time context switching when the splash
screen with its KITT bar was displayed, so they hacked something for
vga, but nothing generic.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.

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


Re: [PATCH 8/9] coalesce mmio regions with an explicit call

2008-09-25 Thread Glauber Costa
On Thu, Sep 25, 2008 at 10:08:53AM +0300, Avi Kivity wrote:
 Glauber Costa wrote:
 
  Any ideas about what's up for the other hypervisors that may (we hope) be 
  integrated
  in the future? Xen?

 
 Xen should benefit even more (much more).  IIRC Windows wouldn't boot
 since it was spending all its time context switching when the splash
 screen with its KITT bar was displayed, so they hacked something for
 vga, but nothing generic.
That's the point. It's not just a word play between qemu and kvm, because
if we introduce generic hooks that kvm happens to fill, but qemu not, other 
hypervirors
may (we hope) fill it in the future.

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


Re: [PATCH 8/9] coalesce mmio regions with an explicit call

2008-09-24 Thread Avi Kivity

Glauber Costa wrote:
You can't coalesce the registers which trigger device action.  You'll  
destroy latency and/or functionality.



which kills the goal of getting rid of explicit kvm code.

  


It's a fact that coalescing helps kvm but not qemu.


So maybe the solution here is to add calls in qemu to a memory
coalescing function that in the raw qemu / kqemu case just don't
do anything?
  


That's just word games.  s/kvm/qemu/ won't change the fact that this is 
a kvm specific hook.


--
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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 8/9] coalesce mmio regions with an explicit call

2008-09-23 Thread Glauber Costa
On Tue, Sep 23, 2008 at 10:29:48AM +0300, Avi Kivity wrote:
 Glauber Costa wrote:
 On Sat, Sep 20, 2008 at 11:39:44AM -0700, Avi Kivity wrote:
   
 Glauber Costa wrote:
 
 Remove explicit calls to mmio coalescing. Rather,
 include it in the registration functions.

 index 5ae3960..2d97b34 100644
 --- a/qemu/hw/e1000.c
 +++ b/qemu/hw/e1000.c
 @@ -942,18 +942,6 @@ e1000_mmio_map(PCIDevice *pci_dev, int region_num,
   d-mmio_base = addr;
  cpu_register_physical_memory(addr, PNPMMIO_SIZE, d-mmio_index);
 -
 -if (kvm_enabled()) {
 -  int i;
 -uint32_t excluded_regs[] = {
 -E1000_MDIC, E1000_ICR, E1000_ICS, E1000_IMS,
 -E1000_IMC, E1000_TCTL, E1000_TDT, PNPMMIO_SIZE
 -};
 -qemu_kvm_register_coalesced_mmio(addr, excluded_regs[0]);
 -for (i = 0; excluded_regs[i] != PNPMMIO_SIZE; i++)
 -qemu_kvm_register_coalesced_mmio(addr + excluded_regs[i] + 4,
 - excluded_regs[i + 1] - excluded_regs[i] - 4);
 -}
  }
  
 Where did all of this go?
 

 All the region is coalesced (not just the pieces) automatically during 
 memory registration.
 Or not at all, in case coalescing is disabled.
   

 You can't coalesce the registers which trigger device action.  You'll  
 destroy latency and/or functionality.

which kills the goal of getting rid of explicit kvm code.

So maybe the solution here is to add calls in qemu to a memory
coalescing function that in the raw qemu / kqemu case just don't
do anything?

Anthony, do you have an opinion about it ?
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 8/9] coalesce mmio regions with an explicit call

2008-09-22 Thread Glauber Costa
On Sat, Sep 20, 2008 at 11:39:44AM -0700, Avi Kivity wrote:
 Glauber Costa wrote:
 Remove explicit calls to mmio coalescing. Rather,
 include it in the registration functions.

 index 5ae3960..2d97b34 100644
 --- a/qemu/hw/e1000.c
 +++ b/qemu/hw/e1000.c
 @@ -942,18 +942,6 @@ e1000_mmio_map(PCIDevice *pci_dev, int region_num,
   d-mmio_base = addr;
  cpu_register_physical_memory(addr, PNPMMIO_SIZE, d-mmio_index);
 -
 -if (kvm_enabled()) {
 -int i;
 -uint32_t excluded_regs[] = {
 -E1000_MDIC, E1000_ICR, E1000_ICS, E1000_IMS,
 -E1000_IMC, E1000_TCTL, E1000_TDT, PNPMMIO_SIZE
 -};
 -qemu_kvm_register_coalesced_mmio(addr, excluded_regs[0]);
 -for (i = 0; excluded_regs[i] != PNPMMIO_SIZE; i++)
 -qemu_kvm_register_coalesced_mmio(addr + excluded_regs[i] + 4,
 - excluded_regs[i + 1] - excluded_regs[i] - 4);
 -}
  }


 Where did all of this go?

All the region is coalesced (not just the pieces) automatically during memory 
registration.
Or not at all, in case coalescing is disabled.


 -- 
 I have a truly marvellous patch that fixes the bug which this
 signature is too narrow to contain.

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


Re: [PATCH 8/9] coalesce mmio regions with an explicit call

2008-09-20 Thread Avi Kivity

Glauber Costa wrote:

Remove explicit calls to mmio coalescing. Rather,
include it in the registration functions.

index 5ae3960..2d97b34 100644
--- a/qemu/hw/e1000.c
+++ b/qemu/hw/e1000.c
@@ -942,18 +942,6 @@ e1000_mmio_map(PCIDevice *pci_dev, int region_num,
 
 d-mmio_base = addr;

 cpu_register_physical_memory(addr, PNPMMIO_SIZE, d-mmio_index);
-
-if (kvm_enabled()) {
-   int i;
-uint32_t excluded_regs[] = {
-E1000_MDIC, E1000_ICR, E1000_ICS, E1000_IMS,
-E1000_IMC, E1000_TCTL, E1000_TDT, PNPMMIO_SIZE
-};
-qemu_kvm_register_coalesced_mmio(addr, excluded_regs[0]);
-for (i = 0; excluded_regs[i] != PNPMMIO_SIZE; i++)
-qemu_kvm_register_coalesced_mmio(addr + excluded_regs[i] + 4,
- excluded_regs[i + 1] - excluded_regs[i] - 4);
-}
 }
 
  


Where did all of this go?

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

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