KQEMU 1.4.0pre1 for QEMU 0.10.1

Johannes Hofmann johannes.hofmann at gmx.de
Thu Apr 23 02:20:59 PDT 2009


Hi,

Naoya Sugioka <naoya.sugioka at gmail.com> wrote:
> [-- text/plain, encoding 7bit, charset: ISO-8859-1, 61 lines --]
> 
> Hi all,
> 
> Yes, now I fixed some kemu kernel module codes and which is ready for
> your testing.
> It works fine under current my environmtn (thinkpat t60p) with
> DragonFry 2.3-0-dev host,
> DragonFly 2.2 guest.
> 
> The problem causing performance issue was in ioctl call with KQEMU_SET_PHYS_MEM.
> 
> Pleaes replace attachment with previous my post and build kqemu.ko by
> using Makefile.dragonfly

Cool! It boots LATEST-Devel.iso now :)

> 
> I'd like to know especially it works with USB devices.
> 
> Pleaese let me know if you find someting interesting.

I still think that the wire/unwire call need to be revised. I still get 
kqemu: kqemu_unlock_user_page(34930000) failed, ret=4

When unloading kqemu.ko I get:
destroy_dev(): too few references on device! 0xc33746d8
kqemu(minor=00000000) refs=1

A subsequent kldload ./kqemu.ko panics the system with
assertion: sr->refcnt == 0 in sysref_alloc

Thanks for your work!
 Johannes

> 
> thank you for the kindly support :-)
> -Naoya
> 
> On Sun, Apr 19, 2009 at 3:23 AM, Johannes Hofmann
> <johannes.hofmann at gmx.de> wrote:
>> Hi,
>>
>> Michael Neumann <mneumann at ntecs.de> wrote:
>>> On Fri, 10 Apr 2009 23:16:37 -0700
>>> Naoya Sugioka <naoya.sugioka at gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>>
>>>> I just motivated to port kqemu module since QEMU starts working good
>>>> recently, according to this mailing list.
>>>
>>> Hi,
>>>
>>> I'd really like to see a working kqemu on DragonFly...
>>>
>>> If your compare kqemutest.messages.fly with kqemutest.messages.linux
>>> you'll notice some "kqemu_unlock_user_page failed" messages for
>>> Dragonfly nearly the end. They don't occur on Linux. Maybe this is
>>> related to your performance problems?
>>
>> After looking at vm/vm_glue.c and vm/vm_map.c I tried to use:
>>
>> ret = vm_map_wire(&vm->vm_map, va, va+PAGE_SIZE, 0);
>>
>> to wire a page and:
>>
>> ret = vm_map_wire(&vm->vm_map, va, va+PAGE_SIZE, KM_PAGEABLE);
>>
>> to unwire it.
>>
>> This seems to solve the "kqemu_unlock_user_page failed" errors, but I
>> still get guest panics with the linux-0.2.img form qemu.org and don't
>> see any performance gains :(
>>
>> Cheers,
>> Johannes
>>
> 
> [-- application/octet-stream, encoding base64, 159 lines, name: kqemu-dragonfly.c --]
> 





More information about the Users mailing list