Linux kernel 3.5 has been released. New features include support for metadata checksums in Ext4, userspace probes for performance profiling with systemtap/perf, a simple sandboxing mechanism that can filter syscalls, a new network queue management algorithm designed to fight bufferbloat, support for checkpointing and restoring TCP connections, support for TCP Early Retransmit (RFC 5827), support for android-style opportunistic suspend, btrfs I/O failure statistics, and SCSI over Firewire and USB. Here’s the full list of changes.
Linux 3.5 released
2012-07-23 3:52 amSoulbender
My somewhat disconnected opinion is that the overall design seems to be a kludge
In other words, a perfect fit for the Linux kernel
2012-07-23 4:38 amAlfman
Well, we know that there was a lot of pressure to merge google’s drivers, which are incompatible without these new wake locks, and I suspect that’s the prime reason these are being pushed into mainline.
I dislike that it’s a system wide lock, it’s a step back from the fine grained sleep states already supported by linux. It also adds a tight coupling between userspace and kernel. Now ordinary user space apps like gmail and google maps on android are responsible for system-wide power management, which seems silly to me.
Whatever the PM problems were with google’s reference hardware, they should have fixed the hardware instead of adding these crazy wake locks.
2012-07-23 7:17 amdsmogor
I know it was meant funny, but this case proves otherwise. Wakelock have not yet found its place in the kernel despite huge pressure.
2012-07-23 5:14 amValhalla
AFAIK the original controversy was that the Linux devs thought Android’s suspend mechanism (suspend blockers) was too aggressive and therefore the Linux devs instead created ‘autosleep’ and ‘wake locks’ which offers a similar functionality but in a more flexible(?) way and are hoping that the Android devs will use these features instead of suspend blockers, they’ve also made the API mimic the suspend blocker API so as to make it as easy as possible for the Android devs to pick up.
2012-07-23 5:18 amAlfman
I’d like somebody to explain what the differences are between androids mechanisms and what’s been accepted into mainline, if anyone here knows…?
2012-07-23 6:22 amValhalla
Perhaps this article sheds some light on it:
Also, here is technical background on the ‘suspend blocker’ controversy: (very technical, kernel dev-style)
edit: nvm the second one, it’s what you linked to in the first post
Edited 2012-07-23 06:24 UTC
2012-07-23 7:11 amdsmogor
Not exactly. This is what got merged in: https://lwn.net/Articles/479841/.
It’s main purpose is to mimic wakelocks using existing kernel machinery in quest for running Android userland on stock Linux kernel and keep changes in drivers minimal.
Looks like some seriously nice performance boosts for the open source radeon drivers
uprobes look handy for testing application performance.
2012-07-23 1:38 amMechaShiva
That’s what she said!
(sorry. couldn’t help it.)
“Android-style opportunistic suspend”
This looks interesting, anyone care to explain it in layman’s terms?
2012-07-23 4:31 amElv13
Tux can now go to bed more often, saving more energy for eventual world domination?
Is that ok?
Edited 2012-07-23 04:31 UTC
2012-07-23 4:59 amAlfman
As I understand it, on a very general level they’ve added a new synchronisation lock in the kernel, which is accessed directly by userspace applications to block sleep states. Once no userspace applications hold a lock, the entire system immediately enters a sleep state. These transitions occur very frequently as one receives input.
The thing about the google G1 hardware was that it only supported a system-wide sleep state, not per-device, which is why google built that into android. But most hardware can put individual components to sleep and wake them up individually on demand, and I argue is better than a system wide sleep. Someone please correct me if I’m wrong, but I think if any android application is using one device with a wake lock, then all active yet idle devices on the system remain awake during that interval.
2012-07-23 7:30 pmrahim123
Thanks for the explanation!
Anyone knows why debian unstable (which I’m running) is still on 3.2?
2012-07-23 12:56 pmLennie
I think because Debian is working on making a release ? They are (almost) in freeze ?
2012-07-23 3:06 pmjudgen
If you want a newer kernel added to SID, just add the repos from aptosid-kernel. Then you get new kernels more often. And totally compatible with SID.
Here’s a description of the controversial wake locks being merged from android.
My somewhat disconnected opinion is that the overall design seems to be a kludge. but the link apparently mentions google’s G1 reference hardware had inadequate power management functionality which must have influenced their design.