Abstract:
The approaches described herein implement synchronous execution of a user space operation from a kernel context. A thread, executing on a computing device, initializes a second kernel stack based on a first kernel stack. The computing device executes an operating system having a user space and a kernel space. The thread, executing in kernel space, performs a non-blocking call (e.g., an upcall) to execute an upcall function in user space. The upcall function may further call other user space functions or system calls. The system calls are performed using the second kernel stack. Upon termination of the upcall function, the thread continues execution on the first kernel stack.
Abstract:
The approaches described herein implement synchronous execution of a user space operation from a kernel context. A thread, executing on a computing device, initializes a second kernel stack based on a first kernel stack. The computing device executes an operating system having a user space and a kernel space. The thread, executing in kernel space, performs a non-blocking call (e.g., an upcall) to execute an upcall function in user space. The upcall function may further call other user space functions or system calls. The system calls are performed using the second kernel stack. Upon termination of the upcall function, the thread continues execution on the first kernel stack.
Abstract:
A dynamic content disk for a virtual computing instance is created as a thinly-provisioned virtual disk having a file system that is synthesized in accordance with a set of applications that are provisioned for a virtual machine (VM). To limit the allocated size of the dynamic content disk, a filter is attached to the dynamic content disk to intercept input-output operations (IOs) directed to the dynamic content disk and convert them to IOs directed to an application virtual disk that stores the actual files of the applications that are provisioned for the VM. The application virtual disk may be stored on different back-ends, such as storage area network (SAN), network file system, virtual SAN, cloud storage, or local storage.
Abstract:
The approaches described herein implement execution of a user space operation from a kernel context. A thread, executing on a computing device, initializes a second kernel stack based on a first kernel stack. The computing device executes an operating system having a user space and a kernel space. The thread, executing in kernel space, performs a non-blocking call (e.g., an upcall) to execute an upcall function in user space, such as filtering input/output (I/O) requests. The upcall function may further call other user space functions or system calls. The system calls are performed using the second kernel stack. Upon termination of the upcall function, the thread continues execution on the first kernel stack in kernel space. For example, the thread handles the filtered I/O commands.
Abstract:
Techniques for enabling secure cross-process memory sharing are provided. In one set of embodiments, a first user process executing on a computer system can create a memory handle representing a memory space of the first user process. The first user process can further define one or more access restrictions with respect to the memory handle. The first user process can then transmit the memory handle to a second user process executing on the computer system, the memory handle enabling the second user process to access at least a portion of the first process' memory space, subject to the one or more access restrictions.
Abstract:
The approaches described herein implement synchronous execution of a user space operation from a kernel context. A thread, executing on a computing device, initializes a second kernel stack based on a first kernel stack. The computing device executes an operating system having a user space and a kernel space. The thread, executing in kernel space, performs a non-blocking call (e.g., an upcall) to execute an upcall function in user space. The upcall function may further call other user space functions or system calls. The system calls are performed using the second kernel stack. Upon termination of the upcall function, the thread continues execution on the first kernel stack.
Abstract:
Exemplary methods, apparatuses, and systems include a first input/output (I/O) filter receiving, from a first filter module within a virtualization stack of a host computer, an input/output (I/O) request originated by a virtual machine and directed to a first virtual disk. The first I/O filter determines to redirect the I/O request to a second virtual disk and, in response, forwards the I/O request to a second I/O filter associated with the second virtual disk. The first I/O filter is a part of a first instance of a filter framework within the host computer and the second I/O filter is part of a second, separate instance of the filter framework.
Abstract:
Techniques for enabling filter-level access to a virtual disk (VMDK) are provided. In one set of embodiments, an application can invoke a first application programming interface (API) for opening the VMDK, the invoking of the first API causing an ordered group of filters associated with the VMDK to be instantiated. The application can further coordinate with a target filter in the ordered group of filters to establish a communication channel with the target filter and can receive, from the target filter, a handle to the target filter via the communication channel. The application can then issue an I/O request to the VMDK via the target filter using the handle, the issuing causing data associated with the I/O request to be filtered by other filters that are downstream from the target filter in the ordered group.
Abstract:
The disclosure provides an approach for dynamically reprogramming network and network infrastructure in response to VM mobility. The approach provides a hypervisor layer that can observe changes in VM-host relationships and reprogram the associated network and network infrastructure to maintain network communication. The hypervisor layer notifies a controller of a data center to migrate an ENI of the migrated VM to the same destination host as the migrated VM, in response to VM migration.
Abstract:
The approaches described herein implement synchronous execution of a user space operation from a kernel context. A thread, executing on a computing device, initializes a second kernel stack based on a first kernel stack. The computing device executes an operating system having a user space and a kernel space. The thread, executing in kernel space, performs a non-blocking call (e.g., an upcall) to execute an upcall function in user space. The upcall function may further call other user space functions or system calls. The system calls are performed using the second kernel stack. Upon termination of the upcall function, the thread continues execution on the first kernel stack.