EFFICIENT SCHEDULING FOR HYPER-THREADED CPUS USING MEMORY MONITORING

    公开(公告)号:US20180143828A1

    公开(公告)日:2018-05-24

    申请号:US15355747

    申请日:2016-11-18

    发明人: Michael Tsirkin

    摘要: A system and method for scheduling of hyper-threaded CPUs using memory monitoring includes a memory with an operating system memory and a physical processor in communication with the memory. The physical processor includes a first hyper-thread and a second hyper-thread. A monitor instruction to monitor for updates to a designated memory location is executed in the first hyper-thread. The system further includes an operating system to execute on the physical processor and a system call configured to record in the operating system memory that the first hyper-thread is in a memory wait state. The system call is further configured to execute a memory wait instruction in the first hyper-thread. A task is executed in the second hyper-thread while the first hyper-thread is in the memory wait state.

    PAGE TABLE ENTRY CACHING FOR VIRTUAL DEVICE EMULATION

    公开(公告)号:US20180107607A1

    公开(公告)日:2018-04-19

    申请号:US15293045

    申请日:2016-10-13

    摘要: A hypervisor configures a page table entry in a host page table to map an address associated with memory-mapped input-output (MMIO) for a virtual device of a guest of the hypervisor to an input/output (I/O) instruction. The address is marked in the page table entry as a hypervisor exit entry, and the page table entry to cause an exit to the hypervisor responsive to the guest attempting to access the address. Responsive to detecting an exit to the hypervisor caused by the guest attempting to access the address, the hypervisor receives the I/O instruction mapped to the address that caused the exit. The hypervisor then executes the I/O instruction on behalf of the guest.

    Zero copy memory reclaim for applications using memory offlining

    公开(公告)号:US09921875B2

    公开(公告)日:2018-03-20

    申请号:US14723265

    申请日:2015-05-27

    发明人: Michael Tsirkin

    IPC分类号: G06F12/10 G06F9/50 G06F12/02

    CPC分类号: G06F9/50 G06F12/0223

    摘要: An application sends a first request to an operating system to provide a hardware device with direct memory access to contents of a virtual memory location in an application memory of the application, wherein the virtual memory location is mapped to a physical memory location. In response to determining that the virtual memory location is to be reclaimed, the application sends a second request to the operating system to unmap the physical memory location from the virtual memory location. The second request causes the virtual memory location to be mapped to a new physical memory location. Responsive to receiving an indication from the operating system that the request to unmap the physical memory location has completed, the application then accesses the new physical memory location mapped to the virtual memory location.

    Population of system tables by hypervisor

    公开(公告)号:US09921865B2

    公开(公告)日:2018-03-20

    申请号:US14168997

    申请日:2014-01-30

    IPC分类号: G06F9/455 G06F9/44

    摘要: A system and method for system table modification in a virtualized computer system are disclosed. In accordance with one embodiment, a hypervisor that is executed by a computer system detects an attempt by a guest operating system of a virtual machine to access a system table. In response to the detecting, the hypervisor determines a hardware configuration of the virtual machine, and populates one or more entries of the system table in view of the hardware configuration.

    SAFE PHYSICAL FUNCTION PASSTHROUGH USING VIRTUAL MACHINE FUNCTIONS

    公开(公告)号:US20180059974A1

    公开(公告)日:2018-03-01

    申请号:US15251428

    申请日:2016-08-30

    发明人: Michael Tsirkin

    IPC分类号: G06F3/06 G06F21/62 G06F9/455

    摘要: A system and method for safe physical function passthrough using virtual machine functions includes sending, by a guest on a virtual machine, an access request for a host device to a virtual machine function on the virtual machine. The method also includes determining, by the virtual machine function, whether the access request is valid responsive to receiving the access request. Responsive to determining that the access request is valid, the virtual machine function sends the access request to a virtual device on the virtual machine. The method further includes preventing, by a hypervisor executing on one or more processors, the guest from accessing the virtual device when not executing the virtual machine function.

    Flicker-free remoting support for server-rendered stereoscopic imaging

    公开(公告)号:US09894342B2

    公开(公告)日:2018-02-13

    申请号:US14952121

    申请日:2015-11-25

    摘要: A system includes a memory, one or more processors, a guest virtual machine, a hypervisor, and a client. The hypervisor receives, from the client, a first notification of stereoscopic capability. The hypervisor sends, to the guest virtual machine, a second notification of stereoscopic capability. The hypervisor receives, from the guest virtual machine, a plurality of frames included in a single composite frame. The hypervisor sends the plurality of frames to the client. The client receives the plurality of frames and identifies each one of the plurality of frames as a part of the single composite frame. The client stores the plurality of frames until each one of the frames included in the single composite frame have been received and identified. The client synchronizes with a display device to present the single composite frame.

    Host virtual address reservation for guest memory hot-plugging

    公开(公告)号:US09886376B2

    公开(公告)日:2018-02-06

    申请号:US14812658

    申请日:2015-07-29

    摘要: An example method for host virtual address reservation comprises: reserving a host virtual address range within a virtual address space of a computer system; associating a first virtual memory device with a first guest physical address range a virtual machine running on the computer system; associating a second virtual memory device with a second guest physical address range of the virtual machine; mapping a first guest physical address of the first guest physical address range to a first host virtual address of the host virtual address range, wherein the first host virtual address is identified by an offset with respect to the first guest physical address; mapping a second guest physical address of the second guest physical address range to a second host virtual address of the host virtual address range, wherein the second host virtual address is identified by the offset with respect to the second guest physical address.