System call queue between visible and invisible computing devices
AssigneeAdvanced Micro Devices, Inc.
InventorsBenjamin Thomas Sander, Michael Clair Houston, Keith Lowery, Newton Cheung
Life of this patent
Estimating the term…
Abstract
Embodiments described herein include a system, a computer-readable medium and a computer-implemented method for processing a system call (SYSCALL) request. The SYSCALL request from an invisible processing device is stored in a queueing mechanism that is accessible to a visible processing device, where the visible processing device is visible to an operating system and the invisible processing device is invisible to the operating system. The SYSCALL request is processed using the visible processing device, and the invisible processing device is notified using a notification mechanism that the SYSCALL request was processed.
Claims24
A method for processing a system call (SYSCALL) request in a computing system having an operating system (OS), comprising:
- storing a vector including a SYSCALL request in a queuing mechanism accessible to both a first processor and a second processor, wherein the SYSCALL request is from the second processor and the second processor cannot process the SYSCALL request because the second processor is invisible to the OS, wherein the queueing mechanism stores multiple vectors, including the vector, each vector of the multiple vectors including multiple SYSCALL requests generated by multiple tasks processed in parallel on the second processor;
- processing the SYSCALL request using the first processor;
- and notifying the second processor that the SYSCALL request was processed;
- wherein the first processor is a central processing unit (CPU) that is visible to the OS and the second processor is an accelerated processing device (APD) that is invisible to the OS;
- wherein the queuing mechanism enables the SYSCALL request from the second processor to be processed even though the second processor is the APD that cannot process the SYSCALL request because the second processor is invisible to the OS.
A system for processing a system call (SYSCALL) request in a computing system having an operating system (OS), the system comprising:
- a first processor configured to:
- access a SYSCALL request from a second processor in a queuing mechanism accessible to both the first processor and the second processor;
- process the SYSCALL request;
- and
- send a notification to the second processor to notify the second processor that the SYSCALL request was processed;
- and
- the second processor configured to:
- store a vector including the SYSCALL request in the queuing mechanism that is accessible to the first processor, wherein the second processor cannot process the SYSCALL request because the second processor is invisible to the OS, wherein the queueing mechanism stores multiple vectors, including the vector, each vector of the multiple vectors including multiple SYSCALL requests generated by multiple tasks processed in parallel on the second processor;
- receive a notification from the first processor that the SYSCALL request was processed by the first processor;
- and
- process a task based on the received notification;
- wherein the first processor is a central processing unit (CPU) that is visible to the OS and the second processor an accelerated processing device (APD) that is invisible to the OS;
- wherein the queuing mechanism enable the SYSCALL request from the second processor to be processed when even though the second processor is an the APD that cannot process the SYSCALL request because the second processor is invisible to the OS.
A non-transitory computer-readable medium that stores instructions adapted to be executed by a computing system having an operating system (OS) comprising:
- storing a vector including a SYSCALL request in a queuing mechanism accessible to both a first processor and a second processor, wherein the SYSCALL request is from the second processor and the second processor cannot process the SYSCALL request because the second processor is invisible to the OS, wherein the queueing mechanism stores multiple vectors, including the vector, each vector of the multiple vectors including multiple SYSCALL requests generated by multiple tasks processed in parallel on the second processor:
- processing the SYSCALL request using the first processor;
- and notifying the second processor that the SYSCALL request was processed;
- wherein the first processor is a central processing unit (CPU) that is visible to the OS and the second processor is an accelerated processing device (APD) that is invisible to the OS;
- wherein the queuing mechanism enables the SYSCALL request from the second processor to be processed when even though the second processor is an the APD that cannot process the SYSCALL request because the second processor is invisible to the OS.
Dependencies are inferred from the claim text.