Beta
×

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!

Nailing the Cause of Recent Linux Power Issues

timothy posted more than 3 years ago | from the building-a-better-eyeball dept.

Intel 156

An anonymous reader writes "For the Linux kernel power regressions that were found a few months ago, and hit in Ubuntu 11.04, Phoronix has found the regression that's still present in the Linux 3.0 kernel. The power regression is caused by a change in ASPM, the Active-State Power Management, for PCI Express support."

cancel ×

156 comments

Sorry! There are no comments related to the filter you selected.

No more Moronix, please! (-1)

Anonymous Coward | more than 3 years ago | (#36581676)

Can we have a moratorium on stories by these fakes who are so full of themselves? Please, please, please...?

Re:No more Moronix, please! (5, Informative)

qinjuehang (1195139) | more than 3 years ago | (#36581706)

As bad as some of the Phoronix articles can be, they have contributed a lot to the community. After all, they played a pivotal role in setting up openbenchmarking.org, and are pretty much the only source of Linux hardware reviews.

Carpentry and computer power failures (3, Funny)

mpoulton (689851) | more than 3 years ago | (#36581700)

Interesting headline. I was trying to figure out how old-school manual construction work would be responsible for tricky power supply problems on Linux machines only.

Re:Carpentry and computer power failures (1)

Anonymous Coward | more than 3 years ago | (#36581828)

Tsk, tsk.

Nailing doesn't necessarily mean "old-school manual construction work" -- among the delights that are power tools, a MAPP nail gun is perhaps the most heavenly.

And using one to shoot a half-dozen nails into a PSU would cause problems, though I too fail to see the Linux connection.

Re:Carpentry and computer power failures (-1)

Anonymous Coward | more than 3 years ago | (#36581980)

Wha?

God says...
conscience reconciliation can skirmishes preserve knocked
proposed taking shady showeth express assented tree dollar
familiarly ask lives receiving defined lightened altered
friend writer playing friendship's compose Isaiah digits
commend forthwith madly revealing alternates att unpleasantly
searched archive ofttimes clear performing cometh reconciliation
his contented anxiety burstest Offices moderation houses
fashioned Unless anon lightened retreat All providedst

Re:Carpentry and computer power failures (5, Funny)

WrongSizeGlass (838941) | more than 3 years ago | (#36582056)

The headline demonstrates a skill that the Linux community seems to lack: the modern corporate marketing mindset. What the Linux community should have done is used this extra power consumption to their advantage: Linux, now more powerful than ever!*



* more powerful based on the amount of energy used to perform the same tasks

Re:Carpentry and computer power failures (1)

crontabminusell (995652) | more than 3 years ago | (#36582306)

My first thought was that I missed the launch of some new "Linux Power" magazine (something akin to Nintendo Power). I didn't quite understand the "Nailing the Cause" part of the headline in that context though. =)

Re:Carpentry and computer power failures (0)

Anonymous Coward | more than 3 years ago | (#36582524)

There is always the recourse of Nailing Palin.

With the ASPM state S1 there is the increased risk of deadlock. This could be avoided by disabling the state at the cost of increased power comsuption. I don't know if the problems have been solved for the PCIe version 3.

Re:Carpentry and computer power failures (0)

Anonymous Coward | more than 3 years ago | (#36582960)

Well, as a blacksmith I would propose the generic solution 'if it doesn't work, hit it with a hammer'

Re:Carpentry and computer power failures (1)

laurelraven (1539557) | more than 3 years ago | (#36583454)

And, shockingly, there are times when this actually works. Not to mention, it just feels good.

Re:Carpentry and computer power failures (1)

MobileTatsu-NJG (946591) | more than 3 years ago | (#36583256)

Interesting headline. I was trying to figure out how old-school manual construction work would be responsible for tricky power supply problems on Linux machines only.

Do you have trouble using contractions, too?

Summary: not a Linux problem, but a BIOS problem (5, Informative)

ArsenneLupin (766289) | more than 3 years ago | (#36581702)

To sum up the article in 3 sentences:

It's due to some buggy BIOSes not properly advertising power-saving features of PCIE cards. Older kernels didn't honor those BIOS hints, and disabled power to unused PCIE cards anyways (causing hangs in rare cases), whereas new kernels do the right thing (causing power wastage in lots of cases). The workaround is to specify pcie_aspm=force on the boot (Grub) command line, to tell the kernel to forge ahead, and just use power management on these cards regardless of the BIOS advice.

Re:Summary: not a Linux problem, but a BIOS proble (2)

nagnamer (1046654) | more than 3 years ago | (#36581746)

Is it possible that unused PCIE cards waste that much power? On Linux I drain my laptop's batter in under 2 hours, sometimes 1.5. On Win7 it used to take 3+ hours with brightness at 100% (because I was outdoors).

DISCLAIMER: Author of this post is currently using Linux because of superior performance and availability of tools not available on Windows platform.

Re:Summary: not a Linux problem, but a BIOS proble (3, Informative)

daid303 (843777) | more than 3 years ago | (#36581764)

The article points out that there is also a power regression in the scheduler. Which is the next thing that the writer will look at.

Re:Summary: not a Linux problem, but a BIOS proble (5, Interesting)

fuzzyfuzzyfungus (1223518) | more than 3 years ago | (#36581796)

Hard to say without the exact specs of the machine, and probably a bunch of test-probes clipped in awkward places inside the laptop; but the overall trend in hardware does seem to have been toward ever higher theoretical maximum-if-we-felt-like-burning-that-much power draw(remember back when a ~50-80 watt CPU was considered a howling-mad-danger-to-self-and-others overclock/overvolt insanity demandng nerves of steel and custom cooling? Now boring retail CPUs have TDPs in the ~130 watt range); but a corresponding increase in the ability of hardware to throttle various clocks(CPU, GPU, high sped busses), sometimes cut Vcore as well, and turn off(or very nearly so) unused peripherals.

Exactly where the delta exists vs. Windows seems to be a matter of some confusion; but unless Linux is just plain burning more CPU time for housekeeping purposes(which, one assumes, is the sort of things that the Big Serious Corporate users of 1000+ node commodity server/compute setups would have noticed by now), it likely rests largely in the hands of a (no doubt alarmingly large and ever changing) set of hardware-specific power throttling stuff whose responsibilities were designed to be divided between the buggy BIOS and the vendor's Windows drivers. If it were Just One Mistake, it'd likely have been quashed by now...

Re:Summary: not a Linux problem, but a BIOS proble (-1)

Anonymous Coward | more than 3 years ago | (#36582122)

Linux people are low class scum. Weazels.

Re:Summary: not a Linux problem, but a BIOS proble (0)

Runaway1956 (1322357) | more than 3 years ago | (#36582218)

Make up your mind. Scum or "weazels". If you weren't a retard, you would understand that scum is around the bottom of the food chain, while weasels occupy a niche at the higher end of the food chain. Nothing in common, whatsoever. Things that eat scum, in turn feed other things, which weasels prey upon. I know the concept is difficult to grasp, for one of your limited mental capacities - but please, try to make the effort. You'll be so proud of yourself, and your mommy and daddy will be proud too! Go ahead, put on your big boy pants, along with your thinking cap, and work hard to figure this stuff out, alright?

BTW, I think Linux bashers are closer to the pond scum than they are to the weasels. But, that's just an opinion, with no scientific proof to back it up.

Re:Summary: not a Linux problem, but a BIOS proble (2)

GooberToo (74388) | more than 3 years ago | (#36584158)

I think you're spot on. Over the last decade I've constantly read articles about broken hardware whereby the manufacturer simply hides in their windows drivers. Chances are extremely high any power regression is actually a case of extremely broken hardware more dramatically exposed because of a bug fixes and/or compliance improvements in the Linux implementation.

Based on what I've read over the last decade, I definitely get the impression hardware bugs, specifically in power management, are fairly common. As a whole, manufacturers just don't give a shit about pumping out broken, non-compliant hardware specifically because 1, they hide their shame in their drivers, and 2, non-windows systems likely represent a fraction of their overall sales. Which means, who cares because who's actually going to know they can't properly follow a specification.

Unless someone has a smoking gun which proves Linux is doing the wrong thing, chances are the regressions are actually shit-poor hardware implementations with full knowledge of the manufacturers.

Re:Summary: not a Linux problem, but a BIOS proble (1)

0123456 (636235) | more than 3 years ago | (#36585164)

emember back when a ~50-80 watt CPU was considered a howling-mad-danger-to-self-and-others overclock/overvolt insanity demandng nerves of steel and custom cooling? Now boring retail CPUs have TDPs in the ~130 watt range

Only if you're still using a Pentium-4. Most of the new i5s have 95W or less TDP and real-world measurements show they rarely go over 60W.

The new i5 server/DVR I'm building should use less power than my old dual-core Atom when idle and only about 40W more under full load.

Re:Summary: not a Linux problem, but a BIOS proble (3, Interesting)

jonamous++ (1687704) | more than 3 years ago | (#36582006)

I'm using a Vaio S that gets 7+hr battery life in Windows, and under 2hr battery life in Fedora. The big problem that I see with this laptop is that Fedora is not utilizing the "hybrid" graphics system, and it is constantly running off of the graphics card instead of the integrated graphics (in windows, this brings the battery life to under 2 hours, as well). It would be nice to be able to switch that permanently to integrated to get the battery life.

Re:Summary: not a Linux problem, but a BIOS proble (1)

nagnamer (1046654) | more than 3 years ago | (#36582096)

Under Ubuntu, I'm using the integrated only, and offload to the real GPU using bumblebee [github.com] , but the battery still drains too quickly.

Re:Summary: not a Linux problem, but a BIOS proble (1)

jonescb (1888008) | more than 3 years ago | (#36583182)

Support for Hybrid GPU setups in the kernel has been supported for the last few releases. If you google for something like "linux gpu switcheroo" you should be able to find what I'm talking about. Yes, it was called "Switcheroo" by the original author of the code. The primary way of switching GPUs is through the /sys filesystem unless there are some GUI programs that do that for you.

Re:Summary: not a Linux problem, but a BIOS proble (1)

AlterEager (1803124) | more than 3 years ago | (#36583228)

On Linux I drain my laptop's batter in under 2 hours, sometimes 1.5. On Win7 it used to take 3+ hours with brightness at 100% .

How long ago was that? Maybe your battery is nearing end of life.

Re:Summary: not a Linux problem, but a BIOS proble (1)

nagnamer (1046654) | more than 3 years ago | (#36583490)

It used to like a few months ago. The laptop is practically brand new. I had Win7 as a temporary solution while I was figuring out how to get hybrid graphics working on Linux.

Re:Summary: not a Linux problem, but a BIOS proble (1)

AliasMarlowe (1042386) | more than 3 years ago | (#36583292)

Is it possible that unused PCIE cards waste that much power? On Linux I drain my laptop's batter in under 2 hours, sometimes 1.5. On Win7 it used to take 3+ hours with brightness at 100% (because I was outdoors).

DISCLAIMER: Author of this post is currently using Linux because of superior performance and availability of tools not available on Windows platform.

Probably depends strongly on the laptop and the drivers available for its hardware.

On my 7½-year-old laptop (Sony VAIO VGN-A117S[*]) with original battery, the battery typically lasts slightly less than 2 hours, but even with intensive use it lasts more than 1½ hours. It runs Lubuntu 10.04 and it's years since any version of Windows dirtied its disk, so I can't do a direct comparison right now. As far as I recall, it lasted about 2½ hours on Windows XP when it was new (early 2004), and somewhat less when running Warty or Breezy. With subsequent Linux kernels the battery life became almost the same as it had been with Windows, and Windows was ditched completely with Dapper. Considering the age of the battery, I expect most of the shortened life since 2004 is simply age-related degradation of the battery.

[*] This is actually a beautiful laptop, made when Sony had not yet slid into the abyss of evil. Its 17" 1920x1200 LCD was the main reason I bought it, and the main reason it's still in service. It also runs quite nicely with Lubuntu, despite being limited in RAM. We upgraded the disk a month ago (the original was still working, but 80GB seems small nowadays), while the rest of the hardware is original and working perfectly - still no dead/hot/wonky pixels in the display.

Re:Summary: not a Linux problem, but a BIOS proble (1)

nagnamer (1046654) | more than 3 years ago | (#36583566)

As far as I recall, it lasted about 2½ hours on Windows XP when it was new (early 2004), and somewhat less when running Warty or Breezy.

I'm sure WinXP cannot compare in terms of power consumption to Win7 + latest drivers from hardware vendors. Sadly, in all other aspects, they don't differ by much. I might switch one day if the actual performance becomes on par with Linux. On the other hand, if Linux becomes better in power management, the switch would probably never become an option. (Hm... this reminds of of those Linux vs Windows discussions, with roles slightly reversed.)

Re:Summary: not a Linux problem, but a BIOS proble (5, Interesting)

Manip (656104) | more than 3 years ago | (#36581760)

That is an accurate summation of the article; but calling things "right" and "wrong" is a little nieve. Windows treats this information very differently to Linux, and BIOS manufacturers are caught between the two. Simply advertising ASPM sounds good, unless it causes Windows to treat card without ASPM support as if they have it just because the bios advertised that the system supported it. Now current versions of Windows might act rationally in this regard, but XP and older are still highly prevalent particularly amongst corporate clients and governments.

So I guess my point is - it isn't a simple right or wrong/black or white scenario. It is a messy, ugly, undocumented hack, that ultimately leaves nobody happy. Linux will likely wind up having to implement a hack too to fix this, which makes them no better or no worse than the bios manufacturers who did exactly the same thing.

Re:Summary: not a Linux problem, but a BIOS proble (1)

hitmark (640295) | more than 3 years ago | (#36581936)

Not sure, but is Windows using BIOS or drivers as a first reference for power saving support? As such, could this be yet a case of hardware shipped as known buggy and "cleaned up" via driver code?

Re:Summary: not a Linux problem, but a BIOS proble (4, Interesting)

drinkypoo (153816) | more than 3 years ago | (#36582000)

That is an accurate summation of the article; but calling things "right" and "wrong" is a little nieve. Windows treats this information very differently to Linux, and BIOS manufacturers are caught between the two.

In other cases this has been because microsoft wrote the tools and designed them to be hostile to Linux, e.g. ACPI. is there any of that here?

Troll? (-1, Offtopic)

drinkypoo (153816) | more than 3 years ago | (#36582252)

Looks like I picked up a mod troll again, this is the second undeserved trollmod in a short period. Does apk have an account with modpoints? ;)

Re:Troll? (-1)

Anonymous Coward | more than 3 years ago | (#36582676)

It's not undeserved you fucking troll faggot. You come in with the immediate Microsoft bash looking for some Slashfag neckbeard fatass sexless street cred, and got whipped for your faggotry, and rightly so. Go fuck yourself.

Um.. Why cant it be something simple? (0)

Anonymous Coward | more than 3 years ago | (#36582330)

Why does it have to be that they are hostile to Linux? It could just be that they don't give a fuck and never tested their products with Linux. Or maybe some developers on the Linux kernel project are incompetent and stupid? Why do you tin foil nuts always make it out to be some conspiracy against Linux? Or to look at it from another point of view, why should any OEM give a fuck whether their desktop products (which are going to require good suspend/resume/battery support etc) work with OS that is an economically insignificant portion of the market? Linux users are going to format the PC and install Linux anyway. They aren't going to drive any new customers for the trialware shit that ships with the PCs. Something which some (retarded) windows users are likely to do.

Re:Um.. Why cant it be something simple? (2)

drinkypoo (153816) | more than 3 years ago | (#36582518)

Why does it have to be that they are hostile to Linux?

it doesn't have to be, that's why I'm asking the question. It COULD be, and it HAS BEEN IN THE PAST, specifically in the case of ACPI Microsoft DELIBERATELY created a tool that would make an invalid ACPI table for use with non-Windows operating systems.

Why do you tin foil nuts always make it out to be some conspiracy against Linux?

Because it so often is. BTW, tin foil hats concentrate radio signals at the center of the skull, I guess you aren't keeping up though. There was a test at MIT.

why should any OEM give a fuck whether their desktop products (which are going to require good suspend/resume/battery support etc) work with OS that is an economically insignificant portion of the market?

Because Linux is continually gaining market share. And in any case, again in the case of ACPI, Microsoft did it deliberately. It's stuff that would have worked fine without their influence. I want to know if the same thing is happening all over again.

Re:Um.. Why cant it be something simple? (1)

hairyfeet (841228) | more than 3 years ago | (#36585242)

I probably shouldn't chime in, but what the fuck. The problem is perfectly illustrated by the poster above that is getting better battery life on Linux on his 7 year plus old laptop and it is THAT, that right there, that is the problem.

Thanks to Torvalds refusal to allow an ABI, which makes companies either jump through flaming hoops to support Linux or leave their companies rep in the hands of some kernel dev they have no control over, the support for old crap in Linux? Very very good, as it has been out so long it has been reverse engineered. The new stuff? frankly sucks the big wet titty when it comes to support as most companies aren't gonna "pull an Nvidia" and keep a room full of devs just to keep up with Torvalds and his kernel fucking.

The sad part is ultimately it comes down to religion and the belief that the community is too stupid to think for itself. You see all the arguments against having an easy to use stable ABI to write to (like everyone else on the planet has) is "ZOMG teh evil corps might give us binary blobs, ZOMG!" which of course ignores the fact that companies like Nvidia already do and that Linux users by and large do have this thing known as a brain and can decide for themselves if they wish to take the chance on an unsupported device down the road or not.

But the kernel devs and the RMS zealots will NEVER allow you to have a stable ABI, which will just cause Linux to get further and further behind. You see nobody cares about old crap, especially now that the world is switching to laptops. Nobody cares if that 7 year old laptop you picked up at Goodwill works in Linux, because frankly the replacement battery will cost more than the laptop is worth. No what Linux needs is supported for the latest and greatest and with the incredibly fast pace of laptops support will only get worse. It is a shame that you can't have a modern ABI like BSD, Solaris, OSX, and Windows, but as with most things I've found religious zealotry never helps, only hurts.But hey, at least your "purity of essence" remains intact, right?

Re:Um.. Why cant it be something simple? (1)

Anonymous Coward | more than 3 years ago | (#36582752)

First, you seem to confuse OEMs and MS. OEMs don't care about Linux one way or the other, but MS obviously does.

Second, as to why we blame MS's antipathy to Linux for ACPI cruft...
Because Billy G said so. [slated.org] {pdf}

Re:Um.. Why cant it be something simple? (0)

Anonymous Coward | more than 3 years ago | (#36585434)

That just proves he wrote that email twelve years go. And the email describes that hes thinking about it. So what? I wonder if you think that every single weird thought that gates ever had became official company policy. Looks like common sense.. isn't so common. I wish I was as stupid as you. Life would be so simple. :(

Re:Summary: not a Linux problem, but a BIOS proble (1)

Just Some Guy (3352) | more than 3 years ago | (#36583838)

In other cases this has been because microsoft wrote the tools and designed them to be hostile to Linux, e.g. ACPI. is there any of that here?

This is what he's talking about [osnews.com] . You don't have to be a conspiracy theorist to think that Microsoft could have deliberately made ACPI difficult for Linux to implement.

Re:Summary: not a Linux problem, but a BIOS proble (3, Informative)

SuricouRaven (1897204) | more than 3 years ago | (#36582018)

Linux does thing the way they should be done according to standard. Windows does things they way they actually are done in the real world. The reason is simple: BIOS vendors noticed Windows doesn't follow the standard well, and made the reasonable assumption that the vast majority of users would run windows. Thus they deviated from the standard in order to better support it.

Re:Summary: not a Linux problem, but a BIOS proble (2)

drolli (522659) | more than 3 years ago | (#36582072)

That has happened before so many times you cant count.

Re:Summary: not a Linux problem, but a BIOS proble (1)

jones_supa (887896) | more than 3 years ago | (#36582296)

One nice example is the problem with some laptops that you have to close the lid twice to make a machine suspend under Linux. This is due to an ACPI bug where the lid status remains in state "closed" on resume. Linux power management wants the transition to be exactly "open" -> "closed" for suspend, in Windows simply a lid event with state "closed" is enough.

If you are skilled, you can also hack the ACPI DSDT and inject the new one on boot. :)

Re:Summary: not a Linux problem, but a BIOS proble (1)

tlhIngan (30335) | more than 3 years ago | (#36585100)

Linux does thing the way they should be done according to standard. Windows does things they way they actually are done in the real world. The reason is simple: BIOS vendors noticed Windows doesn't follow the standard well, and made the reasonable assumption that the vast majority of users would run windows. Thus they deviated from the standard in order to better support it.

More like Windows used to do it as per the standard. Then Microsoft realized a good chunk of the crap people buy doesn't support it properly, so they have to add a bunch of hacks and tweaks in order to get it to work "properly".

Honestly, hardware sucks. Between buggy BIOSes and hardware with buggy support for everything, it's amazing something like Windows could even work, or that you can use the same Linux kernel without recompiling for different PCs.

You still find the odd USB devices with crappy descriptors in them these days because the manufacturer can't be half-assed to do it right. "Oh, it works in Windows? Great, ship it".

Sometimes the old adage of "be liberal in what you accept, conservative in what you emit" causes more problems - people do the bare minimum to get stuff working.

Hell, it's one of the reasons why the old Creative Soundblaster Live cards only worked well on Intel machines - they violated the PCI spec. It's just the Intel chipsets were more forgiving to violations, while other chipests that adhered more to the spec caused random lockups and crashes as the cards locked up the bus. (Only the Audigy line actually fixed the issue...)

Re:Summary: not a Linux problem, but a BIOS proble (1)

0123456 (636235) | more than 3 years ago | (#36585246)

The reason is simple: BIOS vendors noticed Windows doesn't follow the standard well, and made the reasonable assumption that the vast majority of users would run windows. Thus they deviated from the standard in order to better support it.

I suspect it's more than there are people paid to clean up their turds in software, so companies don't care about crapping out defective hardware with a broken BIOS.

When I was writing video drivers for Windows we'd often have to incorporate workarounds for broken host chipsets; I'm guessing all the other video card manufacturers were doing the same and the chipset manufacturers either didn't realise their AGP bus implementation was a heap of steaming monkey crap or didn't care.

Re:Summary: not a Linux problem, but a BIOS proble (1)

MikeBabcock (65886) | more than 3 years ago | (#36583368)

Many moons ago there was some deep bitterness from some of the devs at the Ottawa Linux Symposium about the fact that hardware developers weren't actually following the specs but instead implementing their own, then just writing Windows drivers to work around their tweaks.

Since Linux doesn't typically support pluggable hardware drivers from manufacturers (and they often don't care to write them), Linux was trying to communicate using the actual specifications, and failing. This has been a problem for years now, and I have no reason to believe the hardware manufacturers are any less to blame now than they were before.

Re:Summary: not a Linux problem, but a BIOS proble (1)

dc29A (636871) | more than 3 years ago | (#36582582)

causing hangs in rare cases

- On new Sandy Bridge laptops, booting always caused hangs. I couldn't boot Linux (Arch or Ubuntu) if I had the power brick connected. Hanging is just one issue, another one is that the network card is unable to connect to the network. Also, if you dual boot, Windows might tweak with cards settings and when you reboot into Linux, it still hangs or simply can't connect to network. Solution is complete power off and rebooting without power brick being on. I even tried de-activating ASPM and didn't work (pcie_aspm=off). Only thing working as you mentionned is pcie_aspm=off, at least for me!

"serious bug" my ass (5, Interesting)

KiloByte (825081) | more than 3 years ago | (#36581712)

The article is full of sensationalism like "serious bug", "major regression" to promote Phoronix and its "wonderful test suite". If you read it closely, you'll see they have seen a 10% increase in power consumption on just one of their test laptops that depends on BIOS settings. That particular laptop has a bug in its BIOS where it claims it wants to manage configuration of a particular piece of hardware, and new kernels obey that request. You can even tell the kernel to disregard BIOS and force power settings anyway.

For me, improving power efficiency everywhere but that particular laptop is a major win. If you feel nice, you can even detect this particular buggy BIOS and ignore its request. But then, even after throrough fiddling, Phoronix guys weren't able to improve power usage by more than 15% even on this laptop, so it's not a big issue anyway.

Re:"serious bug" my ass (2)

gbjbaanb (229885) | more than 3 years ago | (#36581744)

I think you've being a little harsh, there isn't much in the way of hardware reviews for Linux so these guys doing them provides some service to the community.

And if they'd detected 10% decrease in power consumption, the article would be just as sensationalist, only this time considered good. I never knew about the kernel option, now I do.

Re:"serious bug" my ass (4, Interesting)

fuzzyfuzzyfungus (1223518) | more than 3 years ago | (#36581830)

While this article is a touch overblown, stories like this make me profoundly pessimistic about the advent of EFI...

Yeah, the BIOS pretty much sucks, and its horrible backwards-compatibility hackery makes purists cry; but the very fact that it sucks so much has had the basically positive effect of keeping vendors from trying to get too clever it. Given the results of their trying to do so(like everybody's favorite problem child, ACPI) this is probably a good thing.

EFI, especially in conjunction with CPUs that have hardware level virtualization support, is pretty much an entire second OS, moonlighting as a bootloader, that you either have to perform coreboot-platform-port level black magic to replace(if the board even allows you, you might also have to defeat some sort of firmware integrity check) or lament unto your motherboard vendor in hope of getting fixed. If buggy BIOSes are an issue now, buggy EFI will be a fucking nightmare. The last thing we want is more and more stuff going on under the surface, with development handled by motherboard OEMs with, to put it charitably, no OS-development experience worth putting on a CV...

At least the suckitude of the classic BIOS created a de-facto pressure toward "let the bootloader bootload and then GTFO so that the OS can handle things". Ideally, we could have just had a modern, lessons-learned, minimal bootloader, that could skip the brief sojourn to the 80s; but still bugger off as fast as possible. Instead, we are facing the looming advent of having every computer running two OSes with hardware access, even after the bootloading is done, the resultant messy(but model/firmware-revision specific) infighting of which are going to make ACPI look like an architecturally elegant story of idyllic peaceful cooperation...

Re:"serious bug" my ass (5, Informative)

David Gerard (12369) | more than 3 years ago | (#36581890)

You are entirely correct. See Matthew Garrett's blog [dreamwidth.org] for the icky details of EFI on Linux. He makes this hideous piece of shit work for a living.

Re:"serious bug" my ass (1)

Anonymous Coward | more than 3 years ago | (#36583258)

Heh, that reminds me of when I did some work for a hard drive manufacturer. I got to see a lot of their firmware source and other software they wrote. Total. Complete. Shit. All of it. The whole reason they needed me was to fix their poorly written software that they couldn't even figure out how to debug.

Engineers should never be allowed to write software, ever.

Re:"serious bug" my ass (2)

hitmark (640295) | more than 3 years ago | (#36581954)

Heh, i think it was Torvalds that decried ACPI as insanity. Not helped by Microsoft having a test suite that deviate at various places from the Intel equivalent. But what will the OEMs use? Why, the Microsoft one...

Re:"serious bug" my ass (3, Interesting)

fuzzyfuzzyfungus (1223518) | more than 3 years ago | (#36582044)

This behavior is by design:

"One thing I find myself wondering about is whether we shouldn’t try and make the "ACPI" extensions somehow Windows specific.
It seems unfortunate if we do this work and get our partners to do the work and the result is that Linux works great without having to do the work.
Maybe there is no way Io avoid this problem but it does bother me. Maybe we couid define the APIs so that they work well with NT and not the others even if they are open."

William H. Gates III [slated.org]

Re:"serious bug" my ass (1)

hitmark (640295) | more than 3 years ago | (#36582290)

the old Microsoft mantra: embrace, extend, extinguish...

Re:"serious bug" my ass (3, Insightful)

dnaumov (453672) | more than 3 years ago | (#36581858)

The user is not going to give a shit. The user will see that Windows doesn't suffer from this increase in power consumption and will decide that Linux is inferior.

Re:"serious bug" my ass (1)

jedidiah (1196) | more than 3 years ago | (#36582276)

Chances are, the average user isn't even going to notice.

Re:"serious bug" my ass (1)

Kjella (173770) | more than 3 years ago | (#36582808)

Chances are, the average user isn't even going to notice.

I'm sorry, but the average user knows how a clock works. Whether it's their computer clock, the wall clock, the wrist watch or their cell phone, they'll notice that their laptop runs out of battery faster under Linux.

Re:"serious bug" my ass (0)

Anonymous Coward | more than 3 years ago | (#36584578)

I'm sorry, the "average" user doesn't even know what Linux is and won't ever have the opportunity to compare it to Windows.

That's just the way it is.

Re:"serious bug" my ass (1)

nzac (1822298) | more than 3 years ago | (#36581906)

Do you own a laptop that you use the full battery life on?
How is not a serious bug where all of a sudden your computer looses 10 percent battery life for no good reason due to core software. Since its not universal I guess you could argue its not a regression, if you want. I remember higher percentages being thrown around, certainly if it goes past 20 percent it becomes the kind of thing people stop using Linux over, Linux is already pretty terrible on some laptops due to having to use generic drivers.

I have not herd of anyone who actually uses or recommends the test suite so money can't be rolling in the door. Finding and solving a significant kernel issue that was not being looked is a good chance to promote that they have some expertise in their company.

Re:"serious bug" my ass (3, Insightful)

Artem Tashkinov (764309) | more than 3 years ago | (#36582158)

Phoronix guys weren't able to improve power usage by more than 15% even on this laptop, so it's not a big issue anyway.

15% from 6hours make it roughly one hour so I cannot say this issue is really minor. I'd even dare to say that every such detail does count since most hardware vendors tailor their products exclusively for Windows and the fact that Linux even works is a wonder.

And please don't judge Phoronix harshly. It's one of a very few websites which actually drive Linux development. Yes, Michael likes sensational style, but then again he wants to eat, buy hardware to test Linux on, pay for other people's work.

tl;dr (3, Informative)

OliWarner (1529079) | more than 3 years ago | (#36581720)

Add pcie_aspm=force to your boot options.

Test it by editing grub (which is a temporary edit that will be lost next boot) first and test out suspend, hibernate, etc.

If that works, edit your grub configuration files. For ubuntu users this means editing /etc/default/grub and editing the GRUB_CMDLINE_LINUX_DEFAULT variable. Then call sudo update-grub.

Re:tl;dr (0)

Anonymous Coward | more than 3 years ago | (#36581750)

... but only if you have that particular laptop model with that particular version of BIOS.

Re:tl;dr (3, Interesting)

AlexiaDeath (1616055) | more than 3 years ago | (#36581788)

It cant be a quick test either. Some machines start randomly hard locking with ASPM managed by the kernel. I have one of those. Uptime can vary from 5 minutes to 3 hours.

Why is it now assumed everyone uses grub? (1)

Viol8 (599362) | more than 3 years ago | (#36581956)

I can't stand it and immediately dump it for lilo as soon as I've done an install. I just want the boot loader to load the OS and get the hell out of town. End of. I don't need a boot "enviroment" thanks.

Re:Why is it now assumed everyone uses grub? (0)

Anonymous Coward | more than 3 years ago | (#36581994)

Then you will be smart enough to figure out how to pass flags to the kernel via lilo. Nobody is stopping you from using lilo. What's the problem?

Re:Why is it now assumed everyone uses grub? (0)

Anonymous Coward | more than 3 years ago | (#36582400)

In the eyes of the Aperger, the world revolves around ME!

Re:Why is it now assumed everyone uses grub? (0)

Anonymous Coward | more than 3 years ago | (#36582308)

Probably because there are only a handful of throwback losers like you out there.

Re:Why is it now assumed everyone uses grub? (2)

swalve (1980968) | more than 3 years ago | (#36582422)

Who are these pansies that use a boot loader at all? I enter in the machine code by hand, that's the only way to be sure.

In my day... (1)

AliasMarlowe (1042386) | more than 3 years ago | (#36583734)

Who are these pansies that use a boot loader at all? I enter in the machine code by hand, that's the only way to be sure.

Youngsters today just don't appreciate how toggling in absolute addresses and machine instructions via front panel switches could build character. It especially expanded one's vocabulary of expletives and expressiveness in screaming them. The PDP-8 only had 12-bit words which saved a lot of toggling, so after a little practice it could be booted to having multiple teletype[*] terminals active in less than 10 minutes. Confession: the last minute or two were reading in from magnetic tape, whose drivers were loaded from a hard-coded[**] circuit board in an act of heinous cheating.

Mind you, that's still faster than booting and logging into my dual core XP laptop at work, which is burdened by an awful lot of corporate cruft (policy enforcement, antivirus, spyware and antispyware, security & encryption craplets, etc.) which must be loaded before the desktop is responsive.

[*] Teletype meant a typewriter sort of thing with fewer mechanical hammers than a real typewriter, but which still needed a roll of ink tape and a larger roll of paper for typing on. Any color ink you wanted, since the ink tapes were usually re-inked a few times by soaking them in suitable muck.
[**] Hard-coded in this context meant a mess of thousands of wires sticking out from the board which were selectively snipped with a pliers to make a suitable array of binaries.

Re:Why is it now assumed everyone uses grub? (1)

arth1 (260657) | more than 3 years ago | (#36585380)

Some of us also run headless machines (these things called "servers"), and grub is by default head-oriented.
Making it work correctly for headless systems where there may or may not be a serial console connected at boot time is an exercise in patience, as the examples given assume that either (a) you have a network and VNC, or (b) serial is always connected and there will always be a person present to press keys when needed.

Yet, LILO isn't well supported anymore, so when you need to boot specific file systems or do "advanced" boots, there's not a lot of choice: grub or uboot in firmware.

Re:tl;dr (1)

nagnamer (1046654) | more than 3 years ago | (#36582064)

In my case, this did not lead to perceived improvement power saving. Battery indicator still reports 1.5hr, and the batter is 66% drained in about a hour, so I'm guessing the prediction would be accurate. On the same system, I used to be able to squeeze out more than 3 hours under Windows 7. However, it has to be noted that performance was dramatically lower on Windows 7, too.

Re:tl;dr (0)

Anonymous Coward | more than 3 years ago | (#36582402)

try running "cpu-freq -g powersave" or "cpu-freq -g conservative" these help with battery but lower performance

Re:tl;dr (0)

Anonymous Coward | more than 3 years ago | (#36582754)

If your problem didn't appears with version 2.6.38 of the kernel, it's not related to this. Since you only see a difference with Windows and its slower it might just be that you need to activate cpu frequency scaling in Linux.

Sigh... (1)

AlexiaDeath (1616055) | more than 3 years ago | (#36581732)

Machines like mine are probably the cause of the offending commit. Since maverick I had to force ASPM off on it or use lucid kernel because it caused frequent hard locks.

Re:Sigh... (1)

AlexiaDeath (1616055) | more than 3 years ago | (#36581738)

And IMHO... Some power wastage on some systems is less of an issue than random crashes on others. If people force ASPM and machine starts crashing, they will know what went wrong...

Re:Sigh... (0)

Anonymous Coward | more than 3 years ago | (#36581854)

or a black/whitelist system

Re:Sigh... (2)

AlexiaDeath (1616055) | more than 3 years ago | (#36581944)

Trouble with this is that there is no defined list of BIOS-es that will crash or BIOS-es that work and no automated way to gather it, plus it would require maintenance. That can not happen in kernel. The distro's installer is perfect place to detect and configure grub accordingly but I doubt the maintainers are willing to shoulder the burden this brings.

Re:Sigh... (1)

Anonymous Coward | more than 3 years ago | (#36581868)

"Some power wastage on some systems is less of an issue" ... yes of course, until users start jumping ship because "their laptop lasts longer/runs cooler with windows".
I've seen it happen, and issues like this don't help at all.

Re:Sigh... (2)

AlexiaDeath (1616055) | more than 3 years ago | (#36581930)

The machine crashing randomly is CERTAIN to drive them away while power issue may or may not.

Why not us a database? (2)

DoofusOfDeath (636671) | more than 3 years ago | (#36581878)

Would it work to have the kernel default to using whatever the BIOS indicated, but also have a database of overrides based on the exact card model?

Re:Why not us a database? (1)

tepples (727027) | more than 3 years ago | (#36582142)

Because the makers of cards might decline to contribute to such a database of overrides.

Re:Why not us a database? (1)

DrXym (126579) | more than 3 years ago | (#36582202)

Because the makers of cards might decline to contribute to such a database of overrides.

But users and commercial distributions can. And makers could be compelled to as well assuming there was a Linux specific certification they were after which included it as a compliance requirement.

Re:Why not us a database? (1)

tepples (727027) | more than 3 years ago | (#36582482)

And makers could be compelled to as well assuming there was a Linux specific certification they were after which included it as a compliance requirement.

Makers of PCs and peripherals for the home and small-business markets don't care about any sort of Linux-specific certifications.

Re:Why not us a database? (1)

DrXym (126579) | more than 3 years ago | (#36585044)

Makers of PCs and peripherals for the home and small-business markets don't care about any sort of Linux-specific certifications.

Well they would care if people vocally told them why they favoured some rival's hardware over their own. At the end of the day it's the same as food getting certified as kosher / vegetarian. Companies would rather not do it but if they earn more sales than they lose in obtaining certification then it's worth it.

Re:Why not us a database? (1)

tepples (727027) | more than 3 years ago | (#36585200)

Companies would rather not do it but if they earn more sales than they lose in obtaining certification then it's worth it.

My point is that companies often don't think they'll "earn more sales than they lose" by supporting GNU/Linux. Some companies have used the excuse that obtaining certification would require disclosing specifications that include know-how licensed from a third party under a non-disclosure agreement.

Re:Why not us a database? (1)

greed (112493) | more than 3 years ago | (#36584470)

...and the kernel is full of such tables already, so it's not like it's a new idea.

So, for example, there's ide_acpi_blacklist in drivers/ide/ide-acpi.c; there's traps throughout the FireWire stack to disable features (like isochronous) on known-flawed chipsets (almost all of them), and so on.

Sometimes this is driven by vendor errata sheets; like when there's a flaw in a TI 1394 chip, if it can be identified, the errata workaround can be applied to all cards with it.

Most of the time, it seems to be driven by user bug reports.

Re:Why not us a database? (1)

tokul (682258) | more than 3 years ago | (#36585652)

Would it work to have the kernel default to using whatever the BIOS indicated, but also have a database of overrides based on the exact card model?

Do you want the database of every fsckup hardware manufacturers make stored in kernel?

Never upgrade your Linux... (1, Informative)

Compaqt (1758360) | more than 3 years ago | (#36581880)

Never upgrade your Linux distribution in place.

Have 2 (or more) OS partitions of about 20GB each.

Install your OS's to partition 1.

Install your upgraded version to partition 2.

Easily switch back and forth.

Oh, and keep a separate /home partition.

Re:Never upgrade your Linux... (0)

bryan1945 (301828) | more than 3 years ago | (#36582058)

And people wonder why Linux is not catching on as a desktop OS? "Problem X? Easy fix..... " 15 steps later "See? Easy!" Even MS, which I can't stand, does it easier. Note I said 'easier,' not 'better.'
In here are tech folk. Out there are "Ooh, shiny" and "I push this button?" folk.

Re:Never upgrade your Linux... (4, Interesting)

jedidiah (1196) | more than 3 years ago | (#36582322)

Yes. 30 years of Microsoft sabotaging competitors great and small does make it hard for anyone else to get a toe hold.

As always, this situation depends on how demanding your expectations are and whether or not you can put up with crap you're forced to put up with.

Microsoft thinks it needs dirty tricks and that it's product can't survive on it's own merit.

Re:Never upgrade your Linux... (0)

Anonymous Coward | more than 3 years ago | (#36582650)

Please stop talking complete bollocks.

The problem here is in the release by the Linux folks. The testing of which is done by Linux folks. Blaming 'windows' is the simple card pulled by idiots. If its a widespread problem, then its one that will have to be faced down by the people putting stuff together. And I'm relatively sure that given info and feedback, they will progress this in the right way.

And brutally, its a regression failing, so its an introduced problem. Again, don't blame a complete other left field thing for fundamental flaws in your own systems.

Re:Never upgrade your Linux... (0)

Anonymous Coward | more than 3 years ago | (#36584680)

And people wonder why Linux is not catching on as a desktop OS? "Problem X? Easy fix..... " 15 steps later "See? Easy!" Even MS, which I can't stand, does it easier. Note I said 'easier,' not 'better.'

What makes MS' approach easier is that they say, "Problem X? Too bad, you may not do anything about it." Seriously, is there a way to try-out Windows updates, other than using a separate machine?

If people want that kind of easiness, Linux lets them have it too. Just change the answer to "Problem X? You could do something about it, but it would be complicated so maybe you should just live with Problem X instead." How can that be any worse/harder than "Too bad, you have to live with Problem X"?

Re:Never upgrade your Linux... (0)

Anonymous Coward | more than 3 years ago | (#36582110)

I take it you don't use a distro with a rolling upgrade policy then?
It might be worth a try. You never know, you might be pleasantly surprised.

Personally, I've been arond Unix/Linx for 30+ years and separate out 'my stuff' etc in such a way as to not be unduly bothered which version on my Distro I'm running which is eithe CentOS or ScientificLinux. About 3 years ago I create a kickstart that works on any RHEL based distro that does a whole load of stuff in post install that saves me a shed load of time. I can install & provision a new system in less than 30mins. Your experience may well be different but choice is what Linux is about ain't it?

Re:Never upgrade your Linux... (1)

Hatta (162192) | more than 3 years ago | (#36582964)

Always upgrade your Linux distribution in place.

Apt-get dist-upgrade.

Works every time.

Re:Never upgrade your Linux... (0)

Anonymous Coward | more than 3 years ago | (#36583790)

Distribution upgrades?

You guys still haven't installed something on rolling release?

Easy answer (1)

bryan1945 (301828) | more than 3 years ago | (#36581962)

Hippies. They fight the power.

ACPI has ALWAYS favoured Windows... (1)

Anonymous Coward | more than 3 years ago | (#36581992)

ACPI: RSDT 00000000bf780000 0003C (v01 7593MS A7593300 20100210 MSFT 00000097)
ACPI: FACP 00000000bf780200 00084 (v01 7593MS A7593300 20100210 MSFT 00000097)
ACPI: DSDT 00000000bf780480 06E90 (v01 A7593 A7593300 00000300 INTL 20051117)
ACPI: APIC 00000000bf780390 000AC (v01 7593MS A7593300 20100210 MSFT 00000097)
ACPI: MCFG 00000000bf780440 0003C (v01 7593MS OEMMCFG 20100210 MSFT 00000097)
ACPI: OEMB 00000000bf78e040 0007A (v01 7593MS A7593300 20100210 MSFT 00000097)
ACPI: HPET 00000000bf78a480 00038 (v01 7593MS OEMHPET 20100210 MSFT 00000097)

Every frigging machine I've owned is the same way. Microsoft-built ACPI, filled with bugs that I have to manually fix.

Re:ACPI has ALWAYS favoured Windows... (2)

SuricouRaven (1897204) | more than 3 years ago | (#36582054)

ACPI vendors always favored windows, because that is just what most of the users will run. With the exception of server boards, non-windows users are a vanishingly tiny percentage, and scarcely worth the time to test for even briefly. It's a self-sustaining business advantage, as is seen so often in the technology sector: The dominant platform is the most widely supported, which helps to ensure it's continuing dominance.

Re:ACPI has ALWAYS favoured Windows... (4, Informative)

drinkypoo (153816) | more than 3 years ago | (#36582446)

ACPI implementors (what is an ACPI vendor? can I buy it by the pound, or is it sold by the unit?) favored Windows, because Microsoft built a tool for creating ACPI tables that intentionally craps on all other operating systems, INTENTIONALLY building an invalid table for use with non-Windows operating systems. Linux now claims to be Windows in order to get a table that works. Bill Gates proposed this "feature" personally.

The dominant platform is the one supported by fraud and deceit, which helps to ensure its continuing dominance, and the proper use of apostrophes. No wait, that was me.

Re:ACPI has ALWAYS favoured Windows... (0)

Anonymous Coward | more than 3 years ago | (#36584752)

So what is preventing Linux users from creating more open standards for the hardware companies to start using? Surely there are some niche companies who would enjoy working with the community to make hardware that works properly and more efficiently for non-Windows users. Is And why haven't Secret Tuxedo Agents infiltrated companies and fixed these issues? (Disclosure: I studied something in humanities and really have no idea about anything hardware or how complex this problems are. But I'm curious and want to learn.)

Re:ACPI has ALWAYS favoured Windows... (0)

Anonymous Coward | more than 3 years ago | (#36585174)

ACPI *is& an open standard, and a proper implementation of the actual spec works great with Linux. The issue is with MS handing out tools to *break* the standard.

HDs won't sleep in Linux (1)

dargaud (518470) | more than 3 years ago | (#36582878)

Unrelated to the problems mentioned here, there's still a lot of work to do to allow us to manage our power more efficiently in Linux. See what I posted in the previous discussion [slashdot.org] .
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

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>