Sorry, you need to enable JavaScript to visit this website.

Feedback

Your feedback is important to keep improving our website and offer you a more reliable experience.

pm-graph

The pm-graph project provides sleepgraph and bootgraph tools for system developers to visualize the activity in suspend/resume and boot, allowing them to identify inefficiencies and bottlenecks. Using the sleepgraph and bootgraph tools is an excellent way to save power in Linux* platforms, whether in mobile devices using Intel® technology or large-scale server farms. Optimizing the performance of suspend/resume has become extremely important because the more time spent entering and exiting low power modes, the less the system can be in use.

Description

This Project Provides: System analysis tool source code and binary, and a blog that gives updates on actual changes being made to the kernel using the tool.

The Value of the pm-graph Project

The pm-graph project provides tools for system developers to visualize the activity in suspend/resume and boot. The sleepgraph and bootgraph tools enable users to identify inefficiencies and bottlenecks.

The sleepgraph and bootgraph tools provide guidance for saving power in Linux platforms, whether in mobile devices using Intel® technology or large-scale server farms. Optimizing the performance of suspend/resume has become extremely important because the more time spent entering and exiting low power modes, the less the system can be in use.

Using a kernel image built with a few extra options enabled, the tools will execute a suspend or boot, and will capture dmesg and ftrace data. This data is transformed into a set of timelines and a callgraph to give a quick and detailed view of which devices and kernel processes are taking the most time in suspend/resume and boot. The output of each tool is a single HTML file that uses embedded CSS and JavaScript* to create the timelines and callgraphs. The file can be viewed in any Linux* browser, such as Firefox* or Chromium*.
 

Who It’s For

This project is for kernel developers, testers, debuggers, and other contributors working on Intel processor-based client or server systems.

Project Specifics

This open source project is distributed under the GNU* General Public License v2 open source license. Suspend/Resume is written entirely in Python*, which has a mature and established codebase.

About Intel Involvement

Intel is the leading contributor to Suspend/Resume, enabling the ecosystem to build more efficient client and server systems. This project is optimized through open source for the Intel Atom® processors, Intel® Core™ processors, Intel® Xeon® processors and Intel® Xeon Phi™ co-processors.

 

News & Blogs

USB resume optimization by using spec minimum delays

By Todd Brandt on Dec 02, 2016

The USB resume code in the kernel currently uses a set of hard coded delay values that are defined in the USB 2.0 spec. Specifically these have the most effect on resume time: tdrsmdn: resume signal time (20ms - infinity) usb 2.0 spec 7.1.7.7...

Fixing the delay when errors occur in serio resume

By Todd Brandt on Nov 24, 2015

While testing out various platforms I came across a peculiar resume delay on an ivy bridge laptop. The 3.2 version of analyzesuspend just showed an empty block of about 1.5 seconds in the resume_complete phase. It seems that the delay wasn't...

getting started

By Todd Brandt on May 23, 2014

1) Overview TheAnalyzeSuspend tool is designed to assist kernel and OS developers in optimizing their Linux stack's suspend/resume time. Using a kernel image built with a few extra options enabled and a small patch to enable ftrace, the tool will...

USB resume with parallel enumeration of separate hosts

By Todd Brandt on May 14, 2014

USB resume with parallel enumeration of separate hosts In the current code (drivers/usb/core/hub.c), there is a single, global instance of the usb_address0 mutex which is used for all devices on any host. This isn't completely necessary, as this...

Latest Download

Maintainers