IP Library › Granted Patent US 10,489,382
Granted Patent B2
US 10,489,382 · App. 15/489,940 · Granted Nov 26, 2019

Register restoration invalidation based on a context switch

Inventors: Michael K. Gschwind (Chappaqua, NY); Valentina Salapura (Chappaqua, NY); Chung-Lung K. Shum (Wappingers Falls, NY); Timothy J. Slegel (Staatsburg, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F16/2365G06F16/128G06F21/52G06F21/74G06F2201/84
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,489,382
App. No.
15/489,940
Granted
Nov 26, 2019
Kind
B2
Abstract

Register restoration invalidation based on a context switch. A context switch from one executing entity to another executing entity is detected. Based on detecting the context switch, an entry of a snapshot stack to be invalidated is selected. The entry of the snapshot stack provides an indication of a snapshot. The snapshot includes an assignment of one or more physical registers to one or more architected registers. The entry of the snapshot stack selected for invalidation is invalidated.

Claims (36)

1. A computer program product for facilitating processing within a computing environment, the computer program product comprising:

a computer readable storage medium readable by a processing circuit and storing instructions for performing a method comprising:

detecting a context switch from one executing entity to another executing entity;

selecting, based on detecting the context switch, an entry of a snapshot stack to be invalidated, the entry of the snapshot stack providing an indication of a snapshot, the snapshot including an assignment of one or more physical registers to one or more architected registers; and

invalidating the entry of the snapshot stack selected for invalidation.

2. The computer program product of claim 1 , wherein the one executing entity comprises an application or a function and the other executing entity comprises another application or another function.

3. The computer program product of claim 1 , wherein the detecting comprises determining that a permission level has changed, the changed permission level indicating the context switch from the one executing entity to the other executing entity.

4. The computer program product of claim 1 , wherein the detecting comprises detecting a change of a value in a register indicative of at least one of the executing entity and the other executing entity.

5. The computer program product of claim 1 , wherein the invalidating the entry of the snapshot stack comprises using an architected invalidation instruction to invalidate the snapshot of the entry.

6. The computer program product of claim 5 , wherein the architected invalidation instruction comprises an operation code specifying an invalidation operation and provides an indication of the snapshot to be invalidated.

7. The computer program product of claim 5 , wherein the invalidating the entry of the snapshot stack comprises clearing the entry of the snapshot stack.

8. The computer program product of claim 7 , wherein the invalidating the entry of the snapshot stack further comprises clearing one or more marking indicators in one or more cache entries corresponding to one or more addresses associated with the snapshot.

9. The computer program product of claim 1 , wherein the invalidating the entry of the snapshot stack comprises:

clearing the entry of the snapshot stack; and

clearing one or more marking indicators in one or more cache entries corresponding to one or more addresses associated with the snapshot.

10. A computer system for facilitating processing within a computing environment, the computer system comprising:

a memory; and

a processor in communication with the memory, wherein the computer system is configured to perform a method, said method comprising:

detecting a context switch from one executing entity to another executing entity;

selecting, based on detecting the context switch, an entry of a snapshot stack to be invalidated, the entry of the snapshot stack providing an indication of a snapshot, the snapshot including an assignment of one or more physical registers to one or more architected registers; and

invalidating the entry of the snapshot stack selected for invalidation.

11. The computer system of claim 10 , wherein the detecting comprises determining that a permission level has changed, the changed permission level indicating the context switch from the one executing entity to the other executing entity.

12. The computer system of claim 10 , wherein the detecting comprises detecting a change of a value in a register indicative of at least one of the executing entity and the other executing entity.

13. The computer system of claim 10 , wherein the invalidating the entry of the snapshot stack comprises using an architected invalidation instruction to invalidate the snapshot of the entry.

14. The computer system of claim 13 , wherein the architected invalidation instruction comprises an operation code specifying an invalidation operation and provides an indication of the snapshot to be invalidated.

15. The computer system of claim 10 , wherein the invalidating the entry of the snapshot stack comprises:

clearing the entry of the snapshot stack; and

clearing one or more marking indicators in one or more cache entries corresponding to one or more addresses associated with the snapshot.

16. A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising:

detecting, by a processor, a context switch from one executing entity to another executing entity;

selecting, based on detecting the context switch, an entry of a snapshot stack to be invalidated, the entry of the snapshot stack providing an indication of a snapshot, the snapshot including an assignment of one or more physical registers to one or more architected registers; and

invalidating the entry of the snapshot stack selected for invalidation.

17. The computer-implemented method of claim 16 , wherein the detecting comprises determining that a permission level has changed, the changed permission level indicating the context switch from the one executing entity to the other executing entity.

18. The computer-implemented method of claim 16 , wherein the detecting comprises detecting a change of a value in a register indicative of at least one of the executing entity and the other executing entity.

19. The computer-implemented method of claim 16 , wherein the invalidating the entry of the snapshot stack comprises using an architected invalidation instruction to invalidate the snapshot of the entry.

20. The computer-implemented method of claim 19 , wherein the architected invalidation instruction comprises an operation code specifying an invalidation operation and provides an indication of the snapshot to be invalidated.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2017
From: GSCHWIND, MICHAEL K.; SALAPURA, VALENTINA; SHUM, CHUNG-LUNG K.; SLEGEL, TIMOTHY J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042044/0144 →
Continuity (1)
Related Publication 20180300368A1 · Oct 18, 2018