Patchwork [2/2] Drop obsolete nographic timer

login
register
mail settings
Submitter Jan Kiszka
Date Sept. 30, 2011, 10:31 a.m.
Message ID <4E859A76.2000808@siemens.com>
Download mbox | patch
Permalink /patch/117077/
State New
Headers show

Comments

Jan Kiszka - Sept. 30, 2011, 10:31 a.m.
We flush coalesced MMIO in the device models now, and VNC - for which
this was once introduced - is also fine without it as it has its own
refresh timer.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 vl.c |   13 -------------
 1 files changed, 0 insertions(+), 13 deletions(-)
David Gibson - Oct. 14, 2011, 12:05 a.m.
On Fri, Sep 30, 2011 at 12:31:18PM +0200, Jan Kiszka wrote:
> We flush coalesced MMIO in the device models now, and VNC - for which
> this was once introduced - is also fine without it as it has its own
> refresh timer.

These don't seem to have gone in yet, any word on their progress?  KVM
exits are *really* expensive on powerpc, so this represents a
significant performance problem for us.  I'm hoping this can make the
freeze.
Anthony Liguori - Nov. 1, 2011, 8:10 p.m.
On 10/13/2011 07:05 PM, David Gibson wrote:
> On Fri, Sep 30, 2011 at 12:31:18PM +0200, Jan Kiszka wrote:
>> We flush coalesced MMIO in the device models now, and VNC - for which
>> this was once introduced - is also fine without it as it has its own
>> refresh timer.
>
> These don't seem to have gone in yet, any word on their progress?  KVM
> exits are *really* expensive on powerpc, so this represents a
> significant performance problem for us.  I'm hoping this can make the
> freeze.
>

Jan, can you resubmit if needed?  I don't have 1/2.

Regards,

Anthony Liguori
Blue Swirl - Nov. 1, 2011, 8:15 p.m.
On Tue, Nov 1, 2011 at 20:10, Anthony Liguori <aliguori@us.ibm.com> wrote:
> On 10/13/2011 07:05 PM, David Gibson wrote:
>>
>> On Fri, Sep 30, 2011 at 12:31:18PM +0200, Jan Kiszka wrote:
>>>
>>> We flush coalesced MMIO in the device models now, and VNC - for which
>>> this was once introduced - is also fine without it as it has its own
>>> refresh timer.
>>
>> These don't seem to have gone in yet, any word on their progress?  KVM
>> exits are *really* expensive on powerpc, so this represents a
>> significant performance problem for us.  I'm hoping this can make the
>> freeze.
>>
>
> Jan, can you resubmit if needed?  I don't have 1/2.

These are already in, see
9870a5e6cd3df584328728b3d822b23cee28c561 and
e9a07334fb6ee08ddd61787c102d36e7e781efef.

>
> Regards,
>
> Anthony Liguori
>
>
Anthony Liguori - Nov. 1, 2011, 8:20 p.m.
On 11/01/2011 03:15 PM, Blue Swirl wrote:
> On Tue, Nov 1, 2011 at 20:10, Anthony Liguori<aliguori@us.ibm.com>  wrote:
>> On 10/13/2011 07:05 PM, David Gibson wrote:
>>>
>>> On Fri, Sep 30, 2011 at 12:31:18PM +0200, Jan Kiszka wrote:
>>>>
>>>> We flush coalesced MMIO in the device models now, and VNC - for which
>>>> this was once introduced - is also fine without it as it has its own
>>>> refresh timer.
>>>
>>> These don't seem to have gone in yet, any word on their progress?  KVM
>>> exits are *really* expensive on powerpc, so this represents a
>>> significant performance problem for us.  I'm hoping this can make the
>>> freeze.
>>>
>>
>> Jan, can you resubmit if needed?  I don't have 1/2.
>
> These are already in, see
> 9870a5e6cd3df584328728b3d822b23cee28c561 and
> e9a07334fb6ee08ddd61787c102d36e7e781efef.

Thanks.  Guess I should have looked first.

Regards,

Anthony Liguori

>
>>
>> Regards,
>>
>> Anthony Liguori
>>
>>
>
Marek Vasut - March 10, 2012, 6:19 a.m.
Dear Jan Kiszka,

> We flush coalesced MMIO in the device models now, and VNC - for which
> this was once introduced - is also fine without it as it has its own
> refresh timer.
> 
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
>  vl.c |   13 -------------
>  1 files changed, 0 insertions(+), 13 deletions(-)

