<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>1733</bug_id>
          
          <creation_ts>2011-11-04 03:43:28 +0000</creation_ts>
          <short_desc>[Build Appliance] Improve Self-Hosted Performance</short_desc>
          <delta_ts>2012-01-10 00:03:11 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>Meta-yocto</product>
          <component>meta-yocto</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>(P2) (Test Plan Ready) :  Not need now.</status_whiteboard>
          <keywords></keywords>
          <priority>Low</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>1.2 M2</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Edwin Zhai">edwin.zhai</reporter>
          <assigned_to name="Edwin Zhai">edwin.zhai</assigned_to>
          <cc>dexuan.cui</cc>
    
    <cc>edwin.zhai</cc>
    
    <cc>jiajun.xu</cc>
    
    <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>sgw</cc>
    
    <cc>shane.wang</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>---</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>17094</commentid>
    <comment_count>0</comment_count>
    <who name="Edwin Zhai">edwin.zhai</who>
    <bug_when>2011-11-04 03:43:28 +0000</bug_when>
    <thetext>Improve bitbake build performance in L1 target. To achieve bug 1732, we make true hardware platform as work around, like n450, as L1 target, in which start the build process. And one NFS server in host is used as source server.

we need do:
1. pre-install another disk image for source/sstate
2. build performance improvement/test: enabling KVM, SMP or device pass-through for network/disk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17272</commentid>
    <comment_count>1</comment_count>
    <who name="Dexuan Cui">dexuan.cui</who>
    <bug_when>2011-11-21 00:58:59 +0000</bug_when>
    <thetext>Let me change the owner to Edwin since he is actually doing the work. :-)
Edwin has enabled KVM so the recipe parsing time was reduced from 30min to 2min now.
Edwin will try to enable SMP and other things.

Edwin, can you please update the WhiteBoard field with the below format?
[P2] [D7] Development (xx% completed)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17281</commentid>
    <comment_count>2</comment_count>
    <who name="Edwin Zhai">edwin.zhai</who>
    <bug_when>2011-11-21 04:36:23 +0000</bug_when>
    <thetext>I have enabed KVM, guest smp, and virtio for net/blk. The result is promising: parsing time drop to 2 mins from 30 mins, but still has gap with native(4~5X slower as my rough estimation).

At this point, 50% work are done with some tuning potentials left: device pass-through(like NIC or USB hard disk), cpu/memory virtualization optimization(like vcpu scheduling or memory/cache optimization), but all of them needs more  efforts and depends on specific hardware. 

So I&apos;d like to change L1 target as physical machine(like what Dexuan did on sugarbay) at this point, and re-visit performance issue in future if needed.

The risk I can see is the platform difference when we convert the disk image from physical machine to emulated vmware system. This may affect hob integration efforts as it depends on X...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17282</commentid>
    <comment_count>3</comment_count>
    <who name="Edwin Zhai">edwin.zhai</who>
    <bug_when>2011-11-21 04:59:10 +0000</bug_when>
    <thetext>Saved the setup BKMs for future use:)

== network virtualization ==
Set it via bridge, so that guest act as a true machine in the network.
http://www.linux-kvm.org/page/Networking#public_bridge

== guest smp ==
need following in qemux86 kernel config 
+CONFIG_SMP=y
then append &quot;-smp 4&quot; with qemu

== virtio ==
need following in qemux86 kernel config
+CONFIG_VIRTIO=y
+CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_BALLOON=y
+CONFIG_VIRTIO_RING=y
+CONFIG_VIRTIO_NET=y
+CONFIG_VIRTIO_BLK=y

for blk, append following parameter with qemu:
&quot;-drive file=/home/gzhai/osel/images/source.img,if=virtio -drive file=/home/gzhai/osel/images/build.img,if=virtio&quot;

for net, append following to original &quot;-net nic...&quot;
&quot;model=virtio,&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17415</commentid>
    <comment_count>4</comment_count>
    <who name="Edwin Zhai">edwin.zhai</who>
    <bug_when>2011-11-28 06:36:02 +0000</bug_when>
    <thetext>Tested directed assign usb disk to qemu without VTd. The result is not good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18038</commentid>
    <comment_count>5</comment_count>
    <who name="Edwin Zhai">edwin.zhai</who>
    <bug_when>2012-01-10 00:03:11 +0000</bug_when>
    <thetext>performance BKM @
https://wiki.yoctoproject.org/wiki/BKM:_improve_qemu_performance

As we can get vmdk image directly, there is no need to continue tuning performance on KVM. KVM image should be a debug tools in future. Mark it as fix.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>