From: hkran <hkran@vnet.linux.ibm.com>
To: Zhi Yong Wu <zwu.kernel@gmail.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/2] Make simpletrace work on Windows
Date: Fri, 23 Sep 2011 13:58:57 +0800 [thread overview]
Message-ID: <4E7C2021.9090200@vnet.linux.ibm.com> (raw)
In-Reply-To: <CAEH94LjP7f-NuR3ASbq8-PtepXx-=vXVUrn3wjsQxbWTwbgZgg@mail.gmail.com>
On 09/20/2011 06:15 PM, Zhi Yong Wu wrote:
> On Tue, Sep 20, 2011 at 5:57 PM, Stefan Hajnoczi
> <stefanha@linux.vnet.ibm.com> wrote:
>> On Tue, Sep 20, 2011 at 05:05:45PM +0800, hkran wrote:
>>> On 09/09/2011 05:37 PM, Stefan Hajnoczi wrote:
>>>> The 'simple' trace backend uses pthreads and does not work on Windows. These
>>>> patches switch from pthreads to glib so that the code builds on all platforms
>>>> supported by glib.
>>>>
>>>> Only one thing I'm unhappy about: the simpletrace write-out thread used to
>>>> block all signals. I have removed that code and don't expect glib to do it for
>>>> me. I'm not sure if there is a problem if signal handlers are invoked in the
>>>> write-out thread instead of a QEMU thread. Any thoughts?
>>>>
>>>> Stefan Hajnoczi (2):
>>>> trace: portable simple trace backend using glib
>>>> trace: use binary file open mode in simpletrace
>>>>
>>>> trace/simple.c | 58 ++++++++++++++++++++++++++-----------------------------
>>>> 1 files changed, 27 insertions(+), 31 deletions(-)
>>>>
>>> Stefan,
>>>
>>> I applied the patch and make&install it.
>>>
>>> After a round of running of the qemu with the patch, a trace file is
>>> here, but when I want to open it like this,
>>> ./simpletrace.py trace-events trace-29948 //trace-29948 is my tracefile
>>> an error occurs:
>>>
>>> Traceback (most recent call last):
>>> File "./simpletrace.py", line 151, in<module>
>>> run(Formatter())
>>> File "./simpletrace.py", line 131, in run
>>> events = parse_events(open(sys.argv[1], 'r'))
>>> IOError: [Errno 2] No such file or directory: 'trace-events'
>>>
>>> Am I using it in a right way?
>> Looks like your current working directory is scripts/ so simpletrace.py
>> will be unable to find the trace-events file which is in the parent
>> directory.
>>
>> Usually I stay in QEMU's root directory and just run:
>> $ qemu # ...generate the trace
>> $ scripts/simpletrace.py trace-events trace-$PID
> I know how to define my own event and play with it now. Very helpful
> for me to debug my functions. thanks.
>
>>> Additionally, There is something about WIN32 in patch, How can I
>>> compile a qemu running on windows? Could you give a reference?
>> Search for 'mingw' in qemu-doc.texi for instructions.
>>
>> Stefan
>>
>>
>
>
It took much long time to setup a mingw environment on windows to build
qemu with the patch.
I enable the events bdrv_aio_readv and bdrv_aio_writev...... finally I
got a trace, I paste a piece of that here:
bdrv_aio_readv 1172.216 bs=0x12b84a0 sector_num=0x538607 nb_sectors=0x40
opaque=0xe1a1d40
bdrv_aio_readv 1.676 bs=0x12b96e0 sector_num=0x538607 nb_sectors=0x40
opaque=0xe1a1d40
bdrv_aio_readv 811.555 bs=0x12b84a0 sector_num=0x538647 nb_sectors=0x37
opaque=0xe1a1d40
bdrv_aio_readv 2.515 bs=0x12b96e0 sector_num=0x538647 nb_sectors=0x37
opaque=0xe1a1d40
bdrv_aio_writev 3549944.197 bs=0x12b84a0 sector_num=0xf2b3f
nb_sectors=0x48 opaque=0xe1a1d40
bdrv_aio_writev 4.190 bs=0x12b96e0 sector_num=0xf2b3f nb_sectors=0x48
opaque=0xe1a1d40
bdrv_aio_writev 35316.500 bs=0x12b84a0 sector_num=0x13f7b7
nb_sectors=0x60 opaque=0xe1a1d40
bdrv_aio_writev 3.911 bs=0x12b96e0 sector_num=0x13f7b7 nb_sectors=0x60
opaque=0xe1a1d40
bdrv_aio_writev 27754.924 bs=0x12b84a0 sector_num=0x9efdf
nb_sectors=0x50 opaque=0xe1a1d40
bdrv_aio_writev 3.911 bs=0x12b96e0 sector_num=0x9efdf nb_sectors=0x50
opaque=0xe1a1d40
bdrv_aio_writev 30819.839 bs=0x12b84a0 sector_num=0xf36a7
nb_sectors=0x48 opaque=0xe1a1d40
It looks working fine when windows serving a host.
For another thing, if I use virtio driver in my case like this:
qemu-system-i386.exe -m 786 -drive
file=/c/setup/iso/xp_shanghai.img,if=virtio -sdl -net nic,model=virtio
-net user
the guest can startup but soon go to crash without any traces. My question:
Can not virtio drivers be applied in the case that windows serve as a host?
furthermore, are there other limitations when qemu is running on windows?
next prev parent reply other threads:[~2011-09-23 5:59 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-09 9:37 [Qemu-devel] [PATCH 0/2] Make simpletrace work on Windows Stefan Hajnoczi
2011-09-09 9:37 ` [Qemu-devel] [PATCH 1/2] trace: portable simple trace backend using glib Stefan Hajnoczi
2011-09-20 10:31 ` Jan Kiszka
2011-09-20 10:52 ` Paolo Bonzini
2011-09-20 10:58 ` Jan Kiszka
2011-09-20 12:01 ` Stefan Hajnoczi
2011-09-09 9:37 ` [Qemu-devel] [PATCH 2/2] trace: use binary file open mode in simpletrace Stefan Hajnoczi
2011-09-09 11:12 ` [Qemu-devel] [PATCH 0/2] Make simpletrace work on Windows Paolo Bonzini
2011-09-20 9:05 ` hkran
2011-09-20 9:57 ` Stefan Hajnoczi
2011-09-20 10:15 ` Zhi Yong Wu
2011-09-23 5:58 ` hkran [this message]
2011-09-20 10:20 ` Avi Kivity
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=4E7C2021.9090200@vnet.linux.ibm.com \
--to=hkran@vnet.linux.ibm.com \
--cc=jan.kiszka@siemens.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@linux.vnet.ibm.com \
--cc=zwu.kernel@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).