This patch seems to break QEMU/PXA emulation for me on the ZipitZ2 platform. The 
serial console became very slow, but only when I type something in. The output 
from the device to the console is ok. After reverting this particular one, the 
console behaves normally.

Thanks for your help!

Best regards,
Marek Vasut
Jan Kiszka - March 10, 2012, 10:44 a.m.
On 2012-03-10 07:19, Marek Vasut wrote:
> Dear Jan Kiszka,
> 
>> We flush coalesced MMIO in the device models now, and VNC - for which
>> this was once introduced - is also fine without it as it has its own
>> refresh timer.
>>
>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>> ---
>>  vl.c |   13 -------------
>>  1 files changed, 0 insertions(+), 13 deletions(-)
> 
> This patch seems to break QEMU/PXA emulation for me on the ZipitZ2 platform. The 
> serial console became very slow, but only when I type something in. The output 
> from the device to the console is ok. After reverting this particular one, the 
> console behaves normally.

Removing that timer removal likely just revealed some formerly hidden
bug. Can you share the command line used for starting and some test image?

Jan
Marek Vasut - March 11, 2012, 11:39 p.m.
Dear Jan Kiszka,

> On 2012-03-10 07:19, Marek Vasut wrote:
> > Dear Jan Kiszka,
> > 
> >> We flush coalesced MMIO in the device models now, and VNC - for which
> >> this was once introduced - is also fine without it as it has its own
> >> refresh timer.
> >> 
> >> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> >> ---
> >> 
> >>  vl.c |   13 -------------
> >>  1 files changed, 0 insertions(+), 13 deletions(-)
> > 
> > This patch seems to break QEMU/PXA emulation for me on the ZipitZ2
> > platform. The serial console became very slow, but only when I type
> > something in. The output from the device to the console is ok. After
> > reverting this particular one, the console behaves normally.
> 
> Removing that timer removal likely just revealed some formerly hidden
> bug. Can you share the command line used for starting and some test image?
> 
> Jan

qemu-system-arm -M z2 -pflash flash.img -serial null -serial null -serial stdio 
-display none

flash.img attached (XZ-ed)

Best regards,
Marek Vasut
Marek Vasut - March 15, 2012, 6:12 p.m.
Dear Marek Vasut,

> Dear Jan Kiszka,
> 
> > On 2012-03-10 07:19, Marek Vasut wrote:
> > > Dear Jan Kiszka,
> > > 
> > >> We flush coalesced MMIO in the device models now, and VNC - for which
> > >> this was once introduced - is also fine without it as it has its own
> > >> refresh timer.
> > >> 
> > >> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> > >> ---
> > >> 
> > >>  vl.c |   13 -------------
> > >>  1 files changed, 0 insertions(+), 13 deletions(-)
> > > 
> > > This patch seems to break QEMU/PXA emulation for me on the ZipitZ2
> > > platform. The serial console became very slow, but only when I type
> > > something in. The output from the device to the console is ok. After
> > > reverting this particular one, the console behaves normally.
> > 
> > Removing that timer removal likely just revealed some formerly hidden
> > bug. Can you share the command line used for starting and some test
> > image?
> > 
> > Jan
> 
> qemu-system-arm -M z2 -pflash flash.img -serial null -serial null -serial
> stdio -display none
> 
> flash.img attached (XZ-ed)
> 

Bump?

Best regards,
Marek Vasut
Jan Kiszka - March 15, 2012, 9:53 p.m.
On 2012-03-15 19:12, Marek Vasut wrote:
> Dear Marek Vasut,
> 
>> Dear Jan Kiszka,
>>
>>> On 2012-03-10 07:19, Marek Vasut wrote:
>>>> Dear Jan Kiszka,
>>>>
>>>>> We flush coalesced MMIO in the device models now, and VNC - for which
>>>>> this was once introduced - is also fine without it as it has its own
>>>>> refresh timer.
>>>>>
>>>>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>>>>> ---
>>>>>
>>>>>  vl.c |   13 -------------
>>>>>  1 files changed, 0 insertions(+), 13 deletions(-)
>>>>
>>>> This patch seems to break QEMU/PXA emulation for me on the ZipitZ2
>>>> platform. The serial console became very slow, but only when I type
>>>> something in. The output from the device to the console is ok. After
>>>> reverting this particular one, the console behaves normally.
>>>
>>> Removing that timer removal likely just revealed some formerly hidden
>>> bug. Can you share the command line used for starting and some test
>>> image?
>>>
>>> Jan
>>
>> qemu-system-arm -M z2 -pflash flash.img -serial null -serial null -serial
>> stdio -display none
>>
>> flash.img attached (XZ-ed)
>>
> 
> Bump?

