From: Jike Song <jike.song@intel.com>
To: kvm@vger.kernel.org, igvt-g@lists.01.org,
intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org
Cc: "Reddy, Raghuveer" <raghuveer.reddy@intel.com>,
"Li, Weinan Z" <weinan.z.li@intel.com>,
"Cowperthwaite, David J" <david.j.cowperthwaite@intel.com>,
"Li, Susie" <susie.li@intel.com>,
"Dong, Eddie" <eddie.dong@intel.com>,
Zhiyuan Lv <zhiyuan.lv@intel.com>,
"Zhang, Yipeng" <yipeng.zhang@intel.com>,
"Downs, Mike" <mike.downs@intel.com>,
"Wang, Hongbo" <hongbo.wang@intel.com>
Subject: Re: [ANNOUNCE] 2016-Q3 release of KVMGT (Was Re: KVMGT - the implementation of ...)
Date: Sun, 06 Nov 2016 23:23:58 +0800 [thread overview]
Message-ID: <581F4B0E.5030203@intel.com> (raw)
In-Reply-To: <578F039A.8080805@intel.com>
Hi all,
While spending efforts for upstreaming, we are pleased to announce another update of Intel GVT-g for KVM.
Intel GVT-g for KVM (a.k.a. KVMGT) is a full GPU virtualization solution with mediated pass-through, starting from 5th generation Intel Core(TM) processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability.
Repositories:
- Kernel: https://github.com/01org/igvtg-kernel (2016q3-4.3.0 branch)
- Qemu: https://github.com/01org/igvtg-qemu (2016q3-2.3.0 branch)
This update consists of:
- Preliminary support new platform: KabyLake, for windows OS, it only supports Win10 RedStone 64 bit.
- Windows 10 RedStone guest Support
- Windows Guest QoS preliminary support: Administrators now are able to control the maximum amount of vGPU resource to be consumed by each VM from value 1% ~ 99%"
- Display virtualization preliminary support: Besides the tracking of display register visit in guest VM, removing irrelative display pipeline info between host and guest VM
- Live Migration and savevm/restorevm preliminary support on BDW with 2D/3D workload running
Known issues:
- At least 2GB memory is suggested for Guest Virtual Machine (win7-32/64, win8.1-64, win10-64) to run most 3D workloads
- Windows8 and later Windows fast boot is not supported, the workaround is to disable power S3/S4 in HVM file by adding "acpi_S3=0, acpi_S4=0"
- Sometimes when dom0 and guest has heavy workload, i915 in dom0 will trigger a false-alarmed TDR. The workaround is to disable dom0 hangcheck in dom0 grub file by adding "i915.enable_hangcheck=0"
- Stability: When QoS feature is enabled, Windows guest full GPU reset is often trigger during MTBF test. This bug will be fixed in next release
- Windows guest running OpenCL allocations occurs to host crash; the workaround is to disable logd in dom0 grub file by adding "i915.logd_enable=0"
Please subscribe the mailing list: https://lists.01.org/mailman/listinfo/igvt-g
Official iGVT-g portal: https://01.org/igvt-g
More information about background, architecture and others about Intel GVT-g, can be found at:
http://www.linux-kvm.org/images/f/f3/01x08b-KVMGT-a.pdf
https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian
Note:
The KVMGT project should be considered a work in progress. As such it is not a complete product nor should it be considered one. Extra care should be taken when testing and configuring a system to use the KVMGT project.
--
Thanks,
Jike
On 07/20/2016 12:52 PM, Jike Song wrote:
> Hi all,
>
> We are pleased to announce another update of Intel GVT-g for KVM.
>
> Intel GVT-g for KVM (a.k.a. KVMGT) is a full GPU virtualization solution with mediated pass-through, starting from 5th generation Intel Core™ processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability.
>
> Repositories:
>
> - Kernel: https://github.com/01org/igvtg-kernel (2016q2-4.3.0 branch)
> - Qemu: https://github.com/01org/igvtg-qemu (2016q2-2.3.0 branch)
>
> This update consists of:
> - KVMGT stable release for Xeon E3 v4 (Broadwell), E3 v5(Skylake), Intel Core™ processors 5th generation (Boadwell) , 6th generation (Skylake)
> - 2D/3D/Media workloads can run simultaneously in multiple guests
>
> Known issues:
> - At least 2GB memory is suggested for Guest Virtual Machine (VM) to run most 3D workloads.
> - Using Windows Media Player play videos may cause host crash. Using VLC to play .ogg file may cause mosaic or slow response.
> - Suggest to X window mode like xinit instead of lightdm to launch host if running heavy workload in both guest and host for more than 6 hours.
> - Change i915.preemption_policy=3 in host kernel cmdline, if you see problem when running heavy 3D workloads in multiple Guests (>=3) in some extreme stress configuration.
>
>
> Please subscribe to join the mailing list:
> - https://lists.01.org/mailman/listinfo/igvt-g
>
> Official iGVT-g portal:
> - https://01.org/igvt-g
>
> More information about background, architecture and others about Intel GVT-g, can be found at:
>
> http://www.linux-kvm.org/images/f/f3/01x08b-KVMGT-a.pdf
> https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian
>
>
> Note:
> The KVMGT project should be considered a work in progress. As such it is not a complete product nor should it be considered one. Extra care should be taken when testing and configuring a system to use the KVMGT project.
>
>
> --
> Thanks,
> Jike
>
> On 04/16/2016 02:31 PM, Jike Song wrote:
>> Hi all,
>>
>> We are pleased to announce another update of Intel GVT-g for KVM.
>>
>> Intel GVT-g for KVM (a.k.a. KVMGT) is a full GPU virtualization solution with mediated pass-through, starting from 4th generation Intel Core(TM) processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability.
>>
>>
>> Repositories:
>>
>> Kernel: https://github.com/01org/igvtg-kernel (2016q1-4.3.0 branch)
>> Qemu: https://github.com/01org/igvtg-qemu (2016q1-2.3.0 branch)
>>
>>
>> This update consists of:
>>
>> - KVMGT now has better support for 5th generation (Broadwell) Intel Core(TM) processors, Xeon(R) E3 v4
>> - A new feature, QEMU compositor display is added to support display VM in QEMU window. (use i915.enable_vgtbuffer=1 in kernel command line to enable this feature, disabled by default, details please refer to the Setup Guide)
>> - 2D/3D/Media workloads can be run simultaneously in multiple guests.
>> - Support both Windows Guest and Linux Guest(Win7-32, Win7-64, Win8.1-64, Ubuntu14.04-64)
>> - Host Linux kernel has been upgraded from 4.2.0 to 4.3.0 (based on drm-intel)
>> - KVMGT has preliminary support for 6th generation (Skylake) Intel Core(TM) processors.
>>
>>
>> Known issues:
>>
>> - At least 2GB memory is suggested for VM to run most 3D workloads.
>> - On some particular platform, assigning >2G memory to VM will cause Linux VM failed to boot up and Windows VM failed to load GFX driver.
>> - Using VLC to play .ogg file may cause mosaic or slow response.
>> - Running heavy 3D workloads in multiple guests for couple of hours may cause stability issue.(use i915.preemption_policy=3 in host kernel cmd line can work around this stability issue)
>>
>>
>> Please subscribe to join the mailing list: https://lists.01.org/mailman/listinfo/igvt-g
>>
>> Official iGVT-g portal: https://01.org/igvt-g
>>
>> More information about background, architecture and others about Intel GVT-g, can be found at:
>>
>>
>> http://www.linux-kvm.org/images/f/f3/01x08b-KVMGT-a.pdf
>> https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian
>>
>>
>> The upstreaming effort of iGVT-g project is ongoing elsewhere, not as a part of this release.
>>
>>
>> Note:
>>
>> The KVMGT project should be considered a work in progress. As such it is not a complete product nor should it be considered one. Extra care should be taken when testing and configuring a system to use the KVMGT project.
>>
>>
>> --
>> Thanks,
>> Jike
>>
>> On 01/27/2016 02:32 PM, Jike Song wrote:
>>> Hi all,
>>>
>>> We are pleased to announce another update of Intel GVT-g for KVM.
>>>
>>> Intel GVT-g for KVM (a.k.a. KVMGT) is a full GPU virtualization solution with mediated pass-through, starting from 4th generation Intel Core(TM) processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability.
>>>
>>> Repositories:
>>>
>>> Kernel: https://github.com/01org/igvtg-kernel (2015q4-4.2.0 branch)
>>> Qemu: https://github.com/01org/igvtg-qemu (kvmgt_public2015q4 branch)
>>>
>>> This update consists of:
>>>
>>> - KVMGT now has better support for 5th generation (Broadwell) Intel Core(TM) processors, 2D/3D/Media workloads can be run simultaneously in multiple guests.
>>> - Host Linux kernel has been upgraded from 3.18.0 to 4.2.0 (based on drm-intel)
>>>
>>> Next update will be around early April, 2016.
>>>
>>> Known issues:
>>>
>>> - At least 2GB memory is suggested for VM to run most 3D workloads.
>>> - Using VLC to play .ogg file may cause mosaic or slow response.
>>> - Running heavy 3D workloads in multiple guests for couple of hours may cause stability issue.
>>>
>>> Official iGVT-g portal: https://01.org/igvt-g
>>> Please subscribe the mailing list: https://lists.01.org/mailman/listinfo/igvt-g
>>>
>>> More information about background, architecture and others about Intel GVT-g, can be found at:
>>>
>>> http://www.linux-kvm.org/images/f/f3/01x08b-KVMGT-a.pdf
>>> https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian
>>>
>>>
>>> Note: The KVMGT project should be considered a work in progress. As such it is not a complete product nor should it be considered one. Extra care should be taken when testing and configuring a system to use the KVMGT project.
>>>
>>>
>>> --
>>> Thanks,
>>> Jike
>>>
>>> On 10/27/2015 05:36 PM, Jike Song wrote:
>>>> Hi all,
>>>>
>>>> We are pleased to announce another update of Intel GVT-g for KVM.
>>>>
>>>> Intel GVT-g is a full GPU virtualization solution with mediated pass-through, starting from 4th generation Intel Core(TM) processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability. KVM is supported by Intel GVT-g(a.k.a. KVMGT).
>>>>
>>>>
>>>> Repositories
>>>>
>>>> Kernel: https://github.com/01org/igvtg-kernel (2015q3-3.18.0 branch)
>>>> Qemu: https://github.com/01org/igvtg-qemu (kvmgt_public2015q3 branch)
>>>>
>>>>
>>>> This update consists of:
>>>>
>>>> - KVMGT is now merged with XenGT in unified repositories(kernel and qemu), but currently
>>>> different branches for qemu. KVMGT and XenGT share same iGVT-g core logic.
>>>> - PPGTT supported, hence the Windows guest support
>>>> - KVMGT now supports both 4th generation (Haswell) and 5th generation (Broadwell) Intel Core(TM) processors
>>>> - 2D/3D/Media decoding have been validated on Ubuntu 14.04 and Windows7/Windows 8.1
>>>>
>>>> Next update will be around early Jan, 2016.
>>>>
>>>> Known issues:
>>>>
>>>> - At least 2GB memory is suggested for VM to run most 3D workloads.
>>>> - 3Dmark06 running in Windows VM may have some stability issue.
>>>> - Using VLC to play .ogg file may cause mosaic or slow response.
>>>>
>>>>
>>>> Please subscribe the mailing list to report BUGs, discuss, and/or contribute:
>>>>
>>>> https://lists.01.org/mailman/listinfo/igvt-g
>>>>
>>>> More information about Intel GVT-g background, architecture, etc can be found at(may not be up-to-date):
>>>>
>>>> https://01.org/igvt-g
>>>> http://www.linux-kvm.org/images/f/f3/01x08b-KVMGT-a.pdf
>>>> https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian
>>>>
>>>>
>>>> Note:
>>>>
>>>> The KVMGT project should be considered a work in progress. As such it is not a complete product nor should it be considered one. Extra care should be taken when testing and configuring a system to use the KVMGT project.
>>>>
>>>>
>>>> --
>>>> Thanks,
>>>> Jike
>>>>
>>>> On 12/04/2014 10:24 AM, Jike Song wrote:
>>>>> Hi all,
>>>>>
>>>>> We are pleased to announce the first release of KVMGT project. KVMGT is the implementation of Intel GVT-g technology, a full GPU virtualization solution. Under Intel GVT-g, a virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance of performance, feature, and sharing capability.
>>>>>
>>>>>
>>>>> KVMGT is still in the early stage:
>>>>>
>>>>> - Basic functions of full GPU virtualization works, guest can see a full-featured vGPU.
>>>>> We ran several 3D workloads such as lightsmark, nexuiz, urbanterror and warsow.
>>>>>
>>>>> - Only Linux guest supported so far, and PPGTT must be disabled in guest through a
>>>>> kernel parameter(see README.kvmgt in QEMU).
>>>>>
>>>>> - This drop also includes some Xen specific changes, which will be cleaned up later.
>>>>>
>>>>> - Our end goal is to upstream both XenGT and KVMGT, which shares ~90% logic for vGPU
>>>>> device model (will be part of i915 driver), with only difference in hypervisor
>>>>> specific services
>>>>>
>>>>> - insufficient test coverage, so please bear with stability issues :)
>>>>>
>>>>>
>>>>>
>>>>> There are things need to be improved, esp. the KVM interfacing part:
>>>>>
>>>>> 1 a domid was added to each KVMGT guest
>>>>>
>>>>> An ID is needed for foreground OS switching, e.g.
>>>>>
>>>>> # echo <domid> > /sys/kernel/vgt/control/foreground_vm
>>>>>
>>>>> domid 0 is reserved for host OS.
>>>>>
>>>>>
>>>>> 2 SRCU workarounds.
>>>>>
>>>>> Some KVM functions, such as:
>>>>>
>>>>> kvm_io_bus_register_dev
>>>>> install_new_memslots
>>>>>
>>>>> must be called *without* &kvm->srcu read-locked. Otherwise it hangs.
>>>>>
>>>>> In KVMGT, we need to register an iodev only *after* BAR registers are
>>>>> written by guest. That means, we already have &kvm->srcu hold -
>>>>> trapping/emulating PIO(BAR registers) makes us in such a condition.
>>>>> That will make kvm_io_bus_register_dev hangs.
>>>>>
>>>>> Currently we have to disable rcu_assign_pointer() in such functions.
>>>>>
>>>>> These were dirty workarounds, your suggestions are high welcome!
>>>>>
>>>>>
>>>>> 3 syscalls were called to access "/dev/mem" from kernel
>>>>>
>>>>> An in-kernel memslot was added for aperture, but using syscalls like
>>>>> open and mmap to open and access the character device "/dev/mem",
>>>>> for pass-through.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> The source codes(kernel, qemu as well as seabios) are available at github:
>>>>>
>>>>> git://github.com/01org/KVMGT-kernel
>>>>> git://github.com/01org/KVMGT-qemu
>>>>> git://github.com/01org/KVMGT-seabios
>>>>>
>>>>> In the KVMGT-qemu repository, there is a "README.kvmgt" to be referred.
>>>>>
>>>>>
>>>>>
>>>>> More information about Intel GVT-g and KVMGT can be found at:
>>>>>
>>>>> https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian
>>>>> http://events.linuxfoundation.org/sites/events/files/slides/KVMGT-a%20Full%20GPU%20Virtualization%20Solution_1.pdf
>>>>>
>>>>>
>>>>> Appreciate your comments, BUG reports, and contributions!
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Thanks,
>>>>> Jike
>>>>>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
WARNING: multiple messages have this Message-ID (diff)
From: Jike Song <jike.song@intel.com>
To: kvm@vger.kernel.org, igvt-g@ml01.01.org,
intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org
Cc: "Tian, Kevin" <kevin.tian@intel.com>,
"Cowperthwaite, David J" <david.j.cowperthwaite@intel.com>,
"Dong, Eddie" <eddie.dong@intel.com>,
"Li, Susie" <susie.li@intel.com>,
"Downs, Mike" <mike.downs@intel.com>,
"Reddy, Raghuveer" <raghuveer.reddy@intel.com>,
"Wang, Hongbo" <hongbo.wang@intel.com>,
Zhiyuan Lv <zhiyuan.lv@intel.com>,
"Zhang, Yipeng" <yipeng.zhang@intel.com>,
"Li, Weinan Z" <weinan.z.li@intel.com>
Subject: Re: [ANNOUNCE] 2016-Q3 release of KVMGT (Was Re: KVMGT - the implementation of ...)
Date: Sun, 06 Nov 2016 23:23:58 +0800 [thread overview]
Message-ID: <581F4B0E.5030203@intel.com> (raw)
In-Reply-To: <578F039A.8080805@intel.com>
Hi all,
While spending efforts for upstreaming, we are pleased to announce another update of Intel GVT-g for KVM.
Intel GVT-g for KVM (a.k.a. KVMGT) is a full GPU virtualization solution with mediated pass-through, starting from 5th generation Intel Core(TM) processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability.
Repositories:
- Kernel: https://github.com/01org/igvtg-kernel (2016q3-4.3.0 branch)
- Qemu: https://github.com/01org/igvtg-qemu (2016q3-2.3.0 branch)
This update consists of:
- Preliminary support new platform: KabyLake, for windows OS, it only supports Win10 RedStone 64 bit.
- Windows 10 RedStone guest Support
- Windows Guest QoS preliminary support: Administrators now are able to control the maximum amount of vGPU resource to be consumed by each VM from value 1% ~ 99%"
- Display virtualization preliminary support: Besides the tracking of display register visit in guest VM, removing irrelative display pipeline info between host and guest VM
- Live Migration and savevm/restorevm preliminary support on BDW with 2D/3D workload running
Known issues:
- At least 2GB memory is suggested for Guest Virtual Machine (win7-32/64, win8.1-64, win10-64) to run most 3D workloads
- Windows8 and later Windows fast boot is not supported, the workaround is to disable power S3/S4 in HVM file by adding "acpi_S3=0, acpi_S4=0"
- Sometimes when dom0 and guest has heavy workload, i915 in dom0 will trigger a false-alarmed TDR. The workaround is to disable dom0 hangcheck in dom0 grub file by adding "i915.enable_hangcheck=0"
- Stability: When QoS feature is enabled, Windows guest full GPU reset is often trigger during MTBF test. This bug will be fixed in next release
- Windows guest running OpenCL allocations occurs to host crash; the workaround is to disable logd in dom0 grub file by adding "i915.logd_enable=0"
Please subscribe the mailing list: https://lists.01.org/mailman/listinfo/igvt-g
Official iGVT-g portal: https://01.org/igvt-g
More information about background, architecture and others about Intel GVT-g, can be found at:
http://www.linux-kvm.org/images/f/f3/01x08b-KVMGT-a.pdf
https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian
Note:
The KVMGT project should be considered a work in progress. As such it is not a complete product nor should it be considered one. Extra care should be taken when testing and configuring a system to use the KVMGT project.
--
Thanks,
Jike
On 07/20/2016 12:52 PM, Jike Song wrote:
> Hi all,
>
> We are pleased to announce another update of Intel GVT-g for KVM.
>
> Intel GVT-g for KVM (a.k.a. KVMGT) is a full GPU virtualization solution with mediated pass-through, starting from 5th generation Intel Core™ processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability.
>
> Repositories:
>
> - Kernel: https://github.com/01org/igvtg-kernel (2016q2-4.3.0 branch)
> - Qemu: https://github.com/01org/igvtg-qemu (2016q2-2.3.0 branch)
>
> This update consists of:
> - KVMGT stable release for Xeon E3 v4 (Broadwell), E3 v5(Skylake), Intel Core™ processors 5th generation (Boadwell) , 6th generation (Skylake)
> - 2D/3D/Media workloads can run simultaneously in multiple guests
>
> Known issues:
> - At least 2GB memory is suggested for Guest Virtual Machine (VM) to run most 3D workloads.
> - Using Windows Media Player play videos may cause host crash. Using VLC to play .ogg file may cause mosaic or slow response.
> - Suggest to X window mode like xinit instead of lightdm to launch host if running heavy workload in both guest and host for more than 6 hours.
> - Change i915.preemption_policy=3 in host kernel cmdline, if you see problem when running heavy 3D workloads in multiple Guests (>=3) in some extreme stress configuration.
>
>
> Please subscribe to join the mailing list:
> - https://lists.01.org/mailman/listinfo/igvt-g
>
> Official iGVT-g portal:
> - https://01.org/igvt-g
>
> More information about background, architecture and others about Intel GVT-g, can be found at:
>
> http://www.linux-kvm.org/images/f/f3/01x08b-KVMGT-a.pdf
> https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian
>
>
> Note:
> The KVMGT project should be considered a work in progress. As such it is not a complete product nor should it be considered one. Extra care should be taken when testing and configuring a system to use the KVMGT project.
>
>
> --
> Thanks,
> Jike
>
> On 04/16/2016 02:31 PM, Jike Song wrote:
>> Hi all,
>>
>> We are pleased to announce another update of Intel GVT-g for KVM.
>>
>> Intel GVT-g for KVM (a.k.a. KVMGT) is a full GPU virtualization solution with mediated pass-through, starting from 4th generation Intel Core(TM) processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability.
>>
>>
>> Repositories:
>>
>> Kernel: https://github.com/01org/igvtg-kernel (2016q1-4.3.0 branch)
>> Qemu: https://github.com/01org/igvtg-qemu (2016q1-2.3.0 branch)
>>
>>
>> This update consists of:
>>
>> - KVMGT now has better support for 5th generation (Broadwell) Intel Core(TM) processors, Xeon(R) E3 v4
>> - A new feature, QEMU compositor display is added to support display VM in QEMU window. (use i915.enable_vgtbuffer=1 in kernel command line to enable this feature, disabled by default, details please refer to the Setup Guide)
>> - 2D/3D/Media workloads can be run simultaneously in multiple guests.
>> - Support both Windows Guest and Linux Guest(Win7-32, Win7-64, Win8.1-64, Ubuntu14.04-64)
>> - Host Linux kernel has been upgraded from 4.2.0 to 4.3.0 (based on drm-intel)
>> - KVMGT has preliminary support for 6th generation (Skylake) Intel Core(TM) processors.
>>
>>
>> Known issues:
>>
>> - At least 2GB memory is suggested for VM to run most 3D workloads.
>> - On some particular platform, assigning >2G memory to VM will cause Linux VM failed to boot up and Windows VM failed to load GFX driver.
>> - Using VLC to play .ogg file may cause mosaic or slow response.
>> - Running heavy 3D workloads in multiple guests for couple of hours may cause stability issue.(use i915.preemption_policy=3 in host kernel cmd line can work around this stability issue)
>>
>>
>> Please subscribe to join the mailing list: https://lists.01.org/mailman/listinfo/igvt-g
>>
>> Official iGVT-g portal: https://01.org/igvt-g
>>
>> More information about background, architecture and others about Intel GVT-g, can be found at:
>>
>>
>> http://www.linux-kvm.org/images/f/f3/01x08b-KVMGT-a.pdf
>> https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian
>>
>>
>> The upstreaming effort of iGVT-g project is ongoing elsewhere, not as a part of this release.
>>
>>
>> Note:
>>
>> The KVMGT project should be considered a work in progress. As such it is not a complete product nor should it be considered one. Extra care should be taken when testing and configuring a system to use the KVMGT project.
>>
>>
>> --
>> Thanks,
>> Jike
>>
>> On 01/27/2016 02:32 PM, Jike Song wrote:
>>> Hi all,
>>>
>>> We are pleased to announce another update of Intel GVT-g for KVM.
>>>
>>> Intel GVT-g for KVM (a.k.a. KVMGT) is a full GPU virtualization solution with mediated pass-through, starting from 4th generation Intel Core(TM) processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability.
>>>
>>> Repositories:
>>>
>>> Kernel: https://github.com/01org/igvtg-kernel (2015q4-4.2.0 branch)
>>> Qemu: https://github.com/01org/igvtg-qemu (kvmgt_public2015q4 branch)
>>>
>>> This update consists of:
>>>
>>> - KVMGT now has better support for 5th generation (Broadwell) Intel Core(TM) processors, 2D/3D/Media workloads can be run simultaneously in multiple guests.
>>> - Host Linux kernel has been upgraded from 3.18.0 to 4.2.0 (based on drm-intel)
>>>
>>> Next update will be around early April, 2016.
>>>
>>> Known issues:
>>>
>>> - At least 2GB memory is suggested for VM to run most 3D workloads.
>>> - Using VLC to play .ogg file may cause mosaic or slow response.
>>> - Running heavy 3D workloads in multiple guests for couple of hours may cause stability issue.
>>>
>>> Official iGVT-g portal: https://01.org/igvt-g
>>> Please subscribe the mailing list: https://lists.01.org/mailman/listinfo/igvt-g
>>>
>>> More information about background, architecture and others about Intel GVT-g, can be found at:
>>>
>>> http://www.linux-kvm.org/images/f/f3/01x08b-KVMGT-a.pdf
>>> https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian
>>>
>>>
>>> Note: The KVMGT project should be considered a work in progress. As such it is not a complete product nor should it be considered one. Extra care should be taken when testing and configuring a system to use the KVMGT project.
>>>
>>>
>>> --
>>> Thanks,
>>> Jike
>>>
>>> On 10/27/2015 05:36 PM, Jike Song wrote:
>>>> Hi all,
>>>>
>>>> We are pleased to announce another update of Intel GVT-g for KVM.
>>>>
>>>> Intel GVT-g is a full GPU virtualization solution with mediated pass-through, starting from 4th generation Intel Core(TM) processors with Intel Graphics processors. A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability. KVM is supported by Intel GVT-g(a.k.a. KVMGT).
>>>>
>>>>
>>>> Repositories
>>>>
>>>> Kernel: https://github.com/01org/igvtg-kernel (2015q3-3.18.0 branch)
>>>> Qemu: https://github.com/01org/igvtg-qemu (kvmgt_public2015q3 branch)
>>>>
>>>>
>>>> This update consists of:
>>>>
>>>> - KVMGT is now merged with XenGT in unified repositories(kernel and qemu), but currently
>>>> different branches for qemu. KVMGT and XenGT share same iGVT-g core logic.
>>>> - PPGTT supported, hence the Windows guest support
>>>> - KVMGT now supports both 4th generation (Haswell) and 5th generation (Broadwell) Intel Core(TM) processors
>>>> - 2D/3D/Media decoding have been validated on Ubuntu 14.04 and Windows7/Windows 8.1
>>>>
>>>> Next update will be around early Jan, 2016.
>>>>
>>>> Known issues:
>>>>
>>>> - At least 2GB memory is suggested for VM to run most 3D workloads.
>>>> - 3Dmark06 running in Windows VM may have some stability issue.
>>>> - Using VLC to play .ogg file may cause mosaic or slow response.
>>>>
>>>>
>>>> Please subscribe the mailing list to report BUGs, discuss, and/or contribute:
>>>>
>>>> https://lists.01.org/mailman/listinfo/igvt-g
>>>>
>>>> More information about Intel GVT-g background, architecture, etc can be found at(may not be up-to-date):
>>>>
>>>> https://01.org/igvt-g
>>>> http://www.linux-kvm.org/images/f/f3/01x08b-KVMGT-a.pdf
>>>> https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian
>>>>
>>>>
>>>> Note:
>>>>
>>>> The KVMGT project should be considered a work in progress. As such it is not a complete product nor should it be considered one. Extra care should be taken when testing and configuring a system to use the KVMGT project.
>>>>
>>>>
>>>> --
>>>> Thanks,
>>>> Jike
>>>>
>>>> On 12/04/2014 10:24 AM, Jike Song wrote:
>>>>> Hi all,
>>>>>
>>>>> We are pleased to announce the first release of KVMGT project. KVMGT is the implementation of Intel GVT-g technology, a full GPU virtualization solution. Under Intel GVT-g, a virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance of performance, feature, and sharing capability.
>>>>>
>>>>>
>>>>> KVMGT is still in the early stage:
>>>>>
>>>>> - Basic functions of full GPU virtualization works, guest can see a full-featured vGPU.
>>>>> We ran several 3D workloads such as lightsmark, nexuiz, urbanterror and warsow.
>>>>>
>>>>> - Only Linux guest supported so far, and PPGTT must be disabled in guest through a
>>>>> kernel parameter(see README.kvmgt in QEMU).
>>>>>
>>>>> - This drop also includes some Xen specific changes, which will be cleaned up later.
>>>>>
>>>>> - Our end goal is to upstream both XenGT and KVMGT, which shares ~90% logic for vGPU
>>>>> device model (will be part of i915 driver), with only difference in hypervisor
>>>>> specific services
>>>>>
>>>>> - insufficient test coverage, so please bear with stability issues :)
>>>>>
>>>>>
>>>>>
>>>>> There are things need to be improved, esp. the KVM interfacing part:
>>>>>
>>>>> 1 a domid was added to each KVMGT guest
>>>>>
>>>>> An ID is needed for foreground OS switching, e.g.
>>>>>
>>>>> # echo <domid> > /sys/kernel/vgt/control/foreground_vm
>>>>>
>>>>> domid 0 is reserved for host OS.
>>>>>
>>>>>
>>>>> 2 SRCU workarounds.
>>>>>
>>>>> Some KVM functions, such as:
>>>>>
>>>>> kvm_io_bus_register_dev
>>>>> install_new_memslots
>>>>>
>>>>> must be called *without* &kvm->srcu read-locked. Otherwise it hangs.
>>>>>
>>>>> In KVMGT, we need to register an iodev only *after* BAR registers are
>>>>> written by guest. That means, we already have &kvm->srcu hold -
>>>>> trapping/emulating PIO(BAR registers) makes us in such a condition.
>>>>> That will make kvm_io_bus_register_dev hangs.
>>>>>
>>>>> Currently we have to disable rcu_assign_pointer() in such functions.
>>>>>
>>>>> These were dirty workarounds, your suggestions are high welcome!
>>>>>
>>>>>
>>>>> 3 syscalls were called to access "/dev/mem" from kernel
>>>>>
>>>>> An in-kernel memslot was added for aperture, but using syscalls like
>>>>> open and mmap to open and access the character device "/dev/mem",
>>>>> for pass-through.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> The source codes(kernel, qemu as well as seabios) are available at github:
>>>>>
>>>>> git://github.com/01org/KVMGT-kernel
>>>>> git://github.com/01org/KVMGT-qemu
>>>>> git://github.com/01org/KVMGT-seabios
>>>>>
>>>>> In the KVMGT-qemu repository, there is a "README.kvmgt" to be referred.
>>>>>
>>>>>
>>>>>
>>>>> More information about Intel GVT-g and KVMGT can be found at:
>>>>>
>>>>> https://www.usenix.org/conference/atc14/technical-sessions/presentation/tian
>>>>> http://events.linuxfoundation.org/sites/events/files/slides/KVMGT-a%20Full%20GPU%20Virtualization%20Solution_1.pdf
>>>>>
>>>>>
>>>>> Appreciate your comments, BUG reports, and contributions!
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Thanks,
>>>>> Jike
>>>>>
next prev parent reply other threads:[~2016-11-06 15:27 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-04 2:24 [ANNOUNCE][RFC] KVMGT - the implementation of Intel GVT-g(full GPU virtualization) for KVM Jike Song
2014-12-04 2:24 ` Jike Song
2014-12-04 19:56 ` Igor Gnatenko
2014-12-05 8:50 ` Gerd Hoffmann
2014-12-05 8:50 ` Gerd Hoffmann
2014-12-05 13:03 ` Paolo Bonzini
2014-12-05 13:03 ` Paolo Bonzini
2014-12-06 4:30 ` Jike Song
2014-12-06 4:30 ` Jike Song
2014-12-09 2:49 ` Tian, Kevin
2014-12-09 2:49 ` [Intel-gfx] " Tian, Kevin
2014-12-10 16:59 ` Paolo Bonzini
2014-12-10 16:59 ` [Intel-gfx] " Paolo Bonzini
2014-12-11 0:33 ` Tian, Kevin
2014-12-11 0:33 ` [Intel-gfx] " Tian, Kevin
2014-12-11 1:38 ` Paolo Bonzini
2014-12-11 1:38 ` Paolo Bonzini
2014-12-05 13:54 ` Daniel Vetter
2014-12-05 13:54 ` [Intel-gfx] " Daniel Vetter
2014-12-06 4:32 ` Jike Song
2014-12-06 4:32 ` [Intel-gfx] " Jike Song
2014-12-06 4:17 ` Jike Song
2014-12-06 4:17 ` Jike Song
2014-12-08 9:55 ` Gerd Hoffmann
2014-12-08 9:55 ` Gerd Hoffmann
2014-12-08 10:20 ` Daniel Vetter
2014-12-08 10:20 ` [Intel-gfx] " Daniel Vetter
2014-12-09 2:51 ` Tian, Kevin
2014-12-09 2:51 ` [Intel-gfx] " Tian, Kevin
2014-12-09 9:54 ` Jan Kiszka
2014-12-10 6:31 ` Jike Song
2014-12-10 6:31 ` Jike Song
2014-12-10 6:34 ` Jike Song
2014-12-10 6:34 ` [Intel-gfx] " Jike Song
2014-12-10 7:28 ` Tian, Kevin
2014-12-10 7:28 ` [Intel-gfx] " Tian, Kevin
2015-10-27 9:36 ` Jike Song
2015-10-27 9:36 ` Jike Song
2016-01-27 6:32 ` [ANNOUNCE] 2015-Q4 release of KVMGT (Was Re: KVMGT - the implementation of ...) Jike Song
2016-01-27 6:32 ` Jike Song
2016-04-16 6:31 ` [ANNOUNCE] 2016-Q1 " Jike Song
2016-04-16 6:31 ` Jike Song
2016-07-20 4:52 ` [ANNOUNCE] 2016-Q2 " Jike Song
2016-07-20 4:52 ` Jike Song
2016-11-06 15:23 ` Jike Song [this message]
2016-11-06 15:23 ` [ANNOUNCE] 2016-Q3 " Jike Song
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=581F4B0E.5030203@intel.com \
--to=jike.song@intel.com \
--cc=david.j.cowperthwaite@intel.com \
--cc=eddie.dong@intel.com \
--cc=hongbo.wang@intel.com \
--cc=igvt-g@lists.01.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mike.downs@intel.com \
--cc=raghuveer.reddy@intel.com \
--cc=susie.li@intel.com \
--cc=weinan.z.li@intel.com \
--cc=yipeng.zhang@intel.com \
--cc=zhiyuan.lv@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.