qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] virtio-scsi/blk dataplane and guest memory allocation


From: Fam Zheng
Subject: Re: [Qemu-devel] virtio-scsi/blk dataplane and guest memory allocation
Date: Thu, 28 Jan 2016 09:24:02 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, 01/27 21:03, Roy Shterman wrote:
> Hi,
> 
> First of all thank very much for your help,
> 
> Second, unfortunately data-plane didn't worked well, I tried to add threads
> from the instructions you gave me.
> 
> Here is my full xml file, maybe you can help me to understand why it didn't
> worked :

Did you specify iothread in the xml?

> 
> <domain type='kvm'>
>   <name>gen-r-vrt-105-007-RH7.0x64</name>
>   <uuid>8f79e97e-d452-4577-82bd-2ed903773026</uuid>
>   <memory unit='KiB'>2097152</memory>
>   <currentMemory unit='KiB'>2097152</currentMemory>
>   <memtune>
>     <hard_limit unit='KiB'>8388608</hard_limit>
>   </memtune>
>   <memoryBacking>
>     <locked/>
>   </memoryBacking>
>   <vcpu placement='static'>2</vcpu>
>   <os>
>     <type arch='x86_64' machine='pc-i440fx-2.5'>hvm</type>
>     <boot dev='hd'/>
>   </os>
>   <features>
>     <acpi/>
>     <apic/>
>     <pae/>
>   </features>
>   <clock offset='utc'/>
>   <on_poweroff>destroy</on_poweroff>
>   <on_reboot>restart</on_reboot>
>   <on_crash>restart</on_crash>

Add

    <iothreads>1</iothreads>

>   <devices>
> 
> <emulator>/.autodirect/mtrswgwork/roysh/git/qemu/x86_64-softmmu/qemu-system-x86_64</emulator>
>     <disk type='file' device='disk'>
>       <driver name='qemu' type='qcow2' cache='none'/>

and change these lines to:

        <driver name='qemu' type='qcow2' cache='none' iothread='1'/>

Fam

>       <source file='/images/gen-r-vrt-105-007/gen-r-vrt-105-007.img'/>
>       <target dev='vda' bus='virtio'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
> function='0x0'/>
>     </disk>
>     <disk type='network' device='lun'>
>       <driver name='qemu' type='raw'/>
>       <source protocol='iscsi' name='iqn.2001-04.com.r-dcs03-tgt-3/1/iser'>
>         <host name='11.212.32.52' port='3260'/>
>       </source>
>       <target dev='vdb' bus='virtio'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x07'
> function='0x0'/>
>     </disk>
>     <disk type='network' device='lun'>
>       <driver name='qemu' type='raw'/>
>       <source protocol='iscsi' name='iqn.2001-04.com.r-dcs03-tgt-1/1'>
>         <host name='11.212.32.52' port='3260'/>
>       </source>
>       <target dev='sda' bus='scsi'/>
>       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
>     </disk>
>     <disk type='network' device='lun'>
>       <driver name='qemu' type='raw'/>
>       <source protocol='iscsi' name='iqn.2001-04.com.r-dcs03-tgt-2/1'>
>         <host name='11.212.32.52' port='3260'/>
>       </source>
>       <target dev='sdb' bus='scsi'/>
>       <address type='drive' controller='1' bus='0' target='0' unit='0'/>
>     </disk>
>     <controller type='scsi' index='0' model='virtio-scsi'>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x06'
> function='0x0'/>
>     </controller>
>     <controller type='scsi' index='1' model='virtio-scsi'>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x08'
> function='0x0'/>
>     </controller>
>     <controller type='usb' index='0'>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x01'
> function='0x2'/>
>     </controller>
>     <controller type='pci' index='0' model='pci-root'/>
>     <interface type='bridge'>
>       <mac address='00:50:56:28:69:07'/>
>       <source bridge='br0:'/>
>       <model type='e1000'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x03'
> function='0x0'/>
>     </interface>
>     <serial type='pty'>
>       <target port='0'/>
>     </serial>
>     <console type='pty'>
>       <target type='serial' port='0'/>
>     </console>
>     <input type='tablet' bus='usb'/>
>     <input type='mouse' bus='ps2'/>
>     <graphics type='vnc' port='-1' autoport='yes'/>
>     <video>
>       <model type='cirrus' vram='9216' heads='1'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x02'
> function='0x0'/>
>     </video>
>     <memballoon model='virtio'>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x05'
> function='0x0'/>
>     </memballoon>
>   </devices>
> </domain>
> 
> BTW, in RH 7.2 data-plane is default if one is choosing to work with virtio?
> 
> Thank you very much,
> Roy
> 
> On Thu, Jan 21, 2016 at 11:01 AM, Paolo Bonzini <address@hidden> wrote:
> 
> >
> >
> > On 20/01/2016 21:12, Roy Shterman wrote:
> > > Hi,
> > >
> > > I have two questions,
> > >
> > > First, I'm developing for Libiscsi and trying to work with virtio-scsi
> > > dataplane or even virtio-blk dataplane and it doesn't works well.
> > >
> > > I'm working with latest qemu and latest Libiscsi in RedHat 7 libvirt
> > > package.
> > >
> > > my iscsi xml part is :
> > >
> > > virtio-blk -
> > >
> > >     <disk type='network' device='lun'>
> > >       <driver name='qemu' type='raw'/>
> > >       <source protocol='iscsi' name='iqn.2001-04.com.r-dcs03-tgt-3/1'>
> > >         <host name='11.212.32.52' port='3260'/>
> > >       </source>
> > >       <target dev='vdb' bus='virtio'/>
> > >       <address type='pci' domain='0x0000' bus='0x00' slot='0x07'
> > > function='0x0'/>
> > >     </disk>
> > >
> > > virtio-scsi -
> > >
> > >     <disk type='network' device='lun'>
> > >       <driver name='qemu' type='raw'/>
> > >       <source protocol='iscsi' name='iqn.2001-04.com.r-dcs03-tgt-1/1>
> > >         <host name='11.212.32.52' port='3260'/>
> > >       </source>
> > >       <target dev='sda' bus='scsi'/>
> > >       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
> > >     </disk>
> > >     <controller type='scsi' index='0' model='virtio-scsi'>
> > >       <address type='pci' domain='0x0000' bus='0x00' slot='0x06'
> > > function='0x0'/>
> > >     </controller>
> >
> > There is now support for dataplane in libvirt.  See
> > https://libvirt.org/formatdomain.html#elementsIOThreadsAllocation and
> > then you can add an iothread='NN' (NN is a number) to the <driver
> > name='qemu' type='raw'/> element.
> >
> > > second thing, I'm trying to look for the code where QEMU allocate all
> > > guest memory (2 GB) in my case.
> >
> > Start at memory_allocate_system_memory; ultimately you'll reach
> > qemu_anon_ram_alloc which is basically an mmap.
> >
> > paolo
> >



reply via email to

[Prev in Thread] Current Thread [Next in Thread]