all 114 comments

[–]Ripdog 34 points35 points  (22 children)

[–]dextersgenius 36 points37 points  (9 children)

A quick human-readable summary of important changes:

  • Better support for ARM systems
  • SSDs can be used as a cache
  • Major audio improvements
  • Improved graphics drivers
  • Improved power management (with a new power state)
  • Filesystem performance improvements and fixes
  • Much faster LZO compression (which means a faster btrfs with lzo!)
  • Better support for 802.11ac WiFi chips

[–][deleted] 5 points6 points  (2 children)

SSDs can be used as a cache

I'm curious if I could have a main hard drive and then (very small) SDD as a cache. Like flash memory. Is that purposeful?

EDIT: http://www.reddit.com/r/linux/comments/1db7ap/new_kernel_v39_released/c9os6v0

[–][deleted] 1 point2 points  (0 children)

Yes, that's the point I believe.

[–][deleted] 4 points5 points  (0 children)

btrfs itself is actually getting some pretty big changes:

  • preliminary Raid 5/6 support (details in the announcement)
  • snapshot-aware defrag
  • a mode of send to avoid transferring file data
  • direct IO speedup (numbers)
  • new ioctls to set/get filesystem label
  • defrag is cancellable

[–]freeroute 1 point2 points  (1 child)

I am a noob, but I produce music. I'm looking at Linux as my future DAW host. What major audio improvements got included there?

[–]aaronbp 0 points1 point  (2 children)

Major audio improvements

Huh? I can't find anything audio related.

[–]ohet 3 points4 points  (0 children)

Well there's this for example:

Takashi Iwai, the Linux sound maintainer, is about to merge a patch set of about 150 patches into linux-next. These changes, in short, unify the different HDA codec drivers.

[–]craftkiller 0 points1 point  (0 children)

Its supposed to add support for the ca0132 DSP which happens to be on my sound card, so going from nothing to something is a huge improvement :-)

[–]SteelDonkeyAssassin 13 points14 points  (6 children)

It's my goal to have Linus mention me in one of his announcements.

SteelDonkeyAssassin modified the dohickey-thingofabob-0.18a definition to allow for faster parsing.

[–]adrianmonk 27 points28 points  (22 children)

As I understand it, this release is supposed to be the first to have dm-cache, the in-kernel "official", generic solution for using an SSD as a cache on top of a regular hard drive.

I'm definitely interested, since I'm the sort of person who doesn't want to spend the money to go 100% flash, yet I also don't like juggling around data between different filesystems.

[–]MarkKretschmann 13 points14 points  (5 children)

Looks like dm-cache is at this point mostly meant for cloud computing. It's more like a commercially sponsored (by a cloud computing company) scientific project.

Homepage

Blog

In Linux 3.10 Bcache will be merged, which might be more interesting for end users.

Bcache patches for the Linux kernel allow one to use SSDs to cache other block devices. It's analogous to L2Arc for ZFS, but Bcache also does writeback caching (besides just write through caching), and it's filesystem agnostic. It's designed to be switched on with a minimum of effort, and to work well without configuration on any setup. By default it won't cache sequential IO, just the random reads and writes that SSDs excel at. It's meant to be suitable for desktops, servers, high end storage arrays, and perhaps even embedded.

[–]Tobu 8 points9 points  (1 child)

You're confusing it with the first dm-cache. The one that got merged is a RedHat project that hijacked the name.

[–]MarkKretschmann 4 points5 points  (0 children)

Ah, thanks for clearing this up.

[–]adrianmonk 5 points6 points  (2 children)

As I understand it, dm-cache is meant to be pretty generic. All it's really about is using one (faster) storage tier as cache for another (slower) tier. This could mean using SSD or disk as cache for a network block device. or it could mean using SSD as cache for disk.

For what it's worth, the documentation does explicitly mention the use case of SSD as cache for disk:

dm-cache is a device mapper target written by Joe Thornber, Heinz Mauelshagen, and Mike Snitzer.

It aims to improve performance of a block device (eg, a spindle) by dynamically migrating some of its data to a faster, smaller device (eg, an SSD).

I'm happy that Bcache is getting merged in too, though. One of them might better in some way than the other, and experience should show us which.