I had a brief look: The guest is apparently polling the uart, IRQ
delivery is disabled. But it also receives no timer ticks. I haven't
checked how it progresses, maybe there is some loop counter used.

What's the origin of this test image? Have you checked it works properly
on real silicon? I do not know how this platform looks like in reality,
how it should behave and should be programmed (by the guest), so I
really can't compare and analyze, sorry.

Jan
Marek Vasut - March 16, 2012, 12:52 a.m.
Dear Jan Kiszka,

> On 2012-03-15 19:12, Marek Vasut wrote:
> > Dear Marek Vasut,
> > 
> >> Dear Jan Kiszka,
> >> 
> >>> On 2012-03-10 07:19, Marek Vasut wrote:
> >>>> Dear Jan Kiszka,
> >>>> 
> >>>>> We flush coalesced MMIO in the device models now, and VNC - for which
> >>>>> this was once introduced - is also fine without it as it has its own
> >>>>> refresh timer.
> >>>>> 
> >>>>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> >>>>> ---
> >>>>> 
> >>>>>  vl.c |   13 -------------
> >>>>>  1 files changed, 0 insertions(+), 13 deletions(-)
> >>>> 
> >>>> This patch seems to break QEMU/PXA emulation for me on the ZipitZ2
> >>>> platform. The serial console became very slow, but only when I type
> >>>> something in. The output from the device to the console is ok. After
> >>>> reverting this particular one, the console behaves normally.
> >>> 
> >>> Removing that timer removal likely just revealed some formerly hidden
> >>> bug. Can you share the command line used for starting and some test
> >>> image?
> >>> 
> >>> Jan
> >> 
> >> qemu-system-arm -M z2 -pflash flash.img -serial null -serial null
> >> -serial stdio -display none
> >> 
> >> flash.img attached (XZ-ed)
> > 
> > Bump?
> 
> I had a brief look: The guest is apparently polling the uart, IRQ
> delivery is disabled.

Yes, it is.

> But it also receives no timer ticks. I haven't
> checked how it progresses, maybe there is some loop counter used.

What do you mean? How does the timer implementation in pxa-uboot work? udelay() 
calls on the guest (pxa-uboot) simply poll the timer until it reaches certain 
value. There's no paralelism going on at all.

> 
> What's the origin of this test image? Have you checked it works properly
> on real silicon?

Yep.

> I do not know how this platform looks like in reality,
> how it should behave and should be programmed (by the guest), so I
> really can't compare and analyze, sorry.

I'm the maintainer, nice to meet you ;-) Real silicon is a small clamshell pc-
like device. But this breaks all xscale stuff in qemu.

> 
> Jan

Best regards,
Marek Vasut

Patch

diff --git a/vl.c b/vl.c
index 54d4dd9..db5ed7c 100644
--- a/vl.c
+++ b/vl.c
@@ -247,8 +247,6 @@  int nb_numa_nodes;
 uint64_t node_mem[MAX_NODES];
 uint64_t node_cpumask[MAX_NODES];
 
-static QEMUTimer *nographic_timer;
-
 uint8_t qemu_uuid[16];
 
 static QEMUBootSetHandler *boot_set_handler;
@@ -1221,13 +1219,6 @@  static void gui_update(void *opaque)
     qemu_mod_timer(ds->gui_timer, interval + qemu_get_clock_ms(rt_clock));
 }
 
-static void nographic_update(void *opaque)
-{
-    uint64_t interval = GUI_REFRESH_INTERVAL;
-
-    qemu_mod_timer(nographic_timer, interval + qemu_get_clock_ms(rt_clock));
-}
-
 struct vm_change_state_entry {
     VMChangeStateHandler *cb;
     void *opaque;
@@ -3522,10 +3513,6 @@  int main(int argc, char **argv, char **envp)
         }
         dcl = dcl->next;
     }
-    if (ds->gui_timer == NULL) {
-        nographic_timer = qemu_new_timer_ms(rt_clock, nographic_update, NULL);
-        qemu_mod_timer(nographic_timer, qemu_get_clock_ms(rt_clock));
-    }
     text_consoles_set_display(ds);
 
     if (gdbstub_dev && gdbserver_start(gdbstub_dev) < 0) {