IP Library › Granted Patent US 11,816,498
Granted Patent B2
US 11,816,498 · App. 17/154,457 · Granted Nov 14, 2023

Early event-based notification for VM swapping

Inventors: Carl Alan Waldspurger (Palo Alto, CA); Florian Anselm Johannes Schmidt (Cambridge, GB); Jonathan James Davies (Cambridge, GB)
Assignee: Nutanix, Inc.
G06F9/45558G06F9/542G06F13/1668G06F2009/4557G06F2009/45579G06F2009/45583
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,816,498
App. No.
17/154,457
Granted
Nov 14, 2023
Kind
B2
Abstract

Various embodiments disclosed herein are related to a non-transitory computer readable storage medium. In some embodiments, the medium includes instructions stored thereon that, when executed by a processor, cause the processor to receive, from a user-space application, a request to detect swapping activity satisfying a threshold condition, detect the swapping activity satisfying the threshold condition, and, in response to occurrence of the threshold condition, send a response that indicates that the swapping activity satisfies the threshold condition.

Claims (29)

1. A non-transitory computer readable storage medium comprising instructions stored thereon that, when executed by a processor, cause the processor to:

receive, from a user-space application, a request to detect swapping activity satisfying a threshold condition, wherein the swapping activity comprises swapping pages of a virtual machine (VM) from a host memory to a storage location shared by multiple VMs, wherein a page table of the VM specifies physical locations of non-swapped pages in the host memory and physical locations of swapped pages in the storage location;

detect the swapping activity satisfying the threshold condition; and

in response to occurrence of the threshold condition, send a response that indicates that the swapping activity satisfies the threshold condition.

2. The medium of claim 1 , further comprising instructions stored thereon that, when executed by the processor, cause the processor to interpose on swap-out activity at a head of a swap-out path to detect the swapping activity.

3. The medium of claim 1 , further comprising instructions stored thereon that, when executed by the processor, cause the processor to interpose on input/output (I/O) requests to storage to detect the swapping activity.

4. The medium of claim 1 , wherein the user-space application issues a blocking system call.

5. The medium of claim 1 , further comprising instructions stored thereon that, when executed by the processor, cause the processor to use one or more of sysfs_notify( ) or an eventfd mechanism to awaken a process of the user-space application.

6. The medium of claim 1 , wherein the user-space application sets the threshold condition by at least one of writing to a sysfs node or issuing an ioctl( ) to a special file.

7. The medium of claim 1 , wherein the threshold condition can include one or more of a raw swap count, a mean, a standard deviation, or a moving average.

8. An apparatus comprising a processor and a memory, wherein the memory includes programmed instructions that, when executed by the processor, cause the apparatus to:

receive, from a user-space application, a request to detect swapping activity satisfying a threshold condition, wherein the swapping activity comprises swapping pages of a virtual machine (VM) from a host memory to a storage location shared by multiple VMs, wherein a page table of the VM specifies physical locations of non-swapped pages in the host memory and physical locations of swapped pages in the storage location;

detect the swapping activity satisfying the threshold condition; and

in response to occurrence of the threshold condition, send a response that indicates that the swapping activity satisfies the threshold condition.

9. The apparatus of claim 8 , wherein the memory further includes programmed instructions that, when executed by the processor, cause the apparatus to interpose on swap-out activity at a head of a swap-out path to detect the swapping activity.

10. The apparatus of claim 8 , wherein the memory further includes programmed instructions that, when executed by the processor, cause the apparatus to interpose on input/output (I/O) requests to storage to detect the swapping activity.

11. The apparatus of claim 8 , wherein the user-space application issues a blocking system call.

12. The apparatus of claim 8 , wherein the memory further includes programmed instructions that, when executed by the processor, cause the apparatus to use one or more of sysfs_notify( ) or an eventfd mechanism to awaken a process of the user-space application.

13. The apparatus of claim 8 , wherein the user-space application sets the threshold condition by at least one of writing to a sysfs node or issuing an ioctl( ) to a special file.

14. The apparatus of claim 8 , wherein the threshold condition can include one or more of a raw swap count, a mean, a standard deviation, or a moving average.

15. A computer-implemented method comprising:

receiving, from a user-space application, a request to detect swapping activity satisfying a threshold condition, wherein the swapping activity comprises swapping pages of a virtual machine (VM) from a host memory to a storage location shared by multiple VMs, wherein a page table of the VM specifies physical locations of non-swapped pages in the host memory and physical locations of swapped pages in the storage location;

detecting the swapping activity satisfying the threshold condition; and

in response to occurrence of the threshold condition, sending a response that indicates that the swapping activity satisfies the threshold condition.

16. The method of claim 15 , further comprising interposing on swap-out activity at a head of a swap-out path to detect the swapping activity.

17. The method of claim 15 , further comprising interposing on input/output (I/O) requests to storage to detect the swapping activity.

18. The method of claim 15 , wherein the user-space application issues a blocking system call.

19. The method of claim 15 , further comprising awakening a process of the user-space application.

20. The method of claim 15 , wherein the user-space application sets the threshold condition by at least one of writing to a sysfs node or issuing an ioctl( ) to a special file.

Assignments (2)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2021
From: WALDSPURGER, CARL ALAN; SCHMIDT, FLORIAN ANSELM JOHANNES; DAVIES, JONATHAN JAMES
To: NUTANIX, INC.
Reel/Frame 054986/0983 →
Continuity (1)
Related Publication 20220229684A1 · Jul 21, 2022