摘要:
A system for providing performance counter inheritance includes an operating system that receives a request of a first application to monitor performance of a second application, the request identifying an event to monitor during the execution of a task associated with the second application. The operating system causes a task counter corresponding to the event to be activated, and automatically activates a child task counter for each child task upon receiving a notification that execution of a corresponding child task is starting. Further, the operating system adds a value of each child task counter to a value of the task counter to determine a total counter value for the task, and provides the total counter value of the task to the first application.
摘要:
An embodiment relates to a method of managing primitives. The method includes providing a data structure available in user-space where the data structure comprises at least one futex. The method also includes detecting a termination of the process and searching the data structure for status of the at least one futex. The method further includes releasing the at least one futex in response to status of the at least one futex being held and setting a flag for at least one futex. The method further includes notifying at least one process waiting for the released at least one futex.
摘要:
A system for handling performance counters and events includes an operating system that receives a request of a first application for performance data associated with a type of event to be performed by a second application, causes a hardware counter pertaining to the event type to be activated, and provides a file descriptor corresponding to the hardware counter to the first application. The operating system then receives a second request of the first application for a value of the hardware counter, where the second request includes the file descriptor, and provides the value of the hardware counter to the first application.
摘要:
An embodiment relates to a method of managing primitives. The method includes providing a data structure available in user-space where the data structure comprises at least one futex. The method also includes detecting a termination of the process and searching the data structure for status of the at least one futex. The method further includes releasing the at least one futex in response to status of the at least one futex being held and setting a flag for at least one futex. The method further includes notifying at least one process waiting for the released at least one futex.
摘要:
A system for providing software performance counters includes an operating system that receives a first request of a first application to monitor performance of a second application, the first request identifying a type of event to monitor during the execution of the second application. The operating system determines that the event is a software event, monitors the performance of the second application with respect to the type of the software event, and updates a counter associated with the type of the software event based on the monitoring. Further, the operating system receives a second request of the first application for performance data associated with the type of the software event counter, and provides the value of the counter to the first application.
摘要:
A system for obtaining performance data for different performance events includes a first application monitoring performance of a second application executing on a computing system. The first application identifies the type of event to be measured with respect to the second application, issues a first system call identifying the type of event, receives an identifier corresponding to the event type, and causes the second application to begin execution. After the execution of the second application is completed, the first application issues a second system call including the identifier corresponding to the event type, and receives a value of a hardware counter corresponding to the event type from an operating system.
摘要:
A system for obtaining performance data for different performance events includes a first application monitoring performance of a second application executing on a computing system. The first application identifies the type of event to be measured with respect to the second application, issues a first system call identifying the type of event, receives an identifier corresponding to the event type, and causes the second application to begin execution. After the execution of the second application is completed, the first application issues a second system call including the identifier corresponding to the event type, and receives a value of a hardware counter corresponding to the event type from an operating system.
摘要:
A system for providing performance statistics of applications in real time includes a first application that obtains current performance data of at least one second application in real time, utilizes the current performance data to determine a list of functions and the number of events occurred during the execution of each function, presents the resulting data to a user, and periodically refreshes the presented data using up-to-date performance data of the second application.
摘要:
Systems and methods of managing primitives are disclosed. A data structure that is stored in user space is registered, wherein the data structure tracks a user controllable mutual exclusion primitive that is acquired by a process running in the user space, and wherein the user controllable mutual exclusion primitive serves as a lock on a resource provided by a computer system. A termination of the process is detected, wherein the process maintains the lock on the resource after termination and the data structure is searched to identify the user controllable mutual exclusion primitive that is acquired by the process that terminated. The user controllable mutual exclusion primitive is released if the user controllable mutual exclusion primitive is identified as being acquired by the process.
摘要:
A system for handling performance counters and events includes an operating system that receives a request of a first application for performance data associated with a type of event to be performed by a second application, causes a hardware counter pertaining to the event type to be activated, and provides a file descriptor corresponding to the hardware counter to the first application. The operating system then receives a second request of the first application for a value of the hardware counter, where the second request includes the file descriptor, and provides the value of the hardware counter to the first application.