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: 7827374
    Abstract: 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: Grant
    Filed: June 12, 2006
    Date of Patent: November 2, 2010
    Assignee: Oracle America, Inc.
    Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
  • Patent number: 7802070
    Abstract: 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: Grant
    Filed: June 13, 2006
    Date of Patent: September 21, 2010
    Assignee: Oracle America, Inc.
    Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
  • Patent number: 7562204
    Abstract: 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: Grant
    Filed: March 29, 2006
    Date of Patent: July 14, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
  • Patent number: 7500074
    Abstract: 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: Grant
    Filed: June 30, 2006
    Date of Patent: March 3, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
  • Patent number: 7500073
    Abstract: 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: Grant
    Filed: March 29, 2006
    Date of Patent: March 3, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
  • Patent number: 7490214
    Abstract: 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: Grant
    Filed: June 12, 2006
    Date of Patent: February 10, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
  • Patent number: 7472249
    Abstract: 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: Grant
    Filed: June 30, 2006
    Date of Patent: December 30, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
  • Publication number: 20080005517
    Abstract: 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: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
  • Publication number: 20080005521
    Abstract: 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: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
  • Publication number: 20070288719
    Abstract: 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: Application
    Filed: June 13, 2006
    Publication date: December 13, 2007
    Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
  • Publication number: 20070288718
    Abstract: 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: Application
    Filed: June 12, 2006
    Publication date: December 13, 2007
    Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski
  • Publication number: 20070288720
    Abstract: 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: Application
    Filed: June 12, 2006
    Publication date: December 13, 2007
    Inventors: Udayakumar Cholleti, Sean McEnroe, Stan J. Studzinski