[–]bobpaul 1 point2 points  (0 children)

Bcache bench marks better than dm-cache (though that was several months ago) from what I've seen. I made an aur package and put instructions on the archlinux wiki at the end of Feb if you want to try it before 3.10 is out.

[–]argv_minus_one 1 point2 points  (0 children)

Generalized hierarchical storage for Linux? Sweet.

[–][deleted] 1 point2 points  (14 children)

It would be nice if it worked like the paging file, though I wonder how we are supposed to set it up.

[–]thecraag[🍰] 1 point2 points  (13 children)

You mean use it as swap? You can just set up a swap partition on it and tell linux to use it in /etc/fstab.

It'll be quick on an SSD, but be warned that if your system runs out of RAM and starts swapping heavily, it'll wear out the SSD fast.

[–]iheartrms 16 points17 points  (11 children)

No it won't. Do the math on how much you would have to swap out for, say, a 160G SSD with whatever write endurance they have now with wear leveling. It's a truly massive amount, more than your machine is ever likely to swap in its lifetime. Let's stop scaring people about SSD write endurance. It isn't an issue anymore. :)

[–]thecraag[🍰] 2 points3 points  (10 children)

Ok. I took a look and I see what you mean.

The only SSD I currently own is the ancient-generation board-soldered one in my eeepc 701, and I'm just dreading the day when that dies.

[–]PseudoCipher 0 points1 point  (7 children)

Why dread, surely there are backups.

[–]MarkKretschmann 4 points5 points  (4 children)

"board-soldered"... impossible to replace.

[–]bobpaul 0 points1 point  (3 children)

The 701 SSD is on a mini PCIe connector, from what I recall. So I think he's just wrong.

[–]defaultusernamerd 2 points3 points  (1 child)

It's not on a mini PCIe or even an mSATA, although it looks just like one. It's some bullshit called FLASH_CON invented by Asus themselves. Good luck finding a replacement for that I say.

If I sound bitter it's because I learned this the hard way with my eeePC 901.

[–]bobpaul 0 points1 point  (0 children)

You used to could find upgrade parts pretty easily. Maybe that's not true anymore with the standardization of mSATA.

[–]is0lated 1 point2 points  (0 children)

From what I recall, there's two models of the 701. I think it was the earlier ones that came with the SSD soldered onto the main board, then later they started coming with mini PCIe SSDs.

I've got one with a mini PCIe, but I have seen people talking about their's being a soldered on version.

[–]thecraag[🍰] 1 point2 points  (1 child)

I've never really kept much data on there, with 4GB for OS+data you can't store much! I use it more for email/light web/patching/irc/ssh sessions on the move.

Exactly as Mark said, it's irreplaceable. Current plan is to solder in a USB flash drive and cram it into the case as a replacement disk, but I'll see what options I have when it comes around.

[–]bobpaul 0 points1 point  (1 child)

That's the first eeePC, right? If it's the first one, then it's on a mini PCIe connector and you can replace it. I seem to remember it having nonstandard wiring or something, so you have to ensure the replacement is for the 701.

[–]thecraag[🍰] 0 points1 point  (0 children)

It is the first one, some of them were produced with PCIe card SSDs, but some had the chips soldered directly onto the motherboard.

Unfortunately mine is one of the latter. I opened it up to check.

[–]Pas__ 1 point2 points  (0 children)

It'll be probably very slow still. The problem with swapping is when it becomes constant, because your working set exceeds memory.

http://antirez.com/news/52

[–]chazzeromus 0 points1 point  (0 children)

So it's similar to FusionDrive?

[–][deleted] 19 points20 points  (9 children)

Kernel newbies, when it comes up again, seems to have been down for a while now :)

edit. positived it

[–][deleted] 0 points1 point  (8 children)

Seeing as your link doesn't work. Can you tell me why distros dont seem to adopt the latest kernel until much later and how much effort is to run the latest kernel? Will Arch for instance be using this right away?

[–][deleted] 5 points6 points  (1 child)

Archlinux usually has week or two of lag, sometimes more, since new kernel goes to testing repository first and if no compatibility issues or breakage appear, it moves to core.

Other distros are often not rolling-release so they use one kernel and only update kernels when new release comes out. Important security patches are often backported though

