Method and apparatus for evaluating relevancy of messages to users |
| In one aspect, a system is provided for evaluating the relevancy of an incoming message to a ... |
|
System and method for implementing a transaction log |
| The present invention satisfies the above-described needs by using a chronological list ... |
|
Method and apparatus for transforming data |
| Systems implementing the invention provide users with a set of tools for transforming data from ... |
|
Providing access to user interface elements of legacy application programs |
| An architecture is provided that enables an accessibility aid to directly access and manipulate ... |
|
Translation of object queries involving inheritence |
| Join expressions, expressed in terms of objects, are translated into a relational database join ... |
|
Development system with application browser user interface |
| The present invention is embodied in a component-based, rapid application development (RAD) Java ... |
|
Multi-processor JAVA subsystem |
| OF THE INVENTION Reference will now be made in detail to the preferred embodiments of the ... |
|
Context programming in object-oriented environments |
| The present invention is directed to control of time structured or other context related data by ... |
|
|
Method for managing concurrent access to virtual memory data structures
| Details |
Inventors: Schimmel, Curt F.;
Assignee: Silicon Graphics, Inc. (Mountain View, CA)
Primary Examiner: Kim; Matthew
Assistant Examiner: Anderson; Matthew D.
Attorney, Agent or Firm: Schwegman, Lundberg, Woessner & Kluth, P.A.
In a method for providing concurrent access to virtual memory data structures, a lock bit for locking a virtual page data structure is provided in a page table entry of a page table. The page table is configured to map virtual pages to physical pages. Then, a first thread specifying an operation on the virtual page data structure is received. The first thread is provided exclusive access to the virtual page data structure by setting the lock bit in the page table entry such that other threads are prevented from accessing the virtual page data structure. A wait bit also may be provided in the page table entry to indicate that one or more of the other threads are in a wait queue when the first thread has exclusive access to the data structure. When the first thread no longer needs exclusive access to the data structure, a second thread is selected from among the other threads and is provided with exclusive access to the data structure. |
|
DETAILED DESCRIPTION Broadly speaking, the present invention fills these needs by providing methods for managing concurrent access to the kernel data structures for a virtual page in memory. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium. Several inventive embodiments of the present invention are described below. The present invention provides methods for providing concurrent access to a virtual page data structure in a computer system. A lock bit for locking a virtual page data structure is provided in a page table entry of a page table. The page table is configured to map virtual pages to physical pages. Then, a first thread specifying an operation on the virtual page data structure is received. The first thread is provided exclusive access to the virtual page data structure by setting the lock bit in the page table entry such that other threads are prevented from accessing the virtual page data structure. Preferably, a wait bit also is provided in the page table entry to indicate that one or more of the other threads are in a wait queue when the first thread has exclusive access to the page. When the first thread no longer needs exclusive access to the page, a second thread is selected from among the other threads and is provided with exclusive access to the page. Alternatively, the waiting threads may be placed in a spin loop to wait for the lock bit to become available. In this case, the wait bit need not be used. By thus providing a lock in each page table entry, the present invention allows the locks to scale on a one-to-one basis with page table entries and therefore with virtual pages as well. Furthermore, the methods of the present invention employ a single lock bit in each of the existing page table entries, thereby substantially reducing space requirements and eliminating the need for additional data structures. The use of a wait bit in the page table entry facilitates efficient locking when more than one thread is waiting to access a data structure associated with the page table entry
|
| Related patents |
|
|
Pledge-based resource allocation system
A pledge-based resource allocation system for a client/server environment is provided. In this system, resources, such as database objects, are allocated to clients for ...
|
|
|
Performance of table insertion by using multiple tables or multiple threads
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present ...
|
|
|
Replaceable classes and virtual constructors for object-oriented programming languages
In view of the foregoing, the present invention provides a new approach and language extension to object-oriented programming that uses replaceable classes and virtual ...
|
|
|
String predicate selectivity estimation
Exemplary Operating Environment FIG. 1 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which ...
|
|
|
Dynamic generation of user interface components
An embodiment of the invention is discussed in detail below. While specific implementations of the invention are discussed, it should be understood that this is done ...
|
|
|
System for allocating resources in a computer system
Problems associated with the manual installation and configuration of adapter boards and peripheral devices for computers are solved by the principles of the present ...
|
|
|
High speed data transfer between mainframe storage systems
The present invention relates to a method and associated systems for transferring data between mainframe storage devices. While the invention is suitable for remote dual ...
|
|
|
Method, system, and article of manufacture for transferring structured data between different data stores
OF THE PREFERRED EMBODIMENTS In the following description, reference is made to the accompanying drawings which form a part hereof and which illustrate several ...
|
|
|
Method and apparatus for reformatting of content for display on interactive television
The present invention addresses the needs of the interactive television environment discussed above. The present invention provides a method and apparatus comprising ...
|
|
|
Method and system for accessing a collection of images in a database
OF THE PREFERRED EMBODIMENTS FIGS. 1, 2 and 3 are flowcharts illustrating the steps carried out for accessing a collection of images in a database in accordance with an ...
|
|
|