System and method for adding priority change value corresponding with a lock to a thread during lock processing
First Claim
1. A method for altering a priority of a thread of execution that is being executed by a computer operating system, said method comprising:
- receiving a request for a software lock from the thread, wherein the software lock is a data structure used to control access to a shared resource;
determining that the software lock is available;
granting the thread access to the shared resource in response to the determination;
retrieving a priority change value corresponding to the software lock;
altering the priority of the thread in conjunction with the granting by adding the priority change value to the priority of the thread;
receiving a release instruction from the thread;
revoking the access previously granted in response to receiving the release instruction; and
readjusting the priority of the thread in conjunction with the revoking by subtracting the priority change value from the priority of the thread.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method is altering the priority of a process, or thread of execution, when the process acquires a software lock. The priority is altered when the lock is acquired and restored when the process releases the lock. Thread priorities can be altered for every lock being managed by the operating system or can selectively be altered. In addition, the amount of alteration can be individually adjusted so that a process that acquires one lock receive a different priority boost than a process that acquires a different lock. Furthermore, a method of tuning a computer system by adjusting lock priority values is provided.
46 Citations
17 Claims
-
1. A method for altering a priority of a thread of execution that is being executed by a computer operating system, said method comprising:
-
receiving a request for a software lock from the thread, wherein the software lock is a data structure used to control access to a shared resource; determining that the software lock is available; granting the thread access to the shared resource in response to the determination; retrieving a priority change value corresponding to the software lock; altering the priority of the thread in conjunction with the granting by adding the priority change value to the priority of the thread; receiving a release instruction from the thread; revoking the access previously granted in response to receiving the release instruction; and readjusting the priority of the thread in conjunction with the revoking by subtracting the priority change value from the priority of the thread. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An information handling system comprising:
-
one or more processors; a memory accessible by the processors; a nonvolatile storage device accessible by the processors; a computer operating system for controlling the use of the processors, the memory, and the storage device, the computer operating system including one or more software lock data structures used to control access to shared resources; a software lock tool for altering a priority of a thread of execution that is being executed by the computer operating system, the software lock tool performing steps that include; altering a priority of a thread of execution that is being executed by a computer operating system, said method comprising; receiving a request for a software lock from the thread, wherein the software lock is a data structure used to control access to a shared resource; determining that the software lock is available; granting the thread access to the shared resource in response to the determination; retrieving a priority change value corresponding to the software lock; altering the priority of the thread in conjunction with the granting by adding the priority change value to the priority of the thread; receiving a release instruction from the thread; revoking the access previously granted in response to receiving the release instruction; and readjusting the priority of the thread in conjunction with the revoking by subtracting the priority change value from the priority of the thread. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer program product stored in a computer storage media for altering a priority of a thread of execution that is being executed by a computer operating system, said computer program product including instructions that, when executed by an information handling system, causes the information handling system to perform actions comprising:
-
receiving a request for a software lock from the thread, wherein the software lock is a data structure used to control access to a shared resource; determining that the software lock is available; granting the thread access to the shared resource in response to the determination; retrieving a priority change value corresponding to the software lock; altering the priority of the thread in conjunction with the granting by adding the priority change value to the priority of the thread; receiving a release instruction from the thread; revoking the access previously granted in response to receiving the release instruction; and readjusting the priority of the thread in conjunction with the revoking by subtracting the priority change value from the priority of the thread. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification