-
公开(公告)号:US20220027452A1
公开(公告)日:2022-01-27
申请号:US17497826
申请日:2021-10-08
Applicant: Apple Inc.
Inventor: Bernard J. Semeria , Devon S. Andrade , Jeremy C. Andrus , Ahmed Bougacha , Peter Cooper , Jacques Fortier , Louis G. Gerbarg , James H. Grosbach , Robert J. McCall , Daniel A. Steffen , Justin R. Unger
IPC: G06F21/44 , H04L9/32 , G06F15/78 , G06F21/54 , G06F21/78 , H04L29/06 , H04L9/08 , G06F12/109 , G06F21/56 , G06F21/12
Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.
-
公开(公告)号:US11144631B2
公开(公告)日:2021-10-12
申请号:US16539356
申请日:2019-08-13
Applicant: Apple Inc.
Inventor: Bernard J. Semeria , Devon S. Andrade , Jeremy C. Andrus , Ahmed Bougacha , Peter Cooper , Jacques Fortier , Louis G. Gerbarg , James H. Grosbach , Robert J. McCall , Daniel A. Steffen , Justin R. Unger
IPC: G06F21/44 , G06F15/78 , G06F9/32 , H04L9/32 , G06F21/54 , G06F21/78 , H04L29/06 , H04L9/08 , G06F12/109 , G06F21/56 , G06F21/12
Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.
-
公开(公告)号:US11093601B2
公开(公告)日:2021-08-17
申请号:US16664719
申请日:2019-10-25
Applicant: Apple Inc.
Inventor: Bernard J. Semeria , Devon S. Andrade , Jeremy C. Andrus , Ahmed Bougacha , Peter Cooper , Jacques Fortier , Louis G. Gerbarg , James H. Grosbach , Robert J. McCall , Daniel A. Steffen , Justin R. Unger
Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.
-
公开(公告)号:US10901920B2
公开(公告)日:2021-01-26
申请号:US16380300
申请日:2019-04-10
Applicant: Apple Inc.
Inventor: Jainam A. Shah , Jeremy C. Andrus , Daniel A. Chimene , Kushal Dalmia , Pierre Habouzit , James M. Magee , Marina Sadini , Daniel A. Steffen
Abstract: One embodiment provides for a computer-implemented method comprising instantiating a synchronization primitive to control access to a resource, acquiring the synchronization primitive at a first thread, the first thread having a first priority, associating a turnstile with the synchronization primitive, setting an inheritor of the turnstile to the first thread, attempting to acquire the synchronization primitive at a second thread while the synchronization primitive is held by the first thread, the second thread having a second priority, adding the second thread to a wait queue of the turnstile; and in response to determining that the second priority is higher than the first priority, increasing the priority of the first thread to the second priority.
-
公开(公告)号:US10671430B2
公开(公告)日:2020-06-02
申请号:US15836411
申请日:2017-12-08
Applicant: Apple Inc.
Inventor: Daniel A. Steffen , Jainam A. Shah , James M. Magee , Jeremy C. Andrus , Russell A. Blaine
Abstract: Techniques are disclosed relating to inter-process communication. In some embodiments, a kernel receives a notification of a communication to be sent from a first thread of a first application to a second thread of a second application. The kernel provides a reply port to the first thread for receiving a reply to the communication from the second thread. The kernel facilitates sending the communication from the first thread to the second thread. The kernel increases an execution priority of the second thread in response to the kernel determining that the reply port and a destination port associated with the second thread are identified in the communication. In some embodiments, the kernel creates the reply port in response to receiving the notification and, in response to detecting the reply has been communicated to the reply port, decreases the execution priority of the second thread and removes the reply port.
-
公开(公告)号:US20170269967A1
公开(公告)日:2017-09-21
申请号:US15444186
申请日:2017-02-27
Applicant: Apple Inc.
Inventor: Daniel A. Steffen , Matthew W. Wright , Russell A. Blaine , Daniel A. Chimene , Kevin J. Van Vechten , Thomas B. Duffy
CPC classification number: G06F9/4893 , G06F9/4881 , G06F9/5038 , G06F2209/5021 , Y02D10/22
Abstract: In one embodiment, tasks executing on a data processing system can be associated with a Quality of Service (QoS) classification that is used to determine the priority values for multiple subsystems of the data processing system. The QoS classifications are propagated when tasks interact and the QoS classes are interpreted a multiple levels of the system to determine the priority values to set for the tasks. In one embodiment, one or more sensors coupled with the data processing system monitor a set of system conditions that are used in part to determine the priority values to set for a QoS class.
-
公开(公告)号:US11940931B2
公开(公告)日:2024-03-26
申请号:US17141914
申请日:2021-01-05
Applicant: Apple Inc.
Inventor: Jainam A. Shah , Jeremy C. Andrus , Daniel A. Chimene , Kushal Dalmia , Pierre Habouzit , James M. Magee , Marina Sadini , Daniel A. Steffen
CPC classification number: G06F12/1466 , G06F9/4881 , G06F9/5038 , G06F9/52 , G06F9/526 , G06F9/541 , G06F9/545 , G06F12/0842 , G06F2209/5011
Abstract: A turnstile OS primitive is provided that enables support for owner tracking and waiting. The turnstile primitive enables a common framework that can be adopted across multiple different types of synchronization primitives to provide a common service for priority boosting and wait queuing. A turnstile can also provide a mechanism to enable a turnstile to block on another turnstile, allowing multi-hop priority boosting within a chain of multiple blocking turnstiles.
-
公开(公告)号:US11086800B2
公开(公告)日:2021-08-10
申请号:US16882087
申请日:2020-05-22
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.
-
公开(公告)号:US11048562B2
公开(公告)日:2021-06-29
申请号:US15836459
申请日:2017-12-08
Applicant: Apple Inc.
Inventor: Daniel A. Steffen , Pierre Habouzit , Daniel A. Chimene , Jeremy C. Andrus , James M. Magee , Puja Gupta
Abstract: Techniques are disclosed relating to efficiently handling execution of multiple threads to perform various actions. In some embodiments, an application instantiates a queue and a synchronization primitive. The queue maintains a set of work items to be operated on by a thread pool maintained by a kernel. The synchronization primitive controls access to the queue by a plurality of threads including threads of the thread pool. In such an embodiment, a first thread of the application enqueues a work item in the queue and issues a system call to the kernel to request that the kernel dispatch a thread of the thread pool to operate on the first work item. In various embodiments, the dispatched thread is executable to acquire the synchronization primitive, dequeue the work item, and operate on it.
-
公开(公告)号:US20210157748A1
公开(公告)日:2021-05-27
申请号:US17141914
申请日:2021-01-05
Applicant: Apple Inc.
Inventor: Jainam A. Shah , Jeremy C. Andrus , Daniel A. Chimene , Kushal Dalmia , Pierre Habouzit , James M. Magee , Marina Sadini , Daniel A. Steffen
Abstract: A turnstile OS primitive is provided that enables support for owner tracking and waiting. The turnstile primitive enables a common framework that can be adopted across multiple different types of synchronization primitives to provide a common service for priority boosting and wait queuing. A turnstile can also provide a mechanism to enable a turnstile to block on another turnstile, allowing multi-hop priority boosting within a chain of multiple blocking turnstiles.
-
-
-
-
-
-
-
-
-