Transparent user mode scheduling on traditional threading systems

US9798595B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9798595-B2
Application numberUS-201514960049-A
CountryUS
Kind codeB2
Filing dateDec 4, 2015
Priority dateSep 30, 2008
Publication dateOct 24, 2017
Grant dateOct 24, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments for performing cooperative user mode scheduling between user mode schedulable (UMS) threads and primary threads are disclosed. In accordance with one embodiment, privileged hardware states are transferred from a kernel portion of a UMS thread to a kernel portion of a primary thread.

First claim

Opening claim text (preview).

We claim: 1. A system, comprising: a processor; and memory communicatively coupled to the processor, the memory comprising: a register configured to store a pointer to enable creation of a user mode schedulable (UMS) thread based on a standard thread by allowing a user portion and a kernel portion of the standard thread to be independently assigned to the processor; a context holder to store privileged hardware states of the UMS thread; and a user mode scheduler executed by the processor to replace first context information of a kernel portion of a primary thread with second context information from a kernel portion of the UMS thread, wherein the primary thread is executed by the processor to enter kernel mode via a system call and to use the pointer to load the stored privileged hardware states into the kernel portion of the primary thread after the replacement of the first context information with the second context information. 2. The system of claim 1 , wherein the privileged hardware states include debug register states. 3. The system of claim 1 , wherein the user mode scheduler is further executed by the processor to replace the first context information with the second context information using the pointer as the UMS thread is engaged in context saving with the primary thread. 4. The system of claim 3 , wherein user mode scheduler is further executed by the processor to replace the first context information with the second context information in response to a disassociate asynchronous procedure call (APC). 5. A method comprising: using a pointer, stored in a register, to create a user mode schedulable (UMS) thread based on a standard thread by allowing a user portion and a kernel portion of the standard thread to be independently assigned to a processor; storing privileged hardware states of the UMS thread; replacing first context information of a kernel portion of a primary thread with second context information from a kernel portion of the UMS thread; causing the primary thread to enter kernel mode via a system call; and loading the stored privileged hardware states into the kernel portion of the primary thread using the pointer after replacing the first context information with the second context information. 6. The method as recited in claim 5 , wherein the primary thread enters kernel mode via a system call. 7. The method of claim 5 , wherein the privileged hardware states include debug register states. 8. The method of claim 5 , wherein the replacing occurs as the UMS thread is engaged in context saving using the pointer with the primary thread. 9. The system of claim 8 , wherein the replacing occurs in response to a disassociate asynchronous procedure call (APC). 10. A system comprising: one or more processors; and memory communicatively coupled to the one or more processors, the memory configured to store executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: creating a user mode schedulable (UMS) thread based on a standard thread using a pointer stored in a register by allowing a user portion and a kernel portion of the standard thread to be independently assigned to the one or more processors, storing privileged hardware states of the UMS thread, replacing first context information of a kernel portion of a primary thread with second context information from a kernel portion of the UMS thread, causing the primary thread to enter kernel mode via a system call, and loading the stored privileged hardware states into the kernel portion of the primary thread using the pointer after replacing the first context information with the second context information. 11. The system of claim 10 , wherein the operations further comprise: causing the primary thread to enter kernel mode via a system call. 12. The system of claim 10 , wherein the privileged hardware states include debug register states. 13. The system of claim 10 , wherein the replacing includes replacing the first context information of the kernel portion of the primary thread with the second context information from the kernel portion of the UMS thread as the UMS thread is engaged in context saving using the pointer with the primary thread. 14. The system of claim 13 , wherein the replacing includes replacing in response to a disassociate asynchronous procedure call (APC).

Assignees

Inventors

Classifications

  • Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • G06F9/545Primary

    where tasks reside in different layers, e.g. user- and kernel-space · CPC title

  • by reordering requests · CPC title

  • by program, e.g. task dispatcher, supervisor, operating system · CPC title

  • Interprogram communication · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9798595B2 cover?
Embodiments for performing cooperative user mode scheduling between user mode schedulable (UMS) threads and primary threads are disclosed. In accordance with one embodiment, privileged hardware states are transferred from a kernel portion of a UMS thread to a kernel portion of a primary thread.
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/545. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 24 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).