×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

How Kernel Hackers Boosted the Speed of Desktop Linux

timothy posted more than 5 years ago | from the mild-claims dept.

Operating Systems 380

chromatic writes "Kernel hackers Arjan van de Ven and Auke Kok showed off Linux booting in five seconds at last month's Linux Plumbers Conference. Arjan and other hackers have already improved the Linux user experience by reducing power consumption and latency. O'Reilly News interviewed him about his work on improving the Linux experience with PowerTOP, LatencyTOP, and Five-Second Boot."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

380 comments

Should lead to possibly great advertisements (5, Insightful)

pwnies (1034518) | more than 5 years ago | (#25237899)

Not only is this an impressive accomplishment, but if this can be applied generically to most distributions then it should present an excellent opportunity for advertisement. Showing how you can boot, check your email, read the latest news, and be done with all you need to have done while a fellow Vista machine is still booting says a lot. Even if we can get most distributions down to 15sec average, it's a huge leap. Grats to these guys.

Re:Should lead to possibly great advertisements (5, Funny)

Anonymous Coward | more than 5 years ago | (#25238083)

Kudos to you sir, for reducing the time it takes to type congratulations by instead using grats!

Re:Should lead to possibly great advertisements (1, Funny)

jejones (115979) | more than 5 years ago | (#25238223)

Heck, be generous, give him more than one. Kudoi to him!

Re:Should lead to possibly great advertisements (5, Funny)

Bryansix (761547) | more than 5 years ago | (#25238109)

Actually Vista with 4 Gigs of RAM boots pretty quickly. It's once it's up that it is slow.

Re:Should lead to possibly great advertisements (4, Funny)

Anonymous Coward | more than 5 years ago | (#25238127)

You can boot Vista with only 4 Gigs of ram?

Re:Should lead to possibly great advertisements (0)

Anonymous Coward | more than 5 years ago | (#25238617)

If you think that it's running slow, wait until you want to shut it down...

"Pretty Quick"? Drug of Choice? (1)

fm6 (162816) | more than 5 years ago | (#25238701)

My Vista system has 4 GB, and still takes a painfully long time to boot. I don't know what magic your system uses, but I doubt that it's fast compared even to a non-optimized Linux box.

To speed up startup time, I hibernate my system instead of shutting it down when I'm not using it. But even that's painfully slow — because of that 4GB memory that needs to be restored.

Vista introduces something called hybrid mode, which is like sleeping, only safer, because there's also a hibernation image, so the state of your system isn't lost if there's a power failure. Not practical with laptops, alas.

Re:Should lead to possibly great advertisements (3, Insightful)

Theolojin (102108) | more than 5 years ago | (#25238891)

Actually Vista with 4 Gigs of RAM boots pretty quickly. It's once it's up that it is slow.

Microsoft seems to have performed a bit of trickery to make you perceive that Vista boots quickly. The desktop on my wife's Vista laptop appears fairly quickly but it is simply unusable for a couple more minutes. This is different from XP which is fairly usable as soon as (well, shortly after) the desktop appears. It's rather like the desktop is the bootsplash on Vista.

Re:Should lead to possibly great advertisements (5, Insightful)

SilentChris (452960) | more than 5 years ago | (#25238289)

The only issue is that they had to cut some corners to make this work. Axing sendmail? Ok, I understand that (I think was arguing that 10 years ago -- still don't wonder why that's on by default in the desktop distributions). But "The 'done booting' time did not include bringing up the network"? Um, ok... no. With the proliferation of devices solely used to read information from networks (Netbooks, those "quick-loading" Linux apps some laptop manufacturers are including so people can check their email, etc.) accessing the network is one of the main purposes for turning on the machine in the first place. It would royally piss people off to have a quick loading screen, log in and then see "Hold up, still starting up the network". (Just as frustrating as starting a Windows or Mac, getting to the desktop and still waiting while services and programs are loaded).

Come to think of it, what people really need to do is take a good look at modern OSes and determine EXACTLY what still needs to be there and what's cruft. Some of the daemons/services we're launching made sense 15-20 years ago. Does the fax daemon really need to start on my Mac? Does the Group Policy Client need to be started on my Vista box when I'm not on a domain? There's lots of stuff that at one point probably made sense to someone but now is just extraneous.

Re:Should lead to possibly great advertisements (5, Informative)

sofar (317980) | more than 5 years ago | (#25238603)

actually we do bring up the network daemon (either connmand or network manager) as soon as we can, but we don't stop the entire startup process.

on my test system here it runs dhclient about when X starts up and the network card receives a reply with a few seconds from that, long before I can start firefox :)

Re:Should lead to possibly great advertisements (1)

Martin Blank (154261) | more than 5 years ago | (#25238885)

This is what bothers me most about my Linux station. The services mostly load quickly, but come to a screeching halt when the interfaces need to be brought up, jumping into a fast launch sequence once the DHCP address is acquired. I've not understood why service dependencies cannot be mapped and multiple services brought up at one time (which I gather is the goal of projects like this). Windows pulls it off relatively well. On the same hardware, I have Windows XP and Fedora 9 multibooting, and the Fedora boot time is significantly longer than that of Windows.

Re:Should lead to possibly great advertisements (4, Insightful)

schwaang (667808) | more than 5 years ago | (#25238659)

Sendmail's main purpose in the typical Linux desktop configuration (say, Fedora) is delivering logwatch output to root. [Logwatch attempts to distill the important stuff from system log files.]

But sendmail can be started lazily (in the background) so as not to slow the boot. Or sendmail can be replaced with a lighter weight smtp daemon. Truly though, logwatch-by-email should die for non-enterprise desktops. It's so 1980s it just hurts.

IMHO logwatch should be replaced by some kind of graphical notification widget which requires authentication to actually view the details, since they can be sensitive. As it is, I haven't read my logwatch emails in months, but if SMART is complaining about an immanent disk failure I'd *really* like to know.

Re:Should lead to possibly great advertisements (2, Funny)

the_womble (580291) | more than 5 years ago | (#25238883)

if SMART is complaining about an immanent disk failure I'd *really* like to know.

An immanent [askoxford.com] disk? Computers really are getting everywhere.

Re:Should lead to possibly great advertisements (2, Informative)

grasshoppa (657393) | more than 5 years ago | (#25238899)

You still get group policies assigned, whether you are in a domain or not.

So yes. You need the group policy service.

Re:Should lead to possibly great advertisements (4, Informative)

not already in use (972294) | more than 5 years ago | (#25238359)

but if this can be applied generically to most distributions then it should present an excellent opportunity for advertisement.

Not going to happen. If you read the article, you'll see that they compiled all drivers directly into the kernel, so it is essentially an embedded device now. Also consider the fact that they are using a SSD, which is going to decrease boot times regardless of any boot-process improvements.

So basically, you could never apply these speed increases to a generic distro.

Re:Should lead to possibly great advertisements (1)

Cyberax (705495) | more than 5 years ago | (#25238473)

So? I used to run all-static kernels for 10 years, until I got tired of compiling my own kernels and switched to distro-provided kernels.

The article says that you can compile-in drivers for about 95% of commonly used devices and put the rest of them on small initrd.

Without SSD you can get abot 10 seconds for boot. Proably less, considering that you can optimize file layout and read everything in one big request.

Re:Should lead to possibly great advertisements (1)

not already in use (972294) | more than 5 years ago | (#25238549)

RTFA

The kernel has to be built without initrd

Re:Should lead to possibly great advertisements (1)

sofar (317980) | more than 5 years ago | (#25238767)

only for systems with full hard disk encryption enabled. all other systems do not need a hard disk.

Re:Should lead to possibly great advertisements (1)

sofar (317980) | more than 5 years ago | (#25238785)

whoops, I meant to say "do not need an initrd".

lol :)

Re:Should lead to possibly great advertisements (1)

Cyberax (705495) | more than 5 years ago | (#25238829)

RTFA and stop quote-mining:

"The kernel has to be built without initrd, which takes half a second with nothing in it. So all modules required for boot must be built into the kernel. "With a handful of modules you cover 95% of laptops out there," Arjan said. He suggested building an initrd-based image to cover the remaining 5%."

Re:Should lead to possibly great advertisements (3, Interesting)

Anonymous Coward | more than 5 years ago | (#25238483)

Is there any good reason the kernel can't be compiled with device drivers automatically upon installation? Even if drivers change, it can ignore the compiled one in favor of a module, and/or have a "recompile kernel for currently installed devices" button.

I also doubt the SSD is that big of an issue Windows already offers the option of using Flash ram sticks in the same way, and loading boot data sequentially on the fastest portion of the disk is also a viable (and popular) way to boost speeds.

Step 1 is making it specific, Step 2 is making it generic. I can't see any technical reason these changes can't be made generic, it's more a question of difficulty than possibility. Who is going to pay the work to generalize these changes?

Possibly. (1)

khasim (1285) | more than 5 years ago | (#25238489)

I'm running a few Ubuntu boxes and I just "apt-get install powertop" and fired it up.

It found a few items on one of the older boxes and one item on the newer boxes.

So I followed the simple directions "press U to enable USB sleep" or something like that and now the app says that my boxes are waking from idle 5 times a second.

Whether that is good or not ... I have not noticed any increase in performance. But it seems to be applicable to my generic Ubuntu systems.

Re:Should lead to possibly great advertisements (5, Interesting)

sofar (317980) | more than 5 years ago | (#25238497)

says who?

We talked with both the fedora and ubuntu developers at the LPC and even they agreed that a LOT more drivers should be compiled into the kernel instead of being modules (c'mon, ext3 as a module? really?).

99% of what we did to make this work in 5 seconds applies straight for generic laptops and even most people's desktop sytems.

The speedups _still_ are relevant with generic spinning media too. Maybe those are not as fast as SSD's, but the principle is still the same (IOW, for instance reading data in the order that you need it, is better than reading it in the order that it is scattered across the hard disk)

speeding up the kernel to boot in 1 second is TOTALLY applicable to generic distros (not only that, it's relatively easy and we basically already did that).

speeding up X startup to be 1.5s is TOTALLY applicable to generic distros.

Re:Should lead to possibly great advertisements (4, Interesting)

MMC Monster (602931) | more than 5 years ago | (#25238569)

Why not?

How about the first time the system boots, it profiles what drivers are installed. It then recompiles the kernel to include those drivers.

On subsequent reboots, it uses the recompiled kernel and then, once the system is up and running, check to see if something that is compiled in is no longer needed, and see if something has been added that should be compiled in.

I'm sure it's not *that* easy, but maybe an idea for the future?

Re:Should lead to possibly great advertisements (4, Interesting)

ColaMan (37550) | more than 5 years ago | (#25238639)

So basically, you could never apply these speed increases to a generic distro.

Oh come now! Never say never!
You could:

- Boot with modular kernel.
- Probe devices and get a list of loaded modules.
- Recompile kernel with said modules built-in.
- Boot with that kernel from now on.

It's relatively scriptable - in fact, I think there's a "probe loaded modules and generate new .config" script already about the place. If the user is unwilling to wait for a kernel recompile during install, just stick with the modular kernel and incrementally compile during idle time.

It's trivial. I'd code it up myself, but I'm a little busy at the moment, you understand.

Re:Should lead to possibly great advertisements (5, Informative)

sofar (317980) | more than 5 years ago | (#25238815)

we don't even need to recompile the kernel, we can just link the modules in as needed. Something most older UNIX systems actually did.

Re:Should lead to possibly great advertisements (0)

Anonymous Coward | more than 5 years ago | (#25238721)

Actually, I can say Vista boots pretty fast when it's installed on a 15k rpm SCSI drive on a system with 8 gigs of RAM.

Re:Should lead to possibly great advertisements (1)

drijen (919269) | more than 5 years ago | (#25238903)

I fail to see how this is news.
My crux box (www.crux.nu) boots from POST -> KDE in about 6 seconds. That's *usable* desktop, including the time it takes me to type my un and password. My hardware is not exactly new either, so again, I fail to see what is newsworthy here, or why everyone else has such long boot times.

Does it matter? (3, Insightful)

suso (153703) | more than 5 years ago | (#25237923)

I see a lot of comments on the LWN article of people talking about starting services after the user sees the desktop as cheating. However, I ask, does this really all matter. I'm not sure how everyone else uses their computer but I only need to boot my Linux machine about once every 30-60 days. I don't need to dual boot like I did back in say 2002 and comparitively, the amount of time it takes for Linux and X to start up are practically irrelivent. I can imagine laptop users may feel much differently about this, but I thought that was the point of being able to suspend/hibernate.

One thing that worries me is that a focus on ensuring a quick boot at the expense of a potentially less stable system is not a good thing. Fortunately however quick booting is not something that Linux requires, its something that distributions can decide to do or not, which is one of the strengths of the open source/Linux way.

Re:Does it matter? (4, Informative)

Anonymous Coward | more than 5 years ago | (#25237987)

Yes.

Another one word answer. (2)

suso (153703) | more than 5 years ago | (#25238003)

Why?

Re:Another one word answer. (0)

Anonymous Coward | more than 5 years ago | (#25238349)

Personally, I shut down my computer every day and have to boot up. The increases in speed are nice, but I find Fedora already boots fast enough for me. As long as you can keep it stable though I see no harm in speeding things up. (I can't use hibernate, things always get screwed up for some reason, especially with SELinux)

Because. (1)

dfm3 (830843) | more than 5 years ago | (#25238613)

Okay, so I kid. But when your have to wait every morning for your bogged-down workstation to load all sorts of services and client side junk that IT installs on their XP boxes, you get tired of it very quickly. The system is so sluggish and unresponsive for 3-4 minutes after login that I can usually brew a cup of coffee before clicking on the start button actually has any effect. That's 3-4 minutes during which I could be reading Slashdot, er, I mean doing something productive.

There is absolutely no reason why a 3-year-old computer should take 6 minutes from BIOS to the point where I can actually click on a menu item in Firefox and get a response that is not delayed 5+ seconds. I eventually got so annoyed that I partitioned the drive and installed Ubuntu. Just don't tell anyone...

Re:Does it matter? (3, Funny)

pwnies (1034518) | more than 5 years ago | (#25238015)

I'm not sure how everyone else uses their computer but I only need to boot my Linux machine about once every 30-60 days.

Some people like to power down their computers to stop them from wasting energy at night.
How they sleep without the sweet, sweet sound of fans running though leaves me dumbstruck.

Re:Does it matter? (2, Informative)

kailoran (887304) | more than 5 years ago | (#25238091)

Perhaps surprisingly, for some people suspend/hibernation actually works on linux so you can boot rarely while not keeping the machine on 24/7.


I'm one of the less lucky ones that only have half of hibernation working, the "resume" part fails.

Re:Does it matter? (5, Funny)

not already in use (972294) | more than 5 years ago | (#25238381)

How ironic, with all the Vista bashing that tends to go on in threads like these. Vista boots relatively quickly, and hasn't been powered down for me for weeks since suspend/wake works perfectly.

But at least someone, somewhere can boot linux in 5 seconds.

Re:Does it matter? (3, Insightful)

gollito (980620) | more than 5 years ago | (#25238699)

How ironic, with all the Vista bashing that tends to go on in threads like these. Vista boots relatively quickly, and hasn't been powered down for me for weeks since suspend/wake works perfectly. But at least someone, somewhere can boot linux in 5 seconds.

Agreed. The only time I reboot my laptop is after updates/new software install. IMO the power management in Vista is the best I've seen.

Re:Does it matter? (4, Insightful)

arth1 (260657) | more than 5 years ago | (#25238189)

Being able to boot in NN seconds isn't so impressive when you look at the incompatibilities it creates.

On my networks, the servers connect to the DHCP server and get not only an IP back, but also the name of NIS servers, who in turn returns (among other things) autofs maps which are used to mount the home directories as well as providing login authentication. The xdm login window returns a list of currently available X servers.
In other words, there are reasons why things run in the order they run, and any deviation will cause things to stop working.

Improving things are fine, but not when it's at the expense of current and well-known functionality.

Re:Does it matter? (3, Insightful)

chromatic (9471) | more than 5 years ago | (#25238433)

On my networks...

... you can't take advantage of all of these improvements. Why penalize everyone who doesn't use NIS and autofs?

Re:Does it matter? (4, Insightful)

tepples (727027) | more than 5 years ago | (#25238455)

On my networks, the servers connect to the DHCP server and get not only an IP back, but also the name of NIS servers, who in turn returns (among other things) autofs maps which are used to mount the home directories as well as providing login authentication.

What you describe is similar to what Windows calls "domain authentication". Not every computer logs on to a domain, especially in the home or home office environment where a fast boot is paramount.

The xdm login window returns a list of currently available X servers.

Then have it refresh the list whenever a network interface comes up.

Re:Does it matter? (3, Insightful)

sofar (317980) | more than 5 years ago | (#25238539)

so you are saying that you would rather stare at a hung boot in text mode instead of having the possibility of working in offline mode in X?

that does not make sense at all :)

for network-client setups like you describe, we should still start X immediately and if the network fails or is slow, at least provide some interaction with the system (work offline, nudge network with login attempt etc).

Huh? (2, Informative)

Sits (117492) | more than 5 years ago | (#25238749)

I've administrated network authenticated openSUSE machines and they definitely benefited from booting faster (compared to older versions of openSUSE) - after all the sooner the kernel finishes the sooner you can start waiting for that DHCP lease...The key is that the moment someone says they want to run NIS/LDAP/NFS you just say "start everything that doesn't depend on the network while you wait for the network to come up". In your case NIS/NFS/autofs/xdm DO need the network so they have to wait until that DHCP lease is acquired. No functionality need be lost but the dependencies/order of certain events need to be maintained (this is what tools like Upstart [ubuntu.com] are about).

Strangely enough in one of the article's comments [lwn.net] you'll find that Arjan isn't advocating a parallel boot:

Parallel boot is the wrong thing; it ends up meaning that you're not really doing the critical path in sequential order; but let the system get distracted from that.

Asynchronous boot (where you let the critical path go sequential, and non-critical pieces asynchronous) is the right answer; the article has a graph about this. And Asynchronous boot you can do just fine with SysVinit.... no magic about that.

Ultimately I doubt people are advocating all of this work for your typical network workstation. For starters such systems don't tend to be using solid state disks with unattended login...

Re:Does it matter? (1)

mcgrew (92797) | more than 5 years ago | (#25238215)

If you're talking about a server I agree, but for a desktop, well, do you leave any lights on at your house 24/7? I don't. Electricity isn't free, and I don't like contributing to global warming any more than I have to.

TFA showed no indication of the system being less stable. With a machine that boots virtually instantly, why would you NOT shut it off when you're not using it? IMO wastefulness is shameful. You should stop!

Funny, it's usually us geezers who are portrayed in being stuck in your ways. I look forward to an instant-on Linux desktop!

Folding@Home (0, Troll)

Quila (201335) | more than 5 years ago | (#25238469)

Mine stays on 24/7 because I do Folding@Home. Or should I refrain from using energy that can help find cures for disease because our environmental overlords say that's a bad thing?

If I don't fold I use less energy. If I don't fold more people will die since cures won't be found. Fewer people equals less CO2. It's a win-win for our environmental overlords if I don't fold. But it's a win for the human race if I do.

Re:Folding@Home (1)

ketilwaa (1095727) | more than 5 years ago | (#25238695)

I for one welcome our new environmental overlords, however I had no idea that "they" just want people to die. Silly me thought it was about saving the species and the planet.

Re:Folding@Home (1)

nomadic (141991) | more than 5 years ago | (#25238781)

Mine stays on 24/7 because I do Folding@Home. Or should I refrain from using energy that can help find cures for disease because our environmental overlords say that's a bad thing?

Good grief, he said you should turn it off when you're not using it. If you're using it for Folding@Home, you're using it. Why on earth would you choose to misinterpret that so badly? Or was that just an opportunity to take a shot at those awful, awful people who think maybe we shouldn't destroy the environment as quickly as we have been?

ACPI defects (1)

tepples (727027) | more than 5 years ago | (#25238231)

I don't need to dual boot like I did back in say 2002 and comparitively, the amount of time it takes for Linux and X to start up are practically irrelivent. I can imagine laptop users may feel much differently about this, but I thought that was the point of being able to suspend/hibernate.

Unless you end up stuck with a machine whose suspend/hibernate sequence is defective. On various computers running various operating systems, I've had no video, or no audio, or no network, or no mouse after coming out of sleep.

Re:Does it matter? (0)

Anonymous Coward | more than 5 years ago | (#25238307)

I generally boot my system once or twice every day.

Weekdays: Before school, after school.
Weekend: When I wake up.

The boot time is pretty okay. It's not like I'm sitting here getting irritated. But still, fast boot is fun. Gives you a sense of superiority, I guess. :D

Re:Does it matter? (2, Informative)

morgan_greywolf (835522) | more than 5 years ago | (#25238317)

I see a lot of comments on the LWN article of people talking about starting services after the user sees the desktop as cheating.

Funny, but that's exactly how XP and Vista achieve their 'fast' boot times. XP doesn't actually boot much faster than 2000, once you realize that the services are all still loading in the background.

But, yes, it does matter, laptop or not. Most desktop users don't leave their machines on 24x7. Just because you and I do doesn't, at all, mean that is typical usage.

Re:Does it matter? (0)

Anonymous Coward | more than 5 years ago | (#25238405)

I can imagine laptop users may feel much differently about this, but I thought that was the point of being able to suspend/hibernate.

hahahahah, that may be the *point*, but that doesn't mean it works. Hibernate is a joke on my laptop running ubuntu, and not for wont of trying!

Re:Does it matter? (1)

mikael (484) | more than 5 years ago | (#25238477)

Seems like there is market for a fast-boot Linux distro which just install DHCP, network services, an X-server and an E-mail daemon/web browser to read E-mail. Perhaps you could call a thin-client Linux.

Re:Does it matter? (1)

drxenos (573895) | more than 5 years ago | (#25238493)

It was the presenter that stated this, not the comments. It was something they didn't allow in their 5 second boot up. The comments were just, well, commenting on this.

Re:Does it matter? (0)

Anonymous Coward | more than 5 years ago | (#25238629)

Since losing my virginity I stopped caring about long uptimes on my home machine. I power my machine down daily, so the closer to turnkey operation the better the happier I am.

> One thing that worries me is that a focus on ensuring a quick boot at the expense of a potentially less stable system is not a good thing.

Who is saying the system is less stable, even potentially as a tradeoff? Solve technical problems if they come up. Surely having both stability AND a quick boot time is a worthy goal.

Re:Does it matter? (3, Informative)

elmartinos (228710) | more than 5 years ago | (#25238853)

Linux has always tried to be an excellent choice for a very broad range of uses. Just because you do not need fast boots does not nobody else does.

Yeah but... (-1, Troll)

Anonymous Coward | more than 5 years ago | (#25237947)

My Commodore 64 booted many times quicker than that and was probably far more useful.

Re:Yeah but... (4, Interesting)

AKAImBatman (238306) | more than 5 years ago | (#25238077)

ROM was a wonderful thing. Simply flip the switch and the software is already loaded into memory. There was about a second or two of initialization (on a ~1MHz 8-bit processor!) and you were ready to go. It's still possible to create such fast boot times using ROM. Especially with re-flashable ROM. These sorts of boot times are seen in systems like Game Consoles.

Unfortunately, desktop OSes are so complex that using re-flashable ROM adds a great deal of complexity and cost to the design. Thus you aren't likely to see any systems keep their OS in Flash. Compounding the problem is that modern OSes are rarely designed to boot from a ROM configuration and would require substantial changes to boot properly.

Re:Yeah but... (2, Insightful)

Anonymous Coward | more than 5 years ago | (#25238333)

desktop OSes are so complex that using re-flashable ROM adds a great deal of complexity and cost to the design.

Flash is almost dirt cheap. $10 buys you more Flash memory than most systems have RAM. Just save the state of a freshly booted OS in Flash and when the computer starts, load just what you need to access flash and handle page faults, then start as if you've already loaded everything into RAM and start copying from Flash to RAM. Whenever a page fault occurs, load that page from Flash next. This way you don't need to wait until everything is copied to RAM.

Re:Yeah but... (1)

east coast (590680) | more than 5 years ago | (#25238101)

My Commodore 64 booted many times quicker than that and was probably far more useful.

Well, it did run the popular games of it's day...

Sometimes I become nostalgic for the days of the C=64 and think about getting back into it all again with some of the groups that are still out there but I stop and catch myself, do I really want to waste all those hours writing demo code for the 120 people who are likely to ever see it?

Re:Yeah but... (1)

R2.0 (532027) | more than 5 years ago | (#25238545)

"do I really want to waste all those hours writing demo code for the 120 people who are likely to ever see it?"

You'd be in good company if the number and statistics of projects on SourceForge is any indication.

The U.S. Has Collapsed (-1, Troll)

Anonymous Coward | more than 5 years ago | (#25237955)

Your criminals-in-Congress have simply decided NOT to announce it for fear the revolution WILL be televised.

To paraphrase Jim Press
{
"The credit window is closed."
Jim Press, president of Chrysler LLC
}

Chrysler is closed.

About time and good riddance.

Cordially,

ÐsÐÐÐÐ¾Ñ ÐÑÐÑfÑ

So is anyone making a distro around these ideas? (1)

CrAlt (3208) | more than 5 years ago | (#25238007)

I use a 700Mhz T20 think pad with ubuntu on it. It works great but it is SLOW.

Is anyone working on a high speed distro based around these tools and ideas that might help me out?

I do not want to invest in a new laptop because this is for work. Chances of it getting stolen or dropped are high.

Re:So is anyone making a distro around these ideas (1, Informative)

Anonymous Coward | more than 5 years ago | (#25238271)

You don't want something heavy like Ubuntu on that thing.

Re:So is anyone making a distro around these ideas (2, Informative)

Aggrajag (716041) | more than 5 years ago | (#25238363)

You should try one of the distros meant for older computers:

TinyME [tinymelinux.com] (my favorite) which is based on PCLinuxOS which is based on Mandriva
Vectorlinux [vectorlinux.com] based on Slackware

Mepis [mepis.org] based on Debian

Or just sudo apt-get xubuntu-desktop

Re:So is anyone making a distro around these ideas (1)

snl2587 (1177409) | more than 5 years ago | (#25238371)

Have you tried Xubuntu or a different windowing manager? That could be a start.

Re:So is anyone making a distro around these ideas (1)

element-o.p. (939033) | more than 5 years ago | (#25238917)

Exactly. I haven't used any of the Ubuntu variants (yet) so YMMV, but I have Slack running on a 700MHz Celeron desktop at home. KDE and Gnome were very slow, so I installed BlackBox and have been very happy ever since.

Much needed! (1)

SkankinMonkey (528381) | more than 5 years ago | (#25238037)

I'd love to see linux in general have better boot times. My install of ubuntu on my PC takes about 2.5 minutes while XP is up and running in about 1.5. On my laptop it's the reverse (windows taking forever, opensuse being relatively quick). As far as 'cheating' by loading services at the login screen, GO FOR IT! It's not cheating if it's making things better for the user, it's called being more efficient.

Re:Much needed! (1)

X0563511 (793323) | more than 5 years ago | (#25238291)

Personally I don't care for boot times as long as they are not huge. As a matter of fact, my system halts mid-boot awaiting a passphrase to access the rest of the drive.

Stability is more important to me. Why does a 10 minute boot matter if I have to reboot once in two weeks, and that only because I need to unplug the box to clean?

Linuxcare? (0)

Anonymous Coward | more than 5 years ago | (#25238039)

I somehow doubt they were involved since they went out of business six months ago [wikipedia.org] .

Re:Linuxcare? (0)

Anonymous Coward | more than 5 years ago | (#25238143)

I somehow doubt they were involved since they went out of business six months ago.

What?! You mean Ceren [secnetix.de] doesn't work there any more?

TFA (4, Interesting)

mcgrew (92797) | more than 5 years ago | (#25238115)

And no cheating. "Done booting means CPU and disk idle," Arjan said. No fair putting up the desktop while still starting services behind the scenes. (An audience member pointed out that Microsoft does this.) The "done booting" time did not include bringing up the network, but did include starting NetworkManager.

It seems to me that the five seconds could concievably be brought down to virtually zero with cheating! My work PC slows down so much sometimes from antivirus, inventory controls, etc that it takes longer than that to add a record or open a table in an Access database. With a keyboard buffer you could stick a fake desktop and login in, and have the real desktop and login take over before the user finished typing in his password.

Re:TFA (2, Funny)

Dan667 (564390) | more than 5 years ago | (#25238279)

Your problem may be using Access as a database. Ouch.

Re:TFA (1)

mcgrew (92797) | more than 5 years ago | (#25238395)

I agree, I absolutely HATE Access. I rather liked dBase, didn't have any problem at all with Foxpro, and absolutely loved NOMAD. But as to NOMAN, I'm not sure they even have a mainframe any more. I wonder of there's a PC NOMAD?

At least I'm not forced to use a spreadsheet as a database.

Re:TFA (4, Interesting)

Shikaku (1129753) | more than 5 years ago | (#25238327)

Yes, please. More common users would benefit from this greatly. I would love a prompt for user and password while it is booting, because most users do not leave their computer all day, especially laptop and handheld/UMPC users.

With desktop computers, I really think that the time it takes to boot into Ubuntu, THEN going into a Gnome prompt, THEN loading the services and desktop is a silly idea.

Tasty Chocolate (1)

Kashell (896893) | more than 5 years ago | (#25238123)

1. 5 second booting Linux partition with a few basic programs. 2. ??? 3. TASTY CHOCOLATE

On an old Pentium III laptop... (5, Funny)

mikael (484) | more than 5 years ago | (#25238129)

My stepfather still has an old Pentium III laptop with Windows 95 running on it. Booting the laptop to read an E-mail takes around 20 minutes. His advice to anyone who wants to use it, "switch on the PC, do something else like have a bath, do the lawn, read the newspaper, or have a coffee, and the PC will be ready to use before you know it".

Re:On an old Pentium III laptop... (2, Insightful)

baka_toroi (1194359) | more than 5 years ago | (#25238515)

Man, WTF? I used to use Windows 95 on a 486 with 16 MB and it didn't take nearly as much as that. It should be blazing fast on a Pentium III.

Get a new harddrive (1)

KalvinB (205500) | more than 5 years ago | (#25238595)

I find that if a PC is dragging its feet it's either a memory or harddrive problem. I was doing some development on a 1.7Ghz system with a really old 40GB drive and it took forever to get the program loaded. I popped in a brand new harddrive and the program loads in a few seconds. The problem was largely getting information from the disk.

If you decide to just get rid of the laptop, get an external enclosure and use the drive as a backup drive for any other system.

If you've got less than 128MB of ram you may want to upgrade. Win95 doesn't need it but you apps might. Not enough physical ram can lead to increased drive usage which results in your drive starting to perform poorly.

Or, you could just be a good stepchild and spring for the $200-$400 for a new computer (either parts or prebuilt) for your stepdad for Christmas.

Re:On an old Pentium III laptop... (0)

Anonymous Coward | more than 5 years ago | (#25238667)

I have a Pentium II 300 laptop, with Windows 98 and it takes about 18 seconds to boot from start to finish, and the battery still lasts for at least a 1/2 hour.

Linux has made extraordinary strides (1)

Gizzmonic (412910) | more than 5 years ago | (#25238175)

At first glance, it seems like a strange thing to focus on. Boot time? But after you ruminate on it for awhile, you realize that people just assume a long boot time (especially Mac users-LOL).

Obviously, it shouldn't be something that takes top priority, like support for 3D accelerated graphics cards, but it is something that can enhance everyday use for everyday users! Now, if only they could get the keyboard numpad and the phone numpad to face the same direction!

Re:Linux has made extraordinary strides (1)

Culture20 (968837) | more than 5 years ago | (#25238661)

But after you ruminate on it for awhile, you realize that people just assume a long boot time

I still get surprised when my gaming rig boots up in 8-9 seconds, and it's using RAID0 on four drives (with frequent off-system backups of saved games). Having an OS ready with a login prompt at five seconds would make it seem blazing fast.

In case Oreilly goes down again... (4, Informative)

pwnies (1034518) | more than 5 years ago | (#25238217)

...here's the text from the oreilly article:

O'Reilly News recently interviewed Arjan van de Ven [fenrus.org] about his efforts to improve Linux performance and reduce power consumption. Arjan works for Intel in the Open Source Technology Center [intel.com] . This interview is approximately 30 minutes.

One of the projects you're probably most known for in the past couple of years is the PowerTOP [lesswatts.org] utility, which I found very fascinating. Looking at some of the gains you've made over the past 18 months, it seems like Linux-based devices are saving a lot more power than they used to. What do you consider the big successes in the past year and a half?

To be honest we fixed effectively the entire Linux desktop space. It's not--PowerTOP is more--it's not just what we fixed with PowerTOP is not individual pieces. We fixed everything. For me that was a success.

Is that everything in terms of not just desktop but servers as well?

Yeah; we fixed not just Evolution. We fixed Firefox; the thing with Firefox was that it wasn't one thing that was broken. Everything had problems and we had to fix all of it. So for me the success was how quickly everything got fixed; it was just amazing.

In this context you consider fixed--everything is no longer broken in the same way or--?

Everything is no longer keeping the CPU out of idle basically.

Do you have a reference machine? I guess I'm asking what's your benchmark for this, a particular software configuration stack or particular type of machine, or are you willing to say it's pretty much every Linux based machine out there?

I'm looking at several machines--my own laptop but to be honest, what runs on my own laptop is what I care about most. At least that's where I got more battery life, this is where I see the changes. I tend to run a quite rich environment on my laptop but I also look at service. We look at all kinds of machines and we see the same trend everywhere in that all the various pieces of it--never polling or keeping the CPU up. They all got fixed.

In fixing this, is there a component of education, for example, saying "Instead of doing a busy wait on a select loop or continually polling you should set a kernel timer and wait for that to call you"?

That's part of it but the biggest thing is that you had no visibility. Just two days ago at IDF I spoke with a developer of the GNOME desktop and he said, yeah; when I saw it happen I fixed it in 10 minutes, but you don't know it's there until you see it from PowerTOP. Adding the visibility turns out to be enough for people to start fixing it. They know how to fix--how to not poll most of the time.

You can't fix something you can't measure.

If you don't see that it happens you don't know it happens and you can't fix it.

Are you getting the same sort of results from other projects you run into?

GNOME was there but it's almost everybody goes oh yeah; we should have not done that; either they fix it themselves or some--a lot of people give them the fix and in general it's like oh yeah; we shouldn't have done that. Unless you see what's happening you don't know what to fix, so the biggest thing that PowerTOP did was add visibility. We can see under the hood what's going on and then we can fix it. And quite often the fix is very simple.

It sounds then, maybe I should be able to say that just about everybody is happy to see this. Is that the case?

Yes; people--all the developers I've worked with--and that's quite a few--they all go oh yeah. Thank you for the fix; we should have no problems in the first place. We didn't know this; it's fixed now. In the beginning I did most of the fixing when PowerTOP was very new and now days the people do it themselves. The developers learn this while they're developing. So I don't even have to--it's at a point where I don't have to fix stuff anymore; everybody is using it and they fix it for me. That's not the right way to say it but they fix their own technology.

Right; and instead of you saying here is a problem in software someone else wrote, here is my suggestion on how to fix it. That knowledge is now in the community and the people can fix their own stuff before they even release it.

Yeah; exactly. If I don't have to chase them they pay attention from the start, which is of course the right way.

Do you know if any proprietary software developers are doing the same thing?

I don't know; I don't see their software. I suspect some of them do and I know some of them don't. The people--the components that are left that are known problematic are those proprietary components.

As usual when talking about the Linux kernel right?

Not just kernels; all of it is user space and I don't want to single people out here. That's not so nice but the pieces that are problematic tend to be the proprietary ones because I can't fix them, right. You can't fix them, so some of them got fixed and some of them didn't; does that make sense?

That definitely makes sense--absolutely.

But even those guys are sometimes looking at it.

Right; I was just kind of curious if you had traffic on the mailing list or patches coming in.

What I see is--how to put it--users go to their proprietary vendors and yell at them. The users are putting pressure on whoever gave them the source to fix it or get them binaries to fix it.

Because it's visible now--oh this, this Oracle client is waking up my kernel 100 times a second and I don't like that.

Yeah.

I see.

Part of it is not just for developers; it's also for users and the users will pressure their software vendors.

Right; I use primarily GNU/Linux based desktop applications and I know you do as well. But a lot of the software we're talking about--GNOME, Firefox, these are cross-platforms applications. I'm wondering, do these fixes affect other platforms positively, negatively, no effect?

In general positively; most of the stuff you find is just bad programming but in fact you fix it usually also improves performance because all the systems all the time, you consume CPU power--not just power but also CPU cycles and by fixing it you stop processing cycles so they're available for something else, and that's independent of what you OS you run. For Firefox that applies to everything, all OSes. Even if you don't care about power you still save CPU cycles, not always a lot but still it adds up because you schedule, you do a context switch, you flush your TLBs, just to do nothing and it does add up. I don't have the numbers for operating systems that--but conceptually it's an improvement.

Right; I was thinking about specific interfaces--kpoll; epoll for example--differences between BSDs and Linux.

All of pieces of problem so much; those guys are--epoll; kpoll are all tricks to deal with high frequency events and then deal with the request like a web server. The polling you're talking about adheres to the application and just keeps asking is there anything yet--is there anything yet, so it's kind of orthogonal all to those guys. Any polling loop in the user application--no matter what actual polling mechanism is used that's sort of independent of that. It's the fact that they look every 10 milliseconds to see if something happened; that's what hurts--not what mechanism they use.

Did you get more response from users or from Linux distributions or application developers?

A lot of users were helping because if you give people more battery life, that's what people care about a lot. Distributions also use it because they compete almost on battery life. They compete on usability and battery life is just part of usability; that's the thing that PowerTOP has done is put that more on the radar--that software matters for battery life. That does--if you don't fix it you consume through battery life and there's a difference between OSes on that. I know Fedora used to sort of--they sort of were the front-runner in this; so for a while Fedora was--used less power than the other guy. For them to at least not go behind the other guy--to the other people.

In that case Fedora might be willing to apply a patch to Pidgin or to Firefox to consume fewer resources even if that patch isn't necessarily upstream yet.

Quite often the patches were upstream. It's just a matter of putting them--back-porting them to whatever they had.

Right; well I know I had certain frustrations with my laptop. In particular I didn't have the force HPET patch which I really, really wanted and I was waiting for upstream to get that out.

All the patches took a little bit longer but in a three to six-month time window, all the important pieces fell into place, but yes, force HPET was a painful one because you had to go to the kernel and it's using hardware in a way that's not really meant to be used, and we had to work around BIOS issues and stuff, so it took a while to stabilize that, but I have to say some of the distros were very good about staying on top of the latest pieces, others took a bit more time. But that's okay; some of them--distros thankfully we have the diversity Linux, right?

Again, if users are pushing on this very little prevents a user from compiling a custom kernel or building his or her own version of Firefox.

Or pushing distros to do it anyway.

Or even contributing third-party packages to other users.

The good news--it's almost quiet now because everybody knows it's sort of almost last year stuff. Most of the server-side people keep track of that it doesn't get worse. I run PowerTOP every other week or so just to see that it didn't go backwards. Every once in a while we have new things to PowerTOP but on the software side we fix most of this. It's very, very fast, like three to six months and most of them fixed it.

Right; it seems like all the releases that came out this year, the distribution releases are so much better than last year's. It's just amazing. Do you consider this mostly a finished product then or a finished project?

We are looking at expanding it a little bit but the software--the wakeups part of it is I think finished. And now it's a matter of making sure we don't go back. The second thing we're trying to do with PowerTOP is making it a sort of a check tool. If you have a mode that can run on a system that says okay you have this feature, you have this feature; oops you missed this part. This way you can look up here what you want to do and then you can make it work. Make it very specific for like system integrator; they can only check to see if anything is missing and if anything is missing it should give--we'll give information of how to fix it. It's almost like--it almost becomes a QA team rather than a developer tool.

It's just a way to profile your code along another dimension.

Yeah; it will make it more suitable for validation teams basically. We started for the developer. Now that everything is fixed we have to have the QA team run it. Think of it that way.

You can say okay, in this past week we've gone from one wake-up per second to ten wake-ups per second. Let's trace it back to whichever patch did that.

Yeah; and also oh and this tunable we are not longer setting the right way or we have this driver on the desk--we have the old version of the driver. We should have had a new version. The focus is shifting a little bit but I think that's good; it means that all of the stuff is done and we just have to sustain it and make it something that the QA team can use.

Then it's not the case that you've solved the easy parts and the hard parts are remaining?

Right. I think we solved most of the pieces.

Let's talk a little bit about LatencyTOP then because I've seen that come out recently--for various values of recently--and it seems like that's a more interesting product. Latency is a little harder to understand because there is so many move moving parts.

It's also a different focus but PowerTOP was very focused on users as well. LatencyTOP is very, very much on the developer, which makes the audience a little smaller.

I've seen for years and years and years the Low Latency Patch Set aimed at people who are doing media development, audio development with the Linux kernel. I know that that's a concern but are there other projects or other focuses?

Well it's--different types of Latency and everybody knew how the Low Latency Patches worked. The problem with them--those patches is they show latency for when the CPU is running right; Process A is running and the time between that and then Process B gets to run that's the latency that Low Latency Patches touch. What LatencyTOP tries to attack is sort of a compliment to that; it is the time that the process is not running but waiting for something. We didn't have tools for--to measure that part; we had tools to measure the other part and the Low Latency guys, Ingo, went all the way. The Real Time Patch is basically the ultimate Low Latency Patch. But it's only for one that when the CPU is running but that's only half the story. If I look at my desktop all the stutters ] and what people think is a Latency problem are not when the CPU was busy because my CPU--I have a fast Tamarin CPU on my laptop. It's when my disk is doing something or I'm waiting for a lock or I'm waiting for DNS or something.

You're not CPU bound in other words?

I'm not CPU bound at all and I'm still having stutters. I still have what you would call latency problems. The visibility in what's going on was missing from--my laptop was stuttering. I have a pretty fancy laptop lately; I bought a new one a few months ago, fast CPU, lots of memory, nice screen and once in a while it was just slow. I wanted to know why it's slow. I see my disk light going or something like that but I don't see what is going on. That's what inspired me to make LatencyTOP to see what's going on. Why are we waiting? What are we waiting? Who is waiting? What's it doing when it's waiting, right? That sort of questions. LatencyTOP was designed for that question. So what's my application doing that causes my system to be slow--to sort of stutter. That's the misconception a lot of people have about preemption and about real-time. It doesn't help with that because you're not busy--the CPU. In fact, Linux, even without pre-emption and without real time patches for the desk top--it's more than good enough because the latencies that Linux has even with all those patches are so small it doesn't matter--on the CPU side but in the non-CPU use case that's where you hit the problems.

That's what you were not able to measure until LatencyTOP?

That's why--I need to find--I wanted to see what's going on on my system. Who is waiting; what it's doing when it's waiting and the next time then is okay can we fix that--for developers.

Were there specific patches for the kernel or development in the kernel that you needed to be able to trace these things like the tickless kernel for PowerTOP?

There's a very small patch due to the kernel for LatencyTOP, but it's in the mainline ] kernel since 25 I think or maybe 24; it's been a while but it's a very small patch. That gives me the information I have--that basically I need to expose the information that the new CFS scheduler collects. The new CFS scheduler has the infrastructure to collect the data; it just needs to sort of measure them and then expose it, and I wrote a patch for that and then I wrote the tools for--to use it.

You make it sound so easy. Have you started seeing results from that as well?

A little bit; people use it for diagnostic mostly. I'm going to be using it in the next four to six--twelve months just to nail down some of the issues in the IO scheduler, to show me at least that the IO scheduler needs a bit of work. CFQ that Jens Axboe wrote is very nice but it's other pieces of the IOS tag that actually are not working well yet. There's a glass jaw in there that sort of everything works fine at some point; you hit the wall and everything collapses.

I've noticed that as well when I do a large parallel make for example up to about nine processes and then I do a processor box--it's fine but beyond that, you're bogged down in disk IO.

Well that is because that you're into a limit of the hardware that somehow it could--it degrades at some point because I'm seeing it on my laptop already. At some point if my middle line just starts writing out the middle it just stops for a second so there is [something] that I want to chase down.

Do you think that's mostly at the kernel level?

I think that one is a kernel level.

That sounds more difficult to me in some ways to change than teaching people how not to write bugs in their applications.

I'm mostly a kernel developer so I know how to fix those.

You have probably more access to fix it in one spot than if it were in hundreds of spots and hundreds of applications.

Yeah; I suspect it's only one or two places I have to fix up, so in a way it's easy compared to what we had to do with PowerTOP.

Do you think there are also latency problems in applications?

It's not so much that as it is that applications do things that make the kernel do expensive latency things.

Is that because the kernel is mostly tuned for a specific type of workload?

Well no; the current does what the application asks. If the application asks "send your entire cache to disk" the kernel will be happy to do that. The application will have to wait for my four gigabytes of data to hit my SATA disk, but the application has stopped, so you might have to fix applications to not do that sort of thing.

Like the fsync bug in Firefox for example?

Exactly. LatencyTOP would point that out. Actually I thought that happened with Firefox. The RPM program has the same problem. If you run, while you're doing your upgrade, LatencyTOP it's going to be fsync. That's the kind of things we can use LatencyTOP to nail down and at least see what happens because it is sometimes harder. The PowerTOP things were easy to fix; some of the LatencyTOP things are going to be harder to fix.

Do you think then there's not one specific type of error pattern like you see with PowerTOP?

Yeah; it's more of a--for example the Firefox fsync problem they really wanted fsync. But also PowerTOP the people didn't want to poll; they just wanted the easiest lazy way to do it temporarily and fix it later.

Right; and no one ever said this is a problem so let's fix it.

The code is been onto--they made a quick implementation and never go back to it. This--the Firefox people really wanted fsync except that it was--the effect of it was bad, but perceptually it's not a stupid thing to do. It just takes a while, so it's a harder type of work because you had to re-architect your system to not need fsync.

Is that the type of bug where it's not a problem if your hard disk size is 30 or 40 megabytes but when your hard disk size is 80 or 100 or 250 gigabytes then it's more of a problem?

It deals more with the number of applications running, the--sort of the size of that desktop. Five or ten years ago there was only one application that was a little simpler. The complexity of the--the modern desktop is getting a little bigger which means there's more IO, there's more stuff in progress. And fsync is basically an enormous glass jaw; everything has to go through a little straw during that. And the straw is the same size as 10 years ago except it's just so much more going on.

That's--that's interesting because it reminds me in some way of what I think I heard with Ted T'so a couple years ago where he said fsck is dead because hard disks are too large.

The good news is that there's SSDs. Intel announced one days ago; they sold some of this because they're just an order of magnitude faster. Well it's not solving it; they hide it for a bit longer let's put it that way.

Just delaying the problem.

The LatencyTOP and we used to see the problems and fix them. They will still be there with SSDs; just you will only hit them three years later again.

Right; you cut it in half.

Instead of 100 milliseconds you go to five milliseconds. You don't perceive it as much but it's still there, because it scales with the size of the application three years from now when a desktop is even bigger, more things are going on, you still hit the wall--I think. Looking into the future is hard.

That makes sense to me as well. That's what I would expect.

So fixing things now--fixing things like an fsync. Again some of it is kernel level but some of the app stuff you just have to fix and Firefox got kind of fixed. RPM still needs fixing and there's--there's a few others like that. This is the kind of thing that we can find with LatencyTOP.

Are you having as much success as you did with PowerTOP, or in some ways is it more difficult?

It's a lot more arduous and it's a lot harder to fix--into the success it's a lot less and if you measure success by the number of people using it it's a little less because the audience by definition is a little smaller. i never intended LatencyTOP to be as big as PowerTOP because it's really for a few developers who need to nail down a complex problem, like the Firefox one. I don't think they used LatencyTOP; they should have because then it would have been immediately obvious.

I think the person who found it did, if I remember at the LWN discussion correctly.

Could have been; I don't remember exactly. But that's the kind of thing it's for; it's more a targeted tool.

Once you see you're having a problem, use this tool to figure out where it is.

Yeah; and everybody has a power problem.

Is this just something that Intel pays you to sit around and think up?

That's part of my job; I do a whole bunch of things.

Are you looking at other measurement profiling tools for other things, disk IO? I guess LatencyTOP kind of gets in there, but....

Yeah; one of the things I did recently was kerneloops.org [kerneloops.org] . It's a kernel--it's a measurement for the quality of the kernel--not the behavior of the kernel. Tracking kernel oopses, finding out which crashes are popular that we can prove the quality of the kernel; that's one thing I've been doing the last few months. Going forward I'm working on boot time right now.

Which I'd love to see improve.

At the Plumbers Conference [linuxplumbersconf.org] in September I'll be showing with some of my co-workers an Netbook booting in five seconds to a full UI.

I might just catch that talk then.

I'm not going to tell you how I'm doing that yet, [Laughs]; that's for the Plumbers Conference but I will be talking about a five-second boot and I'll show people. You have--

You have commodity hardware?

This is on the Asus Eee PC. We have it working; we boot in five seconds.

I think the OpenMoko folks would want to see that as well.

I'm already getting a lot of people thinking--just give a sneak peek. You can wait a few. Come to Plumbers if you want to see it. That's when I give the presentation; that's why we're launching--that's what I'm doing now and yes, you're right. I want to see it improve everywhere. If you can--if you read the abstract of my talk at Plumbers I don't--I do not accept that it should take a minute to boot my laptop. I have a really fast laptop; it has lots of memory. It shouldn't be--take a minute. I can--I'll accept five seconds. I do not want to accept more than five seconds.

Right; there is no reason you should have to go get a cup of coffee or tea every time you want to resume from hibernate or whatever.

Or just boot.

We do not accept that it takes more than five seconds and then we started making that happen. The Netbooks are nice because they have a small SSD; that solved some of the problems but causes other ones. Five seconds for me was like this should not take more than five seconds and it doesn't if you actually work on it. There's one downside to that kind of thing; my normal laptop now feels really slow. There's this fast CPU with four gigabytes memory; it's about three months old or something like that. It feels slow compared to the Netbook because it boots in a minute.

Wow.

One of the things I'm going to do next is also port the technology to my laptop.

That will help it spread to more people.

I'm hoping to achieve with my Plumbers presentation that distribution vendors will start working with it and actually take it seriously.

I have some suspicions of things you can do but mine are probably just cut the boot time in half and not get it down to five seconds.

That's the thing. A lot of people spend time on this and they make it go faster. Let's do parallel stuff or let's do this or that.

Or let's reduce the number of stats you have to do to initialize the system or something like that.

If--what we found is then they go from like 50 seconds to 45 seconds. Great; good progress. I want to be a five. It's a mindset thing almost; I want to be at five. I am at five right now so I'm happy about that. That's for me the next step in making Linux more usable--boot in five maybe ten seconds. If you don't have an SSD it's going to take you a little bit longer but it shouldn't be a minute; it shouldn't be 20 seconds. It should be five. It bugged me. Let's put it that way.

I hate how my laptop takes a minute to boot.

I think also people notice that if their boot time can get cut even 20-percent of what it is right now they'll start noticing.

Let's put it this way; I'll switch distros--I'll switch distros right away if someone else is five seconds. For me that's a reason to switch to whatever distros has five seconds for my laptop--even more than power almost.

Really?

Power is important; we fixed it last year. Everybody has now done power; for me boot time is next. If one distros takes a minute and the other one takes five seconds--guess what--guess which I'll pick right.

That's a compelling reason for you to switch?

That is more than enough for me to switch. If it's seven to five--different story. From a minute to five seconds I'll switch. It's one of those things that make it--the machine usable because I don't want to go into the office 10 minutes early so that I can--before the meeting, so that I can call in after 10 minutes.

Or fiddle with the projector for five minutes or--?

Yeah; there's a bunch of things. If I have a meeting at 8:00 a.m. I want to be in the office at 7:59, because those 10 minutes I can sleep longer right.

Exactly.

Or I can do other things--that sort of thing; if I have to wait 10 minutes just sitting there waiting for my phone number to come up so that I can call the meeting that's irritating.

Or you're on the MAX [tri-met.org] or you're in an airplane and you have a great idea and you pull open your laptop and in 10 seconds you can be typing your idea or waiting a minute; yeah. That's a compelling idea.

Or say I want to look something up on the Internet, if that takes five seconds I can look it up right away. If it takes 10 minutes, five minutes, two minutes....

It's going to have to be really something you want to look up.

I wouldn't bother, because it's going to be minutes. Minutes--now never mind.

In terms of desktop side from people who aren't developers like me, or who aren't kernel developers like you, what do you consider the next steps in making the free desktop more usable for everyone?

The boot time is one. Suspend/resume working, suspend to RAM working very reliably, that's another one, and it's not working too bad. If you look at what Acer or Asus or those guys put into Netbooks, that is really slick and anybody can use it. It's not an application usability problem. Five years ago, they said nobody has applications; it's hard to use. That's solved. If you look Asus, Acer, all the Netbook guys, there's no problem there. They're not perfect, but for me things like boot time, like power, like suspend/resume, there's still a bunch of work to be done there. UI Usability is moving so fast I--if I mention it a year from now people will laugh and say yeah, we solved it. There's a few changes happening; the Netbooks are different than laptops.

That's a good point because we're talking about a new market that didn't exist two years ago.

Yeah; screens are smaller, some of them may or may not have touch screens; if I look at the news announcements. Some of the usage is going to be different. If you have a touch screen like a Netbook, they have touch screens, some of them do. The touch paradigm will change along with applications. I'm not going to say iPhone but if you look at traditional phone versus the iPhone touch changes the rules.

Especially multi-touch.

Multi-touch for sure--specifically. Multi-touch is just doing touch right. That's changing the entire interaction paradigm, so I think the next year or two you'll see a little development around the new interaction paradigm, and speech could be one of the other ones, some of the other interaction paradigms.

Now we're predicting the future we've been predicting for 20 years right?

I'm not someone who looks at tea leaves and says this will happen, but if you look at where the next frontier is I suspect it's interaction paradigm.

I guess that's a question for Keith [Packard] who is sitting right next to you right?

Oh, he sits one row over, but that--that's just half of it but only half. The other half is you--at the application level right; how do you deal with not having a keyboard or using a keyboard as little as you can and getting the most out of touch? Infrastructure but also application--and I'm not sure I'm going to be involved in that as much, but that's where I think a lot of the next steps are.

The idea of taking away my keyboard scares me too.

I think there are always going to be keyboards.

We have to write software right?

Not just that; it's also the fastest way to get more than a few characters into the computer. Even my cell phone has a keyboard. Everybody's Blackberry will have a keyboard. People who text on the low end consumer phones that they hit five three times to get an E--that doesn't work. Cell phones are getting keyboards. For some applications, keyboard is the right thing. If you enter a bunch of text--even text messages or emails--keyboard is probably the right thing. For other things like media playback, if I want to hit my media player and just start playing I will. Web browsing, most of it is not tapping--to be able to type stuff if I have to but not otherwise. We'll see. It's going to be a lot of research, a lot of instrumentation, a lot of development; some of it will succeed, some of it will fail.

That's why we have an open development process.

It's evolutionary. The strong guys--the good stuff survives.

We hope anyway.

It mostly does. If it's really good it will survive. If it's only five-percent better maybe not but if it's five times better it will survive.

Yeah; five times better people notice.

Transcript provided by Shelley Chance t/a Pro.Docs

Let's head some comments off (4, Interesting)

Sits (117492) | more than 5 years ago | (#25238219)

This is effectively related to an earlier Slashdot story about the changes Mandriva are making to speed up boot on their distro [slashdot.org]

In an attempt to head off the inevitable here's a link straight to the existing
Interesting but how useful, really? thread (Yes! No! I have a Mac! I use suspend! I use hibernate! Suspend is broken for me! Hibernate is broken for me! Hibernate takes too long with 500Mbytes! Why do Linux people always say change your habits? Etc.)

What I really want to know is what can be done about usb-storage and pciehp (PCI Express hotplug). I have an EeePC 900 using a kernel with Arjan's fastboot patches [lkml.org] and with USB entirely disabled and pciehp turned off the kernel mounts the root filesystem in just over one second. With USB on and pciehp in use it's over 5 seconds....

Finally here's a link to Arjan's slides from the presentation about 5 second boot in PowerPoint format [fenrus.org] and a YouTube video of the 5 second boot on an EeePC 901 [youtube.com] .

Re:Let's head some comments off (4, Informative)

sofar (317980) | more than 5 years ago | (#25238379)

We've sent a patch to Greg KH making USB initialization go in parallel which reduces usb initialization from [N * 0.1] seconds (where N is the number of usb ports in your system to [0.1]. This patch is currently in linux-next afaik.

I'm wondering why you would even have PCIe HP turned on on an asus 900 :)

Good for "appliance boxes" (4, Interesting)

russotto (537200) | more than 5 years ago | (#25238229)

I'd love for my MythTV box to boot faster. Since it's not silent (though the TV fans are louder, the TV isn't always on either), I leave it turned off, and the long boot time makes it less appliance-like.

Boots in 5 seconds... (1, Troll)

Thelasko (1196535) | more than 5 years ago | (#25238321)

rooted in 10.

Speed is great and all, but is it secure?

Re:Boots in 5 seconds... (4, Informative)

sofar (317980) | more than 5 years ago | (#25238633)

it's just a normal linux distro. for the demo we used an auto-login but you can have it start to a password screen as well, so it's just as secure as your base distro is....

FTFA "The question is 'make boot fast'." (0)

Anonymous Coward | more than 5 years ago | (#25238499)

English no understand?!

Important details I'm not seeing (4, Interesting)

techno-vampire (666512) | more than 5 years ago | (#25238575)

Note that nowhere in the article is there any mention of the processor, its speed or the number of cores. There's also not one word about how much RAM the machine has. With enough RAM, you can load your entire system into a RAMdisk and even if you don't have SSM access time becomes (effectively) zero. Also, of course, a 2Ghz quad core machine is going to boot faster than a 1 Ghz single core. I'm not saying they're cheating or anything, but these specs are something you need in order to evaluate what they've done, and they're not telling us.

Re:Important details I'm not seeing (0)

Anonymous Coward | more than 5 years ago | (#25238683)

They did the 5 second boot on off-the-shelf "netbook" computers ... an eeePC and an Asus IIRC. So, no they didn't have blindingly fast cpus or boatloads of RAM. They did have SSD as the boot disk.

Is X the right tool for the job? (1)

91degrees (207121) | more than 5 years ago | (#25238841)

I have to wonder about all the video stuff. Why can't you set the video mode in the kernel? Is X really the best solution? It always struck me as a little heavyweight for what it is (as far as I can see, a windowing system is essentially a reentrant API for drawing text and overlapping boxes). For most peoples needs I'm sure you could trim it down a lot and maintain all of the functionality that 99% of users expect.

Another thing I'm curious about is whether initrd might make sense if running using disks rather than flash.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...