-
公开(公告)号:US20150347327A1
公开(公告)日:2015-12-03
申请号:US14292123
申请日:2014-05-30
Applicant: Apple Inc.
Inventor: Russell A. BLAINE , Kushal DALMIA , Joseph SOKOL, JR. , Andrew W. VOGAN , Matthew J. BYOM
CPC classification number: G06F13/18 , G06F3/0611 , G06F3/0659 , G06F3/0688 , G06F9/00 , G06F13/385
Abstract: In one embodiment, input-output (I/O) scheduling system detects and resolves priority inversions by expediting previously dispatched requests to an I/O subsystem. In response to detecting the priority inversion, the system can transmit a command to expedite completion of the blocking I/O request. The pending request can be located within the I/O subsystem and expedited to reduce the pendency period of the request.
Abstract translation: 在一个实施例中,输入输出(I / O)调度系统通过将先前分配的请求加速到I / O子系统来检测并解决优先级倒置。 响应于检测到优先级反转,系统可以发送命令来加快阻塞I / O请求的完成。 待处理的请求可以位于I / O子系统内,并加快以减少请求的未决期限。
-
公开(公告)号:US20200380926A1
公开(公告)日:2020-12-03
申请号:US16888606
申请日:2020-05-29
Applicant: Apple Inc.
Inventor: Simon M. DOUGLAS , Ross THOMPSON , Russell A. BLAINE , Arthur L. SPENCE , Brad W. SIMERAL , Giovanni M. AGNOLI , Chendi ZHANG , Jacob Z. WEISS , Yiqiang NIE , Brent W. SCHORSCH
IPC: G09G3/36 , G06F1/3218
Abstract: A device implementing a system for displaying an image includes a processor configured to, generate, during a first power state of a device, a data structure specifying image frames and a respective display time for each of the image frames, and retrieve, during a second power state of the device and from the data structure, an image frame based on the respective display time for the image frame. The at least one processor is further configured to display, during a third power state of the device, the retrieved image frame on a display of the device.
-
公开(公告)号:US20210365389A1
公开(公告)日:2021-11-25
申请号:US17397966
申请日:2021-08-09
Applicant: Apple Inc.
Inventor: Jeremy C. ANDRUS , Joseph R. Auricchio , Russell A. BLAINE , Daniel A. CHIMENE , Simon M. DOUGLAS , Landon J. FULLER , Yevgen GORYACHOK , John K. KIM-BIGGS , Arnold S. LIU , James M. MAGEE , Daniel A. STEFFEN , Roberto G. YEPEZ
Abstract: Embodiments described herein provide techniques to manage drivers in a user space in a data processing system. One embodiment provides a data processing system configured perform operations, comprising discovering a hardware device communicatively coupled to the communication bus, launching a user space driver daemon, establishing an inter-process communication (IPC) link between a first proxy interface for the user space driver daemon and a second proxy interface for a server process in a kernel space, receiving, at the first proxy interface, an access right to enable access to a memory buffer in the kernel space, and relaying an access request for the memory buffer from the user space driver daemon via a third-party proxy interface to enable the user space driver daemon to access the memory buffer, the access request based on the access right.
-
公开(公告)号:US20160357600A1
公开(公告)日:2016-12-08
申请号:US14871837
申请日:2015-09-30
Applicant: Apple Inc.
Inventor: Daniel A. CHIMENE , Daniel A. STEFFEN , James M. MAGEE , Russell A. BLAINE , Shantonu SEN
CPC classification number: G06F9/4818 , G06F9/4881 , G06F9/5011 , G06F9/526 , G06F2209/485
Abstract: Disclosed herein are systems, methods, and computer-readable media directed to scheduling threads in a multi-processing environment that can resolve a priority inversion. Each thread has a scheduling state and a context. A scheduling state can include attributes such as a processing priority, classification (background, fixed priority, real-time), a quantum, scheduler decay, and a list of threads that may be waiting on the thread to make progress. A thread context can include registers, stack, other variables, and one or more mutex flags. A first thread can hold a resource with a mutex, the first thread having a low priority. A second thread having a scheduling state with a high priority can be waiting on the resource and may be blocked behind the mutex held by the first process. A scheduler can execute the context of the lower priority thread using the scheduler state of the second, higher priority thread. More than one thread can be waiting on the resource held by the first thread. A “pusher list” of threads that are waiting on the first thread can be associated with the first thread. The scheduler can use the pusher list to identify threads that need the first thread to make progress until the first thread releases the resource and mutex. Then, the scheduler can use the pusher list to identify threads that are now runnable and make immediate use of the resource.
Abstract translation: 这里公开的是指向在多处理环境中调度线程的系统,方法和计算机可读介质,其可以解决优先级反转。 每个线程都有调度状态和上下文。 调度状态可以包括诸如处理优先级,分类(背景,固定优先级,实时),量子,调度器衰减和可能在线程上等待进行的线程列表的属性。 线程上下文可以包括寄存器,堆栈,其他变量和一个或多个互斥标志。 第一个线程可以使用互斥体保存资源,第一个线程具有低优先级。 具有高优先级的调度状态的第二线程可以等待资源并且可能被阻止在由第一进程所保持的互斥体之后。 调度器可以使用第二较高优先级线程的调度器状态来执行较低优先级线程的上下文。 多个线程可以等待第一个线程持有的资源。 在第一个线程上等待的线程的“推送器列表”可以与第一个线程相关联。 调度程序可以使用推送器列表来识别需要第一个线程以在第一个线程释放资源和互斥体之前进行的线程。 然后,调度程序可以使用推送器列表来识别现在可运行的线程,并立即使用该资源。
-
-
-