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

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.

News & Blogs

USB resume optimization by using spec minimum delays

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 trsmrcy: resume recovery time (10ms) usb 2.0 spec 7.1.7.7 trstrcy: reset recovery time (0ms - infinity) usb 2.0 spec 7.1.7.5 tdrstr: root port...

Fixing the delay when errors occur in serio resume

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 actually happening inside of a device_complete callback, but rather in the dpm_complete call one layer above (very curious). So I patched the kernel to...

USB resume with parallel enumeration of separate hosts

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 mutex is only needed to prevent address0 collisions for devices on the *same* host (usb 2.0 spec, sec 4.6.1). This superfluous coverage can cause...

Using v2.3 of AnalyzeSuspend

1) Overview The AnalyzeSuspend 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 execute a suspend, and will capture dmesg and ftrace data until resume is complete. This data is transformed into a set of timelines and a callgraph...