Virtualization of hardware accelerator
US-2016210167-A1 · Jul 21, 2016 · US
US9779041B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9779041-B2 |
| Application number | US-201614987258-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 4, 2016 |
| Priority date | Nov 10, 2015 |
| Publication date | Oct 3, 2017 |
| Grant date | Oct 3, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments disclose techniques for enabling the use poll and select subroutines with coherent accelerator block or character devices. In one embodiment, an operating system receives, from an application, a system call to attach a hardware context with the coherent accelerator block or character device. The operating system generates a channel based on a file descriptor associated with the attach system call. The operating system associates the channel with a hardware context selected from a plurality of hardware contexts available to the coherent accelerator, wherein the hardware context is attached to the application. Upon receiving, from the application, a system call to check for exceptions that have occurred on the coherent accelerator block device or character device, the operating system returns an indication of any exceptions which have occurred while the coherent accelerator was using the hardware context to the application.
Opening claim text (preview).
What is claimed is: 1. A method for checking for exceptions on a coherent accelerator, the method comprising: receiving, from an application, a system call to attach a hardware context with the coherent accelerator, wherein the coherent accelerator is either a block device or a character device; generating a channel based on a file descriptor associated with the attach system call; upon attaching the hardware context to the application, associating the generated channel with the hardware context selected from a plurality of hardware contexts available to the coherent accelerator; and upon receiving, from the application, a system call to check for exceptions that have occurred on the coherent accelerator: identifying the hardware context that is attached to the application from the plurality of hardware contexts, based on the generated channel; and returning an indication of any exceptions which have occurred while the coherent accelerator was executing instructions under the hardware context to the application. 2. The method of claim 1 , wherein generating the channel based on the file descriptor comprises: identifying a file pointer address associated with the file descriptor; performing a shift operation on the file pointer address; and using the shifted file pointer address as the generated channel. 3. The method of claim 2 , wherein performing the shift operation on the file pointer address comprises shifting the file pointer address to the right by eight bits, and truncating the shifted file pointer address to a lower 32 bits. 4. The method of claim 1 , wherein generating the channel based on the file descriptor comprises generating and truncating a hash value based on a file pointer address associated with the file descriptor. 5. The method of claim 1 , wherein associating the generated channel with the hardware context comprises: intercepting the hardware context from the application when the application requests to attach to the hardware context; and saving the generated channel into the intercepted hardware context. 6. The method of claim 1 , wherein returning the indication of any exceptions comprises: notifying at least one of the application or a device driver of the exceptions from the hardware context via a notification service, wherein the notification service uses the generated channel associated with the hardware context to identify the arriving exceptions, and wherein identifying the exceptions comprises searching the hardware context for an interrupt source number associated with an interrupt generated due to at least one of a page fault, error, or I/O event. 7. The method of claim 1 , further comprising: upon identifying the exceptions that have occurred on the coherent accelerator, packaging the exceptions into an exception structure that corresponds to the hardware context, wherein the exception structure comprises information associated with the identified exceptions; and storing the exception structure. 8. The method of claim 7 , further comprising: after returning, to the application, an indication that an exception has occurred while the coherent accelerator was running with the hardware context, receiving, from the application, a system call to identify the exceptions for the hardware context; identifying the exception structure for the hardware context, based on the generated channel; and returning the exception structure to the application. 9. The method of claim 1 , wherein the system call to check for exceptions that have occurred on the coherent accelerator is either a poll subroutine or select subroutine.
Single storage device · CPC title
using page tables, e.g. page table structures · CPC title
Monitoring storage devices or systems · CPC title
using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] · CPC title
using successive scanning, e.g. polling (G06F13/24 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.