US 12,032,859 B2
Pinned physical memory supporting direct memory access for virtual memory backed containers
Gerardo Diaz-Cuellar, Redmond, WA (US); Omar Cardona, Redmond, WA (US); Jacob Kappeler Oshins, Redmond, WA (US); John Starks, Redmond, WA (US); and Craig Daniel Wilhite, Redmond, WA (US)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Appl. No. 17/628,117
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
PCT Filed Aug. 25, 2020, PCT No. PCT/US2020/047849
§ 371(c)(1), (2) Date Jan. 18, 2022,
PCT Pub. No. WO2021/041444, PCT Pub. Date Mar. 4, 2021.
Claims priority of application No. LU101360 (LU), filed on Aug. 26, 2019.
Prior Publication US 2022/0291875 A1, Sep. 15, 2022
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0664 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0631 (2013.01); G06F 3/0673 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A server for hosting at least one kernel isolated container, comprising:
at least one physical processor; and
at least one physical computer memory addressable via physical memory addresses, the at least one physical computer memory storing executable code for execution by the at least one physical processor, the executable code providing at least one host including a kernel and the at least one kernel isolated container within the at least one host, wherein the executable code providing the at least one host is configured to:
allocate virtual memory having virtual memory addresses to a respective kernel isolated container of the at least one kernel isolated container;
pin a subset of the virtual memory addresses to a subset of the physical memory addresses, wherein:
the subset of the virtual memory addresses includes at least one but fewer than all of the virtual memory addresses allocated to the respective kernel isolated container; and
an amount of the subset of virtual memory addresses that is pinned is limited based on an input-output technology used by the respective kernel isolated container; and
perform a direct memory access operation or a device memory-mapped input-output operation for the respective kernel isolated container on the subset of the physical memory addresses.