Remix.run Logo
chongli 6 hours ago

Timer coalescing, idle wakeup minimization, race-to-idle optimization, etc.

It's not a single oversight, it's a massive project that needs to be carried out throughout an operating system. Linux's usual advantage of decentralization and wide distro variety with massive customization potential is a disadvantage here. To have a power-efficient system you need all of the software to be working toward the same goal. One bad actor process can completely hose the system's power efficiency.

AnthonyMouse an hour ago | parent | next [-]

> Linux's usual advantage of decentralization and wide distro variety with massive customization potential is a disadvantage here.

How so? You need each thing to do its part, but that decentralizes perfectly well because it isn't actually integration at all, it's just a hundred different pieces each doing it right.

And open source has the further advantage that you're not beholden to the maintainer. If Framework notices that piece #37 is wasting power, they have the code and can fix it themselves. If the upstream isn't completely asleep at the switch they'll accept the patch, and even if they are you can still ship it on your own device.

Where this can get messed up is in one of two ways. The first is if something is not open source and then the vendor fails to fix it but also fails to supply anyone else with the capacity to fix it. But this isn't a problem with integration, it's a problem with filthy knuckleheads not keeping their heads on straight and calls for some new competitors to show them how to do it.

The second is something like an actual trade off, e.g. if you want the machine to be able to wake via network packet or pressing a key on the keyboard then you'd need the network controller or USB controller to stay in a low power state instead of being dead off. And then that might cost you half a watt, but you're paying it in order to get something, and then somebody has to decide if Linux users would typically want a default where that feature works or one where the battery can last a month in standby, since it's one or the other.

chongli 39 minutes ago | parent [-]

You’re right that it’s “a hundred different pieces each doing it right” but you gloss over the disadvantage of decentralization: getting everybody on board with the project. With a centralized product (such as at Apple) the CEO can say “I want to increase battery life on existing hardware by 20% before next release or you’re fired” and people will work 80 hours a week to get that done. With open source? You’ve got ten thousand different projects, each with their own leadership and their own priorities. You have no leverage at all to get them all to work on power efficiency, so naturally it takes a back seat to them working on their favourite features.

AnthonyMouse 21 minutes ago | parent [-]

Because it's not actually a disadvantage, because if it's actually open source no one can stop anyone else from doing it. If you or your company wants to work 80 hour weeks to improve power efficiency on Linux, you can submit patches to all the different projects where nobody else is doing the work.

And that actually happens in real life. Most of the projects care to begin with because they use their own stuff and don't want to ruin their own battery life or have a competitive disadvantage over the alternative. Then other third parties that find business value in having it work pay someone to clean up the odd stragglers when one of them didn't do it or have the resources to do it themselves.

The main problem is when some vendor both doesn't do it and is hostile to anyone else doing it.

valleyer 2 hours ago | parent | prev [-]

> Timer coalescing, idle wakeup minimization, race-to-idle optimization

These are important things, but they do not matter for power consumption in sleep, when the CPU is not executing instructions.

chongli 2 hours ago | parent [-]

That's a hardware issue.