>linuxsymposium

July 19th ~ 22nd, 2006, Ottawa, Canada

Registration

Call For Papers
Register/Login

Content

Schedule
Speaker Guide
Presentations
Tutorials
BOFS

Related

Sponsors
Venue
Travel
FAQ

Archives

Proceedings
Photos
2005
2004
2003
2002
2001
2000
1999

Contacts

Information
Home

Why Userspace Sucks - (Or, 101 Really Dumb Things Your App Shouldn't Do)

Why userspace sucks. (Or 101 really stupid things your app shouldn't do).

During the development of Fedora Core 5, I found myself asking the same questions day after day.

- Why does it take so long to boot?

- Why does it take so long to start X?

- Why do I get opportunity to go fetch a drink after starting various applications and waiting for them to load ?

- Why does idling at the desktop draw so much power ?

- Why does it take longer to shut down than it does to boot up?

I initially set out to discover if there was something the kernel could do better to speed these operations up, through better readahead, VM caching strategies, or better on-disk block layout, but didn't get that far, because what I found in my initial profiling was disturbing.

We have an enormous problem with applications doing unnecessary work, causing wasted time, and more power-drain than necessary.

This talk will cover a number of examples of common applications available in most default installs of common distributions doing incredibly wasteful things, and will also detail what can be, and what has been done to improve the situation.

I intend to show by example numerous applications doing incredibly dumb things, from sillyness such as reloading and reparsing XML files 50 times each run, to applications that wake up every few seconds to ask the kernel to change the value of something that hasn't changed since it last woke up.

I created my tests using patches to the Linux kernel, but experimented at times with other approaches using various familiar tools like strace, and some not-so-familiar tools like systemtap, which I'll also briefly cover.

Our userspace sucks. Only better education of developers of 'really stupid things to do' can we hope that things will get better.