From Fedora Project Wiki

< FWN‎ | Beats

(starting next ed)
Line 13: Line 13:
[http://www.redhat.com/mailman/listinfo/fedora-virt fedora-virt list].
[http://www.redhat.com/mailman/listinfo/fedora-virt fedora-virt list].


==== Fedora Virt Status ====
==== Bridges ====
[[MarkMcLoughlin|Mark McLoughlin]]
[[AndrésGarcía|Andrés García]]
posted<ref>http://www.redhat.com/archives/fedora-virt/2009-October/msg00138.html</ref>
asked<ref>http://www.redhat.com/archives/fedora-virt/2009-November/msg00002.html</ref>
another excellent round up of virt related bugs and developments. Mark reports
"Thankfully, the virt blocker list is now clear, but if you're looking
to help with making Fedora 12 even better, there's no better place to
start than the F12 target tracker bug<ref>https://bugzilla.redhat.com/showdependencytree.cgi?id=F12VirtTarget&hide_resolved=1</ref>:


There's over 100 bugs there that need your help!"
<ref>http://wiki.libvirt.org/page/Networking#Bridged_networking_.28aka_.22shared_physical_device.22.29</ref>


<references />
<ref>https://fedorahosted.org/netcf/</ref>
 
<ref>http://linux-kvm.com/content/netcf-silver-bullet-network-configuration</ref>
==== Help testing the Windows Registry feature of libguestfs ====
[[RichardJones|Richard Jones]]
asked<ref>http://www.redhat.com/archives/fedora-virt/2009-October/msg00128.html</ref> for some help testing a new feature of {{package|libguestfs}}
 
"If you have any Windows guests, then you can help Fedora to support
Windows guests better by spending a few minutes testing the Windows
Registry feature we just added to libguestfs 1.0.75."
 
To help, all you need is:
* A Windows NT/200x/XP/Vista/7/... guest
* Fedora 12 or Fedora Rawhide host
* <code>libguestfs-tools</code> >= 1.0.75 (from updates or koji<ref>http://koji.fedoraproject.org/koji/packageinfo?packageID=8391</ref>)
* a few minutes of your time
 
<references />
 
==== KSM Tuning in Fedora 12 ====
[[MarkMcLoughlin|Mark McLoughlin]]
described<ref>http://www.redhat.com/archives/fedora-virt/2009-October/msg00119.html</ref>
the default state of KSM<ref>http://fedoraproject.org/wiki/Features/KSM</ref> on Fedora systems.
"For Fedora 13, it'll be off by default in the kernel and the recommended
way of switching it on is with 'chkconfig ksm on'"
"For Fedora [[Releases/12|12]], it's on by default in the kernel, 'chkconfig ksm on' just changes max pages and the only way of disabling it is by manually
writing zero to {{filename|/sys/kernel/mm/ksm/run}}."
 
At release of Fedora 12 the kernel will default to a maximum of 2000 merged memory pages. A future F12 kernel update to 2.6.32 will likely disable KSM by default.
To take advantage of KSM in Fedora 12, the <code>ksm</code> service must be enabled:
<pre>
sudo chkconfig ksm on
</pre>
 
[[MarkMcLoughlin|Mark McLoughlin]]
also noted<ref>http://www.redhat.com/archives/fedora-virt/2009-October/msg00112.html</ref>
The maximum number of pages which may be merged defaults to half of the system
memory, and may also be manually defined in {{filename|/etc/sysconfig/ksm}}.
"Here's the logic we have in the init script<ref>http://gitorious.org/ksm-control-scripts/ksm-control-scripts</ref>:"
<pre>
  # unless KSM_MAX_KERNEL_PAGES is set, let ksm munch up to half of total memory.
  default_max_kernel_pages () {
      local total pagesize
      total=`awk '/^MemTotal:/ {print $2}' /proc/meminfo`
      pagesize=`getconf PAGESIZE`
      echo $[total * 1024 / pagesize / 2]
  }
</pre>
 
[[JustinForbes|Justin Forbes]]
points out<ref>http://www.redhat.com/archives/fedora-virt/2009-October/msg00115.html</ref>
"The limit to half of total memory is because ksm pages are unswappable at
this time.  To be fixed in a future kernel."
 
A second service, <code>ksmtuned</code>, may also be enabled.
Ksmtuned regulates how aggressively the system will attempt to merge pages.
Parameters such as how many pages to scan before sleeping and how long to
sleep may be configured in {{filename|/etc/ksmtuned.conf}}.
 
Memory pages must be flagged as mergable before KSM will scan them looking for
duplicates. At present only Qemu pages will be marked as such.
As described in the kernel docs<ref>http://www.kernel.org/doc/Documentation/vm/ksm.txt</ref>,
the effect of KSM system memory may be examined in {{filename|/sys/kernel/mm/ksm}}.
"A high ratio of pages_sharing to pages_shared indicates good sharing, but
a high ratio of pages_unshared to pages_sharing indicates wasted effort."


<references />
<references />

Revision as of 22:03, 8 November 2009


Virtualization

In this section, we cover discussion of Fedora virtualization technologies on the @fedora-virt and @libvirt-list lists.

Contributing Writer: Dale Bewley

Fedora Virtualization List

This section contains the discussion happening on the fedora-virt list.

Bridges

Andrés García asked[1]

[2]

[3] [4]

Libvirt List

This section contains the discussion happening on the libvir-list.

Node device enumeration with udev

Dave Allan posted[1] "a fully functional version of the node device udev[2] based backend, incorporating all the feedback from earlier revisions." "...I have also included a patch removing the DevKit backend."

Also see FWN#146 "Host Device Enumeration API"[3] for some coverage of the host device enumeration API.

Rewrite of QEMU monitor handling

Daniel Berrange posted[1] a "patch series [which] rewrites the QEMU monitor handling almost completely.

The key theme here is to move from a totally synchronous way of interacting with the monitor, to a totally asynchronous way. This allows " Package-x-generic-16.pnglibvirt " to handle receipt & dispatch of asychronous events from QEMU. For example a notification of a disk-full error, or VM state change. In the process of doing this re-factoring I have also dropped in basic support/infrastructure for the JSON based monitor."

Libvirt QEMU driver thread safety rules

In a characteristically long and detailed post Daniel Berrange laid[1] donw the law on thread safety rules for the Qemu driver[2].

"This document describes how thread safety is ensured throughout the QEMU driver. The criteria for this model are:

  • Objects must never be exclusively locked for any pro-longed time
  • Code which sleeps must be able to time out after suitable period
  • Must be safe against dispatch asynchronous events from monitor"

Also see FWN#155 "Thread Safety for libvirtd Daemon and Drivers"[3]