Patents by Inventor Sean McEnroe
Sean McEnroe has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 7827374Abstract: According to one embodiment of the invention, a technique is provided for relocating the contents of kernel pages in a manner similar to techniques used for relocating the contents of user pages. Before the contents of a source page are moved to a target page, for each entry of a plurality of entries that correspond to the source page, it is determined whether a mapping indicated in that entry is a mapping into kernel virtual memory address space or user virtual memory address space. If the mapping is into user virtual memory address space, then the entry is marked invalid. If the mapping is into kernel virtual memory address space, then the mapping is marked suspended. Marking an entry suspended causes processes and threads that try to access the entry's mapping to wait until the entry is no longer marked suspended. Consequently, kernel pages may be distributed among all computing system boards.Type: GrantFiled: June 12, 2006Date of Patent: November 2, 2010Assignee: Oracle America, Inc.Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
-
Patent number: 7802070Abstract: An approach for de-fragmenting physical memory generally involves grouping kernel pages together based on large pages. The de-fragmentation procedure is triggered, such as by a kernel page-freelist being empty. The first user page from a user page-freelist is selected, marked as a kernel page (e.g., by setting a P_KERNEL bit), added to the kernel page-freelist, and then the large page in which the selected page is identified. Starting with the first small page within the large page, the small pages are processed by the de-fragmentation procedure, resulting in as many small pages as possible being marked as kernel pages and then added to the kernel page-freelist. Later, when a large page is coalesced, the number of kernel pages that must be relocated within the large page being coalesced is reduced or eliminated as a result of the de-fragmentation of the physical memory.Type: GrantFiled: June 13, 2006Date of Patent: September 21, 2010Assignee: Oracle America, Inc.Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
-
Patent number: 7562204Abstract: A method for identifying relocatable kernel memory allocations in kernel non-relocatable memory is described. In this method, a physical address hardware mapping entry (PA HME) for each process accessing a physical page of memory by physical addresses. For each of the PA HMEs corresponding a process that does not permit page relocation, the pre-relocation handler and post-relocation handler references of each PA HME is set to null. Each PA HMEs is associated with a pmapping list for the physical page. Thus, A physical page is identified as non-relocatable when one of the PA HMEs referenced by the pmapping list has null pre-relocation and post-relocation handler references.Type: GrantFiled: March 29, 2006Date of Patent: July 14, 2009Assignee: Sun Microsystems, Inc.Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
-
Patent number: 7500074Abstract: An approach for partitioning virtual memory address space and identifying relocatable and non-relocatable regions of memory is provided. In one embodiment, the allocations of physical addresses and kernel virtual memory addresses are partitioned into relocatable and non-relocatable regions such that, by inspecting a virtual address, the property of the physical memory (relocatable or non-relocatable) is identified.Type: GrantFiled: June 30, 2006Date of Patent: March 3, 2009Assignee: Sun Microsystems, Inc.Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
-
Patent number: 7500073Abstract: A method for relocating virtual to physical memory mappings in a computer system is described in which a new hardware mapping entry (HME) block is allocated at a new location in memory. Contents of an old HME block are copied to the new HME block. The new HME block is added to a linked list of HME blocks. The old HME block is then removed from the linked list. A lock is acquired during the adding and during the removing. A machine readable medium having processor instructions for relocating virtual to physical memory mappings is also described.Type: GrantFiled: March 29, 2006Date of Patent: March 3, 2009Assignee: Sun Microsystems, Inc.Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
-
Patent number: 7490214Abstract: According to one embodiment of the invention, a technique is provided for relocating the contents of kernel pages in a manner similar to techniques used for relocating the contents of user pages. Before the contents of a source page are moved to a target page, for each entry of a plurality of entries that correspond to the source page, it is determined whether a mapping indicated in that entry is a mapping into kernel virtual memory address space or user virtual memory address space. If the mapping is into user virtual memory address space, then the entry is marked invalid. If the mapping is into kernel virtual memory address space, then the mapping is marked suspended. Marking an entry suspended causes processes and threads that try to access the entry's mapping to wait until the entry is no longer marked suspended. Consequently, kernel pages may be distributed among all computing system boards.Type: GrantFiled: June 12, 2006Date of Patent: February 10, 2009Assignee: Sun Microsystems, Inc.Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
-
Patent number: 7472249Abstract: An approach for freeing memory based upon its relocatable or non-relocatable property is provided. In one embodiment, drivers and other processes that do not provide callback methods or similar capability to route DMA requests to the correct physical address are identified and all memory allocations made by the driver or other process are made from the appropriate region.Type: GrantFiled: June 30, 2006Date of Patent: December 30, 2008Assignee: Sun Microsystems, Inc.Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
-
Publication number: 20080005517Abstract: An approach for partitioning virtual memory address space and identifying relocatable and non-relocatable regions of memory is provided. In one embodiment, the allocations of physical addresses and kernel virtual memory addresses are partitioned into relocatable and non-relocatable regions such that, by inspecting a virtual address, the property of the physical memory (relocatable or non-relocatable) is identified.Type: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
-
Publication number: 20080005521Abstract: An approach for freeing memory based upon its relocatable or non-relocatable property is provided. In one embodiment, drivers and other processes that do not provide callback methods or similar capability to route DMA requests to the correct physical address are identified and all memory allocations made by the driver or other process are made from the appropriate region.Type: ApplicationFiled: June 30, 2006Publication date: January 3, 2008Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
-
Publication number: 20070288719Abstract: An approach for de-fragmenting physical memory generally involves grouping kernel pages together based on large pages. The de-fragmentation procedure is triggered, such as by a kernel page-freelist being empty. The first user page from a user page-freelist is selected, marked as a kernel page (e.g., by setting a P_KERNEL bit), added to the kernel page-freelist, and then the large page in which the selected page is identified. Starting with the first small page within the large page, the small pages are processed by the de-fragmentation procedure, resulting in as many small pages as possible being marked as kernel pages and then added to the kernel page-freelist. Later, when a large page is coalesced, the number of kernel pages that must be relocated within the large page being coalesced is reduced or eliminated as a result of the de-fragmentation of the physical memory.Type: ApplicationFiled: June 13, 2006Publication date: December 13, 2007Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
-
Publication number: 20070288718Abstract: According to one embodiment of the invention, a technique is provided for relocating the contents of kernel pages in a manner similar to techniques used for relocating the contents of user pages. Before the contents of a source page are moved to a target page, for each entry of a plurality of entries that correspond to the source page, it is determined whether a mapping indicated in that entry is a mapping into kernel virtual memory address space or user virtual memory address space. If the mapping is into user virtual memory address space, then the entry is marked invalid. If the mapping is into kernel virtual memory address space, then the mapping is marked suspended. Marking an entry suspended causes processes and threads that try to access the entry's mapping to wait until the entry is no longer marked suspended. Consequently, kernel pages may be distributed among all computing system boards.Type: ApplicationFiled: June 12, 2006Publication date: December 13, 2007Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
-
Publication number: 20070288720Abstract: According to one embodiment of the invention, a technique is provided for relocating the contents of kernel pages in a manner similar to techniques used for relocating the contents of user pages. Before the contents of a source page are moved to a target page, for each entry of a plurality of entries that correspond to the source page, it is determined whether a mapping indicated in that entry is a mapping into kernel virtual memory address space or user virtual memory address space. If the mapping is into user virtual memory address space, then the entry is marked invalid. If the mapping is into kernel virtual memory address space, then the mapping is marked suspended. Marking an entry suspended causes processes and threads that try to access the entry's mapping to wait until the entry is no longer marked suspended. Consequently, kernel pages may be distributed among all computing system boards.Type: ApplicationFiled: June 12, 2006Publication date: December 13, 2007Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski