<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://linux-kvm.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Speculatrix</id>
	<title>KVM - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://linux-kvm.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Speculatrix"/>
	<link rel="alternate" type="text/html" href="https://linux-kvm.org/page/Special:Contributions/Speculatrix"/>
	<updated>2026-04-06T00:34:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://linux-kvm.org/index.php?title=Bugs&amp;diff=173357</id>
		<title>Bugs</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=Bugs&amp;diff=173357"/>
		<updated>2015-07-14T15:18:38Z</updated>

		<summary type="html">&lt;p&gt;Speculatrix: cosmetic changes only&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Bugs=&lt;br /&gt;
&lt;br /&gt;
Kernel side KVM bugs should be file to the [https://bugzilla.kernel.org/ kernel&#039;s bug tracker].&lt;br /&gt;
&lt;br /&gt;
Userspace bugs should be filed to [https://bugs.launchpad.net/qemu Qemu&#039;s launchpad tracker]. If you think they are qemu-kvm specific (i.e. upstream qemu is not affected), you should mark them clearly as being qemu-kvm specific.&lt;br /&gt;
&lt;br /&gt;
If in doubt, email (kvm@vger.kernel.org) the mailing list first (no need to register) and you will be directed where to file the bug if necessary.&lt;br /&gt;
&lt;br /&gt;
Historical bug reports can be found in the sourceforge [http://sourceforge.net/tracker/?atid=893831&amp;amp;group_id=180599&amp;amp;func=browse bug tracker].            &lt;br /&gt;
&lt;br /&gt;
== Submitting a bug report ==&lt;br /&gt;
&lt;br /&gt;
When submitting a bug report, make sure to provide the following information:&lt;br /&gt;
&lt;br /&gt;
* What cpu model (examples: Intel Core Duo, Intel Core 2 Duo, AMD Opteron 2210).  See /proc/cpuinfo if you&#039;re not sure.                                                                                           &lt;br /&gt;
* What kvm version you are using.  If you&#039;re using git directly, provide the output of &#039;git describe&#039;.&lt;br /&gt;
&lt;br /&gt;
* The host kernel version&lt;br /&gt;
       &lt;br /&gt;
* What host kernel arch you are using (i386 or x86_64)&lt;br /&gt;
&lt;br /&gt;
* What guest you are using, including OS type (Linux, Windows, Solaris, etc.), bitness (32 or 64), kernel version&lt;br /&gt;
                        &lt;br /&gt;
* The qemu command line you are using to start the guest&lt;br /&gt;
&lt;br /&gt;
* Whether the problem goes away if using the &amp;lt;code&amp;gt;-no-kvm-irqchip&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-no-kvm-pit&amp;lt;/code&amp;gt; switch.&lt;br /&gt;
                            &lt;br /&gt;
* Whether the problem also appears with the &amp;lt;code&amp;gt;-no-kvm&amp;lt;/code&amp;gt; switch.&lt;br /&gt;
&lt;br /&gt;
Please use the latest release version of kvm at the time you submit the bug.  Even if you use kvm from a distribution (Ubuntu starting from Feisty or Fedora starting from 7), it is important to use the latest sources.&lt;br /&gt;
&lt;br /&gt;
In case qemu-kvm exits with SIGSEGV (Segmentation fault) or SIGBUS (Bus error), please make sure ulimit is configured so that a core file can be generated (ulimit -a to report, ulimit -c unlimited to allow unlimited size core files). Then get a backtrace of the error with&lt;br /&gt;
&lt;br /&gt;
(gdb) info threads&lt;br /&gt;
&lt;br /&gt;
And for every thread present do:&lt;br /&gt;
&lt;br /&gt;
(gdb) thread n &lt;br /&gt;
&lt;br /&gt;
(gdb) bt&lt;br /&gt;
&lt;br /&gt;
Attach the output to the bug report.&lt;br /&gt;
&lt;br /&gt;
== Getting a serial console from the guest ==&lt;br /&gt;
&lt;br /&gt;
If a guest crashes on boot, it is sometimes useful to have its console output.  This can be done using&lt;br /&gt;
qemu&#039;s -serial option to emulate a serial port:&lt;br /&gt;
 qemu-system-x86_64 -serial file:serial.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Depending on the guest OS you will need to do some additional changes to instruct it to use the serial port as a console as shown below :&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
Change the guest kernel&#039;s command line (in the GRUB or LILO menu) to include the string &lt;br /&gt;
 console=ttyS0,115200&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If after a crash, there is still no output in the serial.log file and the guest kernel was configured to use a serial console; chances are that the crash was too early in the process to have the console initialized, so then the following kernel command parameters should be added (but only use as a last resort as it interacts badly with the console boot parameter)&lt;br /&gt;
 earlyprintk=serial,ttyS0,115200&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OpenSolaris ===&lt;br /&gt;
&lt;br /&gt;
Change the guest kernel&#039;s entry in the GRUB menu to include the string &lt;br /&gt;
 -B console=ttya&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if there is already a -B option just add the console parameter to it after a comma &amp;quot;,&amp;quot; and beware that since this will redirect the console to the file you&#039;ll need to tail the serial.log file to see it boot as there will be no output in the SDL console and you won&#039;t be able to interact with it through the keyboard.&lt;br /&gt;
&lt;br /&gt;
= Tracing =&lt;br /&gt;
&lt;br /&gt;
When debugging kvm, it is often convenient to get a [[Tracing|trace]] of what&#039;s going on.&lt;br /&gt;
&lt;br /&gt;
[[Category:Docs]][[Category:HowTo]][[Category:Debugging]]&lt;/div&gt;</summary>
		<author><name>Speculatrix</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=KSM&amp;diff=173356</id>
		<title>KSM</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=KSM&amp;diff=173356"/>
		<updated>2015-07-09T09:53:30Z</updated>

		<summary type="html">&lt;p&gt;Speculatrix: /* Kernel Samepage Merging */  reworded original cumbersome wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Kernel Samepage Merging =&lt;br /&gt;
&lt;br /&gt;
KSM is a memory-saving de-duplication feature, that merges anonymous (private) pages (not pagecache ones). Although it started this way, KSM is currently suitable for more than Virtual Machine use, as it can be useful to any application which generates many instances of the same data&lt;br /&gt;
&lt;br /&gt;
== Enabling KSM ==&lt;br /&gt;
&lt;br /&gt;
KSM only operates on those areas of address space which an application&lt;br /&gt;
has advised to be likely candidates for merging, by using the madvise(2)&lt;br /&gt;
system call: int madvise(addr, length, MADV_MERGEABLE).&lt;br /&gt;
&lt;br /&gt;
The app may call int madvise(addr, length, MADV_UNMERGEABLE) to cancel&lt;br /&gt;
that advice and restore unshared pages: whereupon KSM unmerges whatever&lt;br /&gt;
it merged in that range.  Note: this unmerging call may suddenly require&lt;br /&gt;
more memory than is available - possibly failing with EAGAIN, but more&lt;br /&gt;
probably arousing the Out-Of-Memory killer.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Merged in linux 2.6.32. One needs to enable it via CONFIG_KSM=y&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
You can verify KSM is in action, by checking for the existence of some of its /sys files, under /sys/kernel/mm/ksm/ &lt;br /&gt;
&lt;br /&gt;
They are:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|pages_shared&lt;br /&gt;
|how many shared pages are being used&lt;br /&gt;
|-&lt;br /&gt;
|pages_sharing&lt;br /&gt;
|how many more sites are sharing them i.e. how much saved&lt;br /&gt;
|-&lt;br /&gt;
|pages_unshared&lt;br /&gt;
|how many pages unique but repeatedly checked for merging&lt;br /&gt;
|-&lt;br /&gt;
|pages_volatile&lt;br /&gt;
|how many pages changing too fast to be placed in a tree&lt;br /&gt;
|-&lt;br /&gt;
|full_scans&lt;br /&gt;
|how many times all mergeable areas have been scanned&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Architecture]][[Category:Docs]][[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Speculatrix</name></author>
	</entry>
</feed>