×

User level adaptive thread blocking

  • US 6,223,204 B1
  • Filed: 12/18/1996
  • Issued: 04/24/2001
  • Est. Priority Date: 12/18/1996
  • Status: Expired due to Term
First Claim
Patent Images

1. A computer apparatus comprising:

  • a computer system, including a memory configured to include a user level memory region and an operating system level memory region;

    a plurality of threads configured to operate in the user level memory region;

    a plurality of light weight processes configured to operate in the operating system level memory region to run selected threads from the plurality of threads;

    at least one data process for running the plurality of light weight processes;

    a kernel data structure in the operating system level memory region that includes selected information on each thread that is presently running at least one light weight process;

    a user data structure in the user level memory region, configured to receive information from the kernel data structure;

    a mapping mechanism for mapping information from the kernel data structure into the user data structure;

    a scheduling mechanism for associating at least one thread to run at least one of the plurality of light weight processes or a selected high priority process, based on the mapped information received by the user data structure, wherein the at least one thread is caused to enter a spin state when scheduled onto a light weight process that is running;

    a light weight process status indicator that indicates status of at least one of the plurality of light weight processes, configured to be read by the scheduling mechanism for thread scheduling, wherein the at least one thread is caused to enter a sleep state when the at least one light weight process is in a non-running state;

    wherein the scheduling mechanism is configured to distinguish between the selected high priority process and the at least one light weight process, to block the selected high priority process, to place the selected high priority process in a sleep state, and to allow the at least one light weight process to complete a process begun by the at least one light weight process.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×