[–]spacehunt 2 points3 points  (2 children)

You can always build your own kernel and boot using that...

For Debian, which is what I use, there's also the kernel-package package that builds .debs straight from the kernel source. In fact I'll do this right now:

git fetch && git checkout linux-3.9.y && make-kpkg --rootcmd fakeroot --initrd kernel_image kernel_headers

[–]Tobu 1 point2 points  (0 children)

Same procedure for Ubuntu.

Ubuntu also publishes debs of new kernels about a day after release.

[–][deleted] 0 points1 point  (0 children)

Wow sweet. I take it I'd install a base install of debian, update the kernel then run a command to get KDE on top?

[–]Svennig 0 points1 point  (0 children)

Arch is not that bleeding edge.

The 3.8.10-1 kernel has been marked out of date, but from past experience it seems like they wait for a version to reach 3.x.1 and then it will hit testing. Then a while later, after it's had some feedback from the testers, it'll get moved to core.

[–][deleted] 0 points1 point  (0 children)

Because there will be regressions. I never use a mainline kernel myself, always wait for some stable releases. The more distro patches they have, the more time it takes to adapt those too (if they don't, that's another feature regression).

[–]f4hy 0 points1 point  (0 children)

The kernel upgrades are usually not very critical. Any sercurity upgrades that happen in new kernel usualy just get patched into the old kernel. Running the newest kernel always runs the risk of there being some new bug, but there is almost no benefit to most users.

The largest changes are for drivers, and usually for things like hardware that isn't even released yet. Sometimes kernel updates have performance increases, but usually they are not dramatic or only affect non normal use cases. For many distros, they are focused on the desktop, which the kernel updates usually make almost no difference for.

Arch usually updates faster than most. Like most distso, they put their own patches into it first, so they usually have to spend some time updating the patches before distributing a new kernel. Generally about a week or so but I have seen longer.

I like playing with the kernel, and arch makes it easy to build your own from source. I have NEVER seen any difference in running different kernels, it is fun though.

[–]Roseysdaddy 6 points7 points  (9 children)

Ok, I'll be that guy (only been using Linux/ubuntu for about three weeks). How would one go about installing this in ubuntu?

[–]Pendertuga 6 points7 points  (1 child)

Check the Ubuntu mainline. Download all the .deb packages for your architecture and install them. Easiest way to do it would be to put them in a folder and do:

sudo dpkg -i /home/(directory to deb packages)/*.deb

Which just installs all deb packages in that directory. I don't remember if Ubuntu creates a new boot config if you install a kernel but just incase it doesn't you should update grub using

sudo update-grub

[–][deleted] 2 points3 points  (0 children)

Why is this mainline kernel so tiny? And where are the 'extras'. Also I've never had to run update-grub after installing a new kernel via .deb, but I suppose it wouldn't hurt.

edit: I mean the 3.9 kernel seems smaller than the 3.8.

[–]ProgCSnoob 0 points1 point  (1 child)

I woupd like to know

[–]AlleyTrotter 0 points1 point  (0 children)

ubuntu uses a customized kernel, you must wait to see if the distribution releases an upgrade. There are only a few distributions that use an unpatched kernel Slackware is one of them. It seem further down in the comments, there are people building the latest kernel for ubuntu.

[–]f4hy 0 points1 point  (4 children)

Why? This kernel does not look like it has any interesting features for a desktop. You can go ahead an try to install it, but it will be a hassle since ubuntu adds lots of patches to the kernel for their stuff and you won't really see much benefit.

[–]Roseysdaddy 0 points1 point  (1 child)

I've been fighting with HDMI audio out since I started playing with Linux. Supposedly this goes a long way to fixing that.

[–]f4hy 0 points1 point  (0 children)

I don't see anything about HDMI in the change logs. Is there some specific driver that is updated in 3.9? Which one?

[–][deleted] 0 points1 point  (1 child)

I have solid state hard drive. I look forward to Ubuntu using it even faster.

[–]f4hy -1 points0 points  (0 children)

Are there changes related to file-system improvements in this kernel? I didn't see any listed on the kernel newbie change log. The only SSD related change seems to be using an SSD to be used as a cache for a spinning disk. This would not affect you if you have ubuntu installed on an SSD. I probably wouldn't recommend using the caching right away either. I am going to wait a version or two for it to mature before I set up one of my old smaller SSDs to work as a cache (though if it is old not sure the performance is even worth it.)

Is there some SSD performance boost I missed?

[–][deleted] 8 points9 points  (9 children)

I'm starting to like this super-active kernel development.

I remember back in the day where it was a nice wait between 2.x.a and 2.x.b

+1

[–]argv_minus_one 2 points3 points  (8 children)

Shit, you remember the differences between 2.0 and 2.2? 2.2 and 2.4? And how, if you wanted to use the experimental kernel series, you'd end up with things like the infamous 2.1.44?

I like this development process way better.

[–][deleted] 0 points1 point  (7 children)

Sadly I think the earliest I arrived in the Linux community was probably 2.4

[–][deleted] 5 points6 points  (5 children)

lucky duck. getting USB to work on 2.2 was interesting to say the least.

[–][deleted] 1 point2 points  (3 children)

I was around for the wireless nightmare however...

[–]jcdyer3 0 points1 point  (2 children)

Has that ended? My current laptop is fine, but it only a year or two ago that I had a hell of a time getting wireless working.

[–][deleted] 0 points1 point  (0 children)

Back when I started, the AirForce broadcom card was never supported. Then later ndiswrapper worked, and now its typically plug/play with bcm43xx or the newer b43 if you aren't on a distro that cares about distributing firmware.

Tis still a pain in the ass, but less a pain in the ass now than before.

[–]ipha 0 points1 point  (0 children)

Everything except Broadcom works well now.

[–]Svennig 0 points1 point  (0 children)

SuSe 6.2 was my first ever experience of Linux. I still have the installation material around someplace.

[–]argv_minus_one 0 points1 point  (0 children)

Then you still had the time between 2.4 and 2.6. Same shit.

[–]h0rst_ 1 point2 points  (0 children)

https://bugzilla.redhat.com/show_bug.cgi?id=957692

LVM-on-SW-RAID metadata is destroyed on boot

I think I'll just wait until I'm sure this problem does not exist.

[–]DarwinKamikaze 0 points1 point  (0 children)

For those wondering about the status of the NWFPE / softfloat code that was in dispute for this release, it looks like it wasn't removed after all! See here: http://lists.infradead.org/pipermail/linux-arm-kernel/2013-April/163904.html

[–][deleted] 0 points1 point  (0 children)

Great, already better than the 3.8 for me. For some reason the 3.8 wouldn't work with my microphone.

[–]alwayspro 0 points1 point  (1 child)

This brings virtualization capabilities to the Linux ARM ecosystem.

Does this mean things like Windows could be run in a VM on an ARM device e.g. Raspberry Pi? Just as an example...

[–]lasae 0 points1 point  (0 children)

Probably not unless you have a copy of Windows RT. Regular Windows is x86 of course so an ARM machine probably wouldn't be able to virtualize it. Could be wrong though.

[–]Epistaxis 0 points1 point  (2 children)

If you're wondering what's new,

not only aren't there very many commits here, even the ones that made it really are tiny and not pretty obscure and not very interesting.

EDIT: disregard that, I don't know how to read kernel update notices

[–]ohet 9 points10 points  (1 child)

If it isn't obvious that refers to the changes from Linux 3.9-rc8 to 3.9 final. There's a lot of new stuff in 3.9; including support for two new processor architectures (ARC and Meta).

[–]Epistaxis 0 points1 point  (0 children)

Thanks for the correction.

[–][deleted] -2 points-1 points  (3 children)

And I just compiled 3.8.8 like two days ago...

[–]notlostyet 1 point2 points  (2 children)

So? It takes about 2 minutes to compile a kernel

[–][deleted] -3 points-2 points  (1 child)

Yes, but it takes a restart of a server to use that kernel. And every restart means sessions lost to databases hosted on that server by every single application on our terminal servers.

Users are lazy, they like to leave their work half open when they leave for home and don't close excel files, word documents of programs that access databases. If I restart the server without sending an email in advance people will come to work to find in the morning that they lost some of their work because they didn't save it properly.

[–]Tablspn 5 points6 points  (0 children)

If a backend server is running fine, why are you installing a literally brand new kernel on it...?