<?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=Onkar</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=Onkar"/>
	<link rel="alternate" type="text/html" href="https://linux-kvm.org/page/Special:Contributions/Onkar"/>
	<updated>2026-04-21T16:55:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://linux-kvm.org/index.php?title=KVM-Autotest/TODO&amp;diff=4090</id>
		<title>KVM-Autotest/TODO</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=KVM-Autotest/TODO&amp;diff=4090"/>
		<updated>2011-09-30T03:08:00Z</updated>

		<summary type="html">&lt;p&gt;Onkar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= KVM-Autotest TODO list =&lt;br /&gt;
&lt;br /&gt;
== raw idea ==&lt;br /&gt;
&lt;br /&gt;
* more vhost_net test&lt;br /&gt;
* add &#039;Multi-guests&#039;/&#039;guest to external boxs&#039; transfer test&lt;br /&gt;
* port some whql tests to autotest(virtio_net,virtio_blk)&lt;br /&gt;
* add multiple queue support&lt;br /&gt;
* support of customed qemu cmdline&lt;br /&gt;
&lt;br /&gt;
== general ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This session is for major, multi-person items. We&#039;ll update the status weekly based on the status of the subtasks attributed to persons.&lt;br /&gt;
&lt;br /&gt;
== lmr ==&lt;br /&gt;
&lt;br /&gt;
== mgoldish ==&lt;br /&gt;
&lt;br /&gt;
* Make WHQL tests run on our internal server&lt;br /&gt;
* Enable &amp;quot;guest-load&amp;quot; for a VMs before/while tests are running (e.g. migration of a VM, while a movie is playing on it)&lt;br /&gt;
** This may just be a matter of moving useful code from tests to kvm_test_utils.py to make it reusable&lt;br /&gt;
&lt;br /&gt;
=== done ===&lt;br /&gt;
&lt;br /&gt;
== amos ==&lt;br /&gt;
&lt;br /&gt;
* Turn tsc_drift into a kvm unit test.&lt;br /&gt;
* Extend performance tests (framework &amp;amp; cases)&lt;br /&gt;
* Push redhat internal kvm subtests to upstream (had completed the 1th plan)&lt;br /&gt;
* Improve network subtests, especial stress tests&lt;br /&gt;
&lt;br /&gt;
== jason ==&lt;br /&gt;
&lt;br /&gt;
* Port network tests into windows&lt;br /&gt;
* Profiler of pidstat&lt;br /&gt;
* guest-&amp;gt;guest guest-&amp;gt;host netperf support&lt;br /&gt;
* More readable test result of netperf&lt;br /&gt;
&lt;br /&gt;
== cleber ==&lt;br /&gt;
&lt;br /&gt;
== yolkfull ==&lt;br /&gt;
&lt;br /&gt;
* Run netperf test between two guests&lt;br /&gt;
* Migration with/without workload(dbench,lmbench etc)&lt;br /&gt;
* Verify SMBIOS/DMI data (UUID, for example)&lt;br /&gt;
* Disk serial number (for IDE, SCSI, VirtIO drives)&lt;br /&gt;
&lt;br /&gt;
== RH Beijing QE ==&lt;br /&gt;
&lt;br /&gt;
* cpuflags.py (shuang)&lt;br /&gt;
* qmp_command.py (fyang)&lt;br /&gt;
* qmp_event_notification.py (fyang)&lt;br /&gt;
* Further migration&lt;br /&gt;
* Multiple nics&lt;br /&gt;
* Test block device cancellation path using device mapper to generate errors ( after we had a crash in de_write_dma_cb)&lt;br /&gt;
* Extend pci_assignable to support other PCI devices (USB, video cards, TV card etc)&lt;br /&gt;
* Passthrough the perf keys of run_autotest to autotest server&lt;br /&gt;
&lt;br /&gt;
== Pradeep ==&lt;br /&gt;
&lt;br /&gt;
* SLES support -  &lt;br /&gt;
** Owner - Onkar n Mahajan (currently working)&lt;br /&gt;
** Expected delivery to community - 1-Dec-2011&lt;br /&gt;
&lt;br /&gt;
* virtio-blk disk serial # test (extend physical_resource_check test)&lt;br /&gt;
** Owner - &lt;br /&gt;
** Expected delivery to community-&lt;br /&gt;
&lt;br /&gt;
* enhance virtio-blk hotplug test&lt;br /&gt;
** virsh based attach-disk/detach disk&lt;br /&gt;
** enumerate cloud scenarios (live add, reboot after, shutdown, etc.)&lt;br /&gt;
** migration after live add&lt;br /&gt;
** Owner -&lt;br /&gt;
** Expected delivery to community- 1-Oct-2011&lt;br /&gt;
&lt;br /&gt;
* Add use QED image format during tests.&lt;br /&gt;
** Owner - &lt;br /&gt;
** Expected delivery to community- 1-Dec-2011&lt;br /&gt;
&lt;br /&gt;
* virsh stream.&lt;br /&gt;
** Owner -&lt;br /&gt;
** Expected delivery to community-&lt;br /&gt;
&lt;br /&gt;
* pci-multi function testing (&amp;gt;32 virtio devices, disk and network)&lt;br /&gt;
** test out max number of virtio blk and nic devices&lt;br /&gt;
** Owner -&lt;br /&gt;
** Expected delivery to community-&lt;br /&gt;
&lt;br /&gt;
* virtfs patch inclusion to autotest. &lt;br /&gt;
** Owner -&lt;br /&gt;
** Expected delivery to community-&lt;br /&gt;
&lt;br /&gt;
* Windows support (ping, file_transfer, ... network tests needs to be added)&lt;br /&gt;
** Owner -&lt;br /&gt;
** Expected delivery to community-&lt;br /&gt;
&lt;br /&gt;
* Svirt - sVirt is a community effort aimed at integrating Mandatory Access Control (MAC) security and Linux-based virtualization (KVM, lguest et al). &lt;br /&gt;
** Owner - Onkar N Mahajan (currently working)&lt;br /&gt;
** Expected delivery to community- 1-Nov-2011&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Migration + other task with parallel &amp;quot;&lt;br /&gt;
** Owner -&lt;br /&gt;
** Expected delivery to community-&lt;br /&gt;
&lt;br /&gt;
* Network rate limiting&lt;br /&gt;
** Owner -&lt;br /&gt;
** Expected delivery to community-&lt;br /&gt;
&lt;br /&gt;
* Fix old autoetst patches/bugs&lt;br /&gt;
** Owner -&lt;br /&gt;
** Expected delivery to community-&lt;br /&gt;
&lt;br /&gt;
* Include libvirt_cim in autotest&lt;br /&gt;
** Owner - &lt;br /&gt;
** Expected delivery to community- &lt;br /&gt;
&lt;br /&gt;
* Power Support&lt;br /&gt;
** Owner - IBM&lt;br /&gt;
** Expected Delivery to the community - Oct. 2011&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
&lt;br /&gt;
* Please open bugs on the [[http://autotest.kernel.org/newticket autotest defect tracking system]]&lt;/div&gt;</summary>
		<author><name>Onkar</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=TODO&amp;diff=3469</id>
		<title>TODO</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=TODO&amp;diff=3469"/>
		<updated>2011-01-14T11:03:57Z</updated>

		<summary type="html">&lt;p&gt;Onkar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=ToDo=&lt;br /&gt;
&lt;br /&gt;
The following items need some love. Please post to the list if you are interested in helping out: &lt;br /&gt;
&lt;br /&gt;
* Real mode support: VT support for real mode is terrible, so we need to do it in software. This means extending the x86 emulator (x86_emulate.c) to handle more instructions, and changing the execution loop to call the emulator for real mode (in progress).&lt;br /&gt;
* Emulate the architectural performance monitor counters/msrs, for Linux nmi watchdog support.&lt;br /&gt;
* Emulate MSR_IA32_DEBUGCTL for guests which use it&lt;br /&gt;
* Bring up Windows 95 and Windows 98 guests&lt;br /&gt;
* Implement ACPI memory hotplug&lt;br /&gt;
* Improve ballooning to try to use 2MB pages when possible ( in progress - kern.devel@gmail.com )&lt;br /&gt;
&lt;br /&gt;
The following smaller scale tasks can be a nice entry point to someone wishing to get involved: &lt;br /&gt;
&lt;br /&gt;
* Reduce qemu memory footprint when using kvm&lt;br /&gt;
** this involves dropping the PhysPageDesc array in favour of a memslot-like approach&lt;br /&gt;
* Avoid taking kvm-&amp;gt;lock when issuing mmio.  Need to check lapic and ioapic accesses for correctness.&lt;br /&gt;
&lt;br /&gt;
==== MMU related: ====&lt;br /&gt;
* Improve mmu page eviction algorithm (currently FIFO, change to approximate LRU).&lt;br /&gt;
* Add a read-only memory type.&lt;br /&gt;
** possible using mprotect()?&lt;br /&gt;
* Implement AM20 for dos and the like.&lt;br /&gt;
* O(1) write protection by protecting the PML4Es, then on demand PDPTEs, PDEs, and PTEs&lt;br /&gt;
* O(1) mmu invalidation using a generation number&lt;br /&gt;
&lt;br /&gt;
==== x86 emulator updates: ====&lt;br /&gt;
* Add a NonPT flag (or maybe its inverse, Paging) to instructions that are never used for page table updates (like add, sub, call).  Teach the mmu to unshadow page tables if a NonPT instruction is executed on them.&lt;br /&gt;
* Change the emulator initialization sequence not to read all segment registers (this is slow), instead read them on demand.  On 64-bit, no segments are usually needed while on 32-bit only cs and ds are commenly required.&lt;br /&gt;
* Same for ordinary registers, really, copying all registers all the time is gross.&lt;br /&gt;
* Implement mmx and sse memory move instructions; useful for guests that use multimedia extensions for accessing vga&lt;br /&gt;
* Implement an operation queue for the emulator.  The emulator often calls userspace to perform a read or a write, but due to inversion of control it actually restarts instead of continuing.  The queue would allow it to replay all previous operations until it reaches the point it last stopped.&lt;br /&gt;
** if this is done, we can retire -&amp;gt;read_std() in favour of -&amp;gt;read_emulated().&lt;br /&gt;
* push segment base resolution to the last possible moment, i.e. calling ctxt-&amp;gt;ops-&amp;gt;read_emulated(); then implement limit checks in that place&lt;br /&gt;
* convert more instructions to direct dispatch (function pointer in decode table)&lt;br /&gt;
&lt;br /&gt;
==== Interactivity improvements: ====&lt;br /&gt;
* If for several frames in a row a large proportion of the framebuffer pages are changing, then for the next few frames don&#039;t bother to get the dirty page log from kvm, but instead assume that all pages are dirty.  This will reduce page fault overhead on highly interactive workloads.&lt;br /&gt;
* When detecting keyboard/video/mouse activity, scale up the frame rate; when activity dies down, scale it back down (applicable to qemu as well).&lt;br /&gt;
&lt;br /&gt;
==== Pass-through/VT-d related: ====&lt;br /&gt;
* Enhance KVM QEMU to return error messages if user attempts to pass-through unsupported devices:&lt;br /&gt;
** Devices with shared host IOAPIC interrupt&lt;br /&gt;
** Conventional PCI devices&lt;br /&gt;
** Devices without FLR capability&lt;br /&gt;
* QEMU PCI pass-through patch needs to be enhanced to same functionality as corresponding file in Xen&lt;br /&gt;
** Remove direct HW access by QEMU for probing PCI BAR size&lt;br /&gt;
** PCI handling of various PCI configuration registers&lt;br /&gt;
** Other enhancements that was done in Xen&lt;br /&gt;
* Host shared interrupt support&lt;br /&gt;
* VT-d2 support (WIP in Linux Kernel)&lt;br /&gt;
** Queued invalidation&lt;br /&gt;
** Interrupt remapping&lt;br /&gt;
** ATS&lt;br /&gt;
&lt;br /&gt;
==== Bug fixes: ====&lt;br /&gt;
* Less sexy but ever important, fixing bugs is one of the most important contributions&lt;br /&gt;
&lt;br /&gt;
==== For the adventurous: ====&lt;br /&gt;
* Emulate the VT and SVM instructions, so that kvm can run in a virtual machine.&lt;br /&gt;
* Emulate the VT and SVM instruction sets on qemu.  This would be very beneficial to debugging kvm ( working on this - kern.devel@gmail.com ).&lt;br /&gt;
* Keep this TODO up to date&lt;br /&gt;
* Add [http://www.cs.toronto.edu/~andreslc/xen-gl/ vmgl] support to qemu.  Port to virtio.  Write a Windows driver.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Onkar</name></author>
	</entry>
</feed>