IP Library Granted Patent US 9,798,597
Granted Patent B1
US 9,798,597 · App. 15/275,646 · Granted Oct 24, 2017

Verifying selective purging of entries from translation look-aside buffers

Inventors: Ali Y. Duale (Poughkeepsie, NY); Shailesh R. Gami (Poughkeepsie, NY); John L. Weber (Tilson, NY); Dennis W Wittig (Poughkeepsie, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/073G06F11/0751G06F12/1036G06F2212/1032G06F2212/152G06F2212/683
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 9,798,597
App. No.
15/275,646
Granted
Oct 24, 2017
Kind
B1
Abstract

An aspect includes include selective purging of entries from translation look-aside buffers (TLBs). A method includes building multiple logical systems in a computing environment, the multiple logical systems including at least two level-two guests. TLB entries are created in a TLB for the level-two guests by executing fetch and store instructions. A subset of the TLB entries is purged in response to a selective TLB purge instruction, the subset including TLB entries created for a first one of the level-two guests. Subsequent to the purging, verifying that the subset of the TLB entries were purged from the TLB, and determining whether a second one of the level-two guests is operational, the determining including executing at least one instruction that accesses a TLB entry of the second one of the level-two guests. Test results are generated based on the verifying and the determining. The test results are output.

Claims (55)

1. A computer-implemented method comprising:

building multiple logical systems in a computing environment, the multiple logical systems including at least two level-two guests;

creating translation look-aside buffer (TLB) entries in a TLB for the level-two guests by executing fetch and store instructions;

purging a subset of the TLB entries in response to a selective TLB purge instruction, the subset including TLB entries created for a first one of the level-two guests;

in response to the purging:

verifying that the subset of the TLB entries were purged from the TLB; and

determining whether a second one of the level-two guests is operational, the determining including executing at least one instruction that accesses a TLB entry of the second one of the level-two guests;

generating test results based on the verifying and the determining; and

outputting the test results.

2. The method of claim 1 , wherein the verifying includes the first one of the level-two guests executing a fetch and store instruction to access at least one of the TLB entries in the subset, and the executing returning an error condition.

3. The method of claim 1 , wherein:

the at least one instruction that accesses a TLB entry of the second one of the level-two guests includes a fetch and store instruction to access at least one of the TLB entries not in the subset;

the second one of the level-two guests is determined to be operational based on the executing completing successfully; and

the second one of the level-two guests is determined not to be operational based on the executing returning an error condition.

4. The method of claim 1 , wherein the computing environment is a uni-processor environment.

5. The method of claim 1 , wherein the computing environment is a multi-processor environment, the first one of the level-two guests spans multiple processors, the TLB includes a TLB on each of the multiple processors, and the subset of the TLB entries spans multiple processors.

6. The method of claim 1 , wherein the purging is performed by a processor that executes the first one of the level-two guests.

7. The method of claim 1 , wherein the purging is performed by a processor that does not execute the first one of the level-two guests.

8. A system comprising:

a memory having computer readable instructions; and

a processor for executing the computer readable instructions, the computer readable instructions including:

building multiple logical systems in a computing environment, the multiple logical systems including at least two level-two guests;

creating translation look-aside buffer (TLB) entries in a TLB for the level-two guests by executing fetch and store instructions;

purging a subset of the TLB entries in response to a selective TLB purge instruction, the subset including TLB entries created for a first one of the level-two guests;

in response to the purging:

verifying that the subset of the TLB entries were purged from the TLB; and

determining whether a second one of the level-two guests is operational, the determining including executing at least one instruction that accesses a TLB entry of the second one of the level-two guests;

generating test results based on the verifying and the determining; and

outputting the test results.

9. The system of claim 8 , wherein the verifying includes the first one of the level-two guests executing a fetch and store instruction to access at least one of the TLB entries in the subset, and the executing returning an error condition.

10. The system of claim 8 , wherein:

the at least one instruction that accesses a TLB entry of the second one of the level-two guests includes a fetch and store instruction to access at least one of the TLB entries not in the subset;

the second one of the level-two guests is determined to be operational based on the executing completing successfully; and

the second one of the level-two guests is determined not to be operational based on the executing returning an error condition.

11. The system of claim 8 , wherein the computing environment is a uni-processor environment.

12. The system of claim 8 , wherein the computing environment is a multi-processor environment, the first one of the level-two guests spans multiple processors, the TLB includes a TLB on each of the multiple processors, and the subset of the TLB entries spans multiple processors.

13. The system of claim 8 , wherein the purging is performed by a processor that executes the first one of the level-two guests.

14. The system of claim 8 , wherein the purging is performed by a processor that does not execute the first one of the level-two guests.

15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by processing circuitry to cause the processing circuitry to perform:

building multiple logical systems in a computing environment, the multiple logical systems including at least two level-two guests;

creating translation look-aside buffer (TLB) entries in a TLB for the level-two guests by executing fetch and store instructions;

purging a subset of the TLB entries in response to a selective TLB purge instruction, the subset including TLB entries created for a first one of the level-two guests;

in response to the purging:

verifying that the subset of the TLB entries were purged from the TLB; and

determining whether a second one of the level-two guests is operational, the determining including executing at least one instruction that accesses a TLB entry of the second one of the level-two guests;

generating test results based on the verifying and the determining; and

outputting the test results.

16. The computer program product of claim 15 , wherein the verifying includes the first one of the level-two guests executing a fetch and store instruction to access at least one of the TLB entries in the subset, and the executing returning an error condition.

17. The computer program product of claim 15 , wherein:

the at least one instruction that accesses a TLB entry of the second one of the level-two guests includes a fetch and store instruction to access at least one of the TLB entries not in the subset;

the second one of the level-two guests is determined to be operational based on the executing completing successfully; and

the second one of the level-two guests is determined not to be operational based on the executing returning an error condition.

18. The computer program product of claim 15 , wherein the computing environment is a uni-processor environment.

19. The computer program product of claim 15 , wherein the computing environment is a multi-processor environment, the first one of the level-two guests spans multiple processors, the TLB includes a TLB on each of the multiple processors, and the subset of the TLB entries spans multiple processors.

20. The computer program product of claim 15 , wherein the purging is performed by a processor that does not execute the first one of the level-two guests.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2016
From: DUALE, ALI Y.; GAMI, SHAILESH R.; WEBER, JOHN L.; WITTIG, DENNIS W.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039854/0242 →