All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@web.de>
To: Marek Vasut <marek.vasut@gmail.com>
Cc: Blue Swirl <blauwirbel@gmail.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 2/2] Drop obsolete nographic timer
Date: Fri, 16 Mar 2012 09:17:17 +0100	[thread overview]
Message-ID: <4F62F70D.3050103@web.de> (raw)
In-Reply-To: <201203160152.55783.marek.vasut@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2564 bytes --]

On 2012-03-16 01:52, Marek Vasut wrote:
> 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.

I'm starting to understand the issue: The serial port can only accept a
single byte. Once this arrived, serial_can_receive1 returns 0, and the
backend fd is not longer polled by the io-thread. This should change
again as soon as the guest read that byte. But qemu_chr_accept_input,
which is properly called by the serial device, didn't kick the io-thread
in some way. I solved it this way now:

diff --git a/qemu-char.c b/qemu-char.c
index 9a5be75..a589a84 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -177,6 +177,7 @@ void qemu_chr_accept_input(CharDriverState *s)
 {
     if (s->chr_accept_input)
         s->chr_accept_input(s);
+    qemu_notify_event();
 }

 void qemu_chr_fe_printf(CharDriverState *s, const char *fmt, ...)


But I'm not yet sure if this is correct. Comments welcome!

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 262 bytes --]

  reply	other threads:[~2012-03-16  8:17 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-30 10:31 [Qemu-devel] [PATCH 2/2] Drop obsolete nographic timer Jan Kiszka
2011-10-14  0:05 ` David Gibson
2011-11-01 20:10   ` Anthony Liguori
2011-11-01 20:15     ` Blue Swirl
2011-11-01 20:20       ` Anthony Liguori
2012-03-10  6:19 ` Marek Vasut
2012-03-10 10:44   ` Jan Kiszka
2012-03-11 23:39     ` Marek Vasut
2012-03-15 18:12       ` Marek Vasut
2012-03-15 21:53         ` Jan Kiszka
2012-03-16  0:52           ` Marek Vasut
2012-03-16  8:17             ` Jan Kiszka [this message]
2012-03-16  8:55               ` Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F62F70D.3050103@web.de \
    --to=jan.kiszka@web.de \
    --cc=aliguori@us.ibm.com \
    --cc=blauwirbel@gmail.com \
    --cc=marek.vasut@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.