Linux: 2.6.13 Kernel Released

Submitted by Jeremy
on August 29, 2005 - 2:30am

Linus Torvalds announced the release of the 2.6.13 Linux kernel. "The most painful part of 2.6.13 is likely to be the fact that we made x86 use the generic PCI bus setup code for assigning unassigned resources," Linus began. "That uncovered rather a lot of nasty small details, but should also mean that a lot of laptops in particular should be able to discover PCI devices behind bridges that the BIOS hasn't set up." He went on to note, "we've hopefully fixed up all the problems that the longish -rc series showed, and it shouldn't be that painful, but if you have device problems, please make a report that at a minimum contains the unified diff of the output of 'lspci -vvx' running on 2.6.12 vs 2.6.13. That might give us some clues."

During the 2005 Linux Kernel Developer's Summit it was decided that all major changes need to be merged within two weeks of a major release, giving the rest of the development cycle to fixing bugs [story]. Linus implied that the deadline would be pushed out a week this cycle, "I'm actually going to be away for most of next week, but in general we should now try to do all major merges within the first two weeks of the release. After that, we go into calm-down mode, and if you have work that didn't make the cut, you get to wait until 2.6.14." He also noted that going forward this should mean that major releases happen more frequently. You can download the latest kernel from your nearest Linux Kernel Archive mirror [story], and browse through all the changes using the 2.6 kernel's gitweb interface.


From: Linus Torvalds [email blocked]
To: Linux Kernel Mailing List [email blocked]
Subject: Linux 2.6.13
Date:	Sun, 28 Aug 2005 17:17:29 -0700 (PDT)


There it is. 

The most painful part of 2.6.13 is likely to be the fact that we made x86
use the generic PCI bus setup code for assigning unassigned resources.  
That uncovered rather a lot of nasty small details, but should also mean
that a lot of laptops in particular should be able to discover PCI devices
behind bridges that the BIOS hasn't set up.

We've hopefully fixed up all the problems that the longish -rc series
showed, and it shouldn't be that painful, but if you have device problems,
please make a report that at a minimum contains the unified diff of the
output of "lspci -vvx" running on 2.6.12 vs 2.6.13. That might give us
some clues.

The changes since -rc7 are pretty small, full shortlog and diffstat of
that appended.

As to the new world order: I'm actually going to be away for most of next
week, but in general we should now try to do all major merges within the
first two weeks of the release. After that, we go into calm-down mode, and 
if you have work that didn't make the cut, you get to wait until 2.6.14. 

The plan is that this should bring in the time between releases, so that 
even stuff that misses the deadline won't have to wait _too_ long for the 
next one.

		Linus

----
Al Viro:
  bogus iounmap() in emac
  bogus function type in qdio
  late spinlock initialization in ieee1394/ohci
  mmaper_kern.c fixes [buffer overruns]

Alexey Dobriyan:
  drivers/hwmon/*: kfree() correct pointers
  zfcp: fix compilation due to rports changes

Andi Kleen:
  x86_64: update defconfig - reenable fusion
  x86_64: Tell VM about holes in nodes

Andreas Herrmann:
  zfcp: add rports to enable scsi_add_device to work again

Andreas Schwab:
  m68k: fix broken macros causing compile errors

Anton Blanchard:
  ppc64: Fix issue with gcc 4.0 compiled kernels

Benjamin Herrenschmidt:
  ppc64: Export machine_power_off for therm_pm72 module

Deepak Saxena:
  arm: fix IXP4xx flash resource range

Eric W. Biederman:
  acpi_shutdown: Only prepare for power off on power_off

Heiko Carstens:
  zfcp: bugfix and compile fixes

James Bottomley:
  Fix oops in sysfs_hash_and_remove_file()

James Morris:
  Fix capifs bug in initialization error path.

Jan Blunck:
  sg.c: fix a memory leak in devices seq_file implementation

Jean Delvare:
  hwmon: Off-by-one error in fscpos driver

Jens Axboe:
  cfq-iosched.c: minor fixes

John McCutchan:
  Document idr_get_new_above() semantics, update inotify

Keith Owens:
  Export pcibios_bus_to_resource

Linus Torvalds:
  Only pre-allocate 256 bytes of cardbio IO range
  Ignore disabled ROM resources at setup
  Merge HEAD from master.kernel.org:/.../davem/net-2.6.git 
  Merge refs/heads/upstream-fixes from master.kernel.org:/.../jgarzik/netdev-2.6 
  Linux v2.6.13

Marcelo Tosatti:
  ppc32 8xx: fix m8xx_ide_init() #ifdef

Mark M. Hoffman:
  I2C hwmon: kfree fixes

Michael Chan:
  [TG3]: Fix ethtool loopback test lockup

NeilBrown:
  md: create a MODULE_ALIAS for md corresponding to its block major number.
  md: clear the 'recovery' flags when starting an md array.

Paolo 'Blaisorblade' Giarrusso:
  Fixup symlink function pointers for hppfs [for 2.6.13]
  hppfs: fix symlink error path

Patrick Boettcher:
  fix for race problem in DVB USB drivers (dibusb)

Patrick McHardy:
  [FIB_TRIE]: Don't ignore negative results from fib_semantic_match

Paul Jackson:
  cpu_exclusive sched domains build fix
  undo partial cpu_exclusive sched domain disabling
  completely disable cpu_exclusive sched domain

Paul Mackerras:
  Remove race between con_open and con_close

Ralf Baechle:
  6pack Timer initialization
  Fix 6pack setting of MAC address

Roland Dreier:
  IB: fix use-after-free in user verbs cleanup

Steve French:
  Fix oops in fs/locks.c on close of file with pending locks

----
 Makefile                                  |    2 +
 arch/arm/mach-ixp4xx/coyote-setup.c       |    2 +
 arch/arm/mach-ixp4xx/gtwx5715-setup.c     |    2 +
 arch/arm/mach-ixp4xx/ixdp425-setup.c      |    2 +
 arch/ia64/pci/pci.c                       |    1 +
 arch/ppc/syslib/m8xx_setup.c              |    2 +
 arch/ppc64/kernel/setup.c                 |    2 +
 arch/sparc64/kernel/pci.c                 |    1 +
 arch/um/drivers/mmapper_kern.c            |   41 ++++++-----------------------
 arch/x86_64/defconfig                     |   21 +++++++++------
 arch/x86_64/kernel/e820.c                 |   34 ++++++++++++++++++++++++
 arch/x86_64/mm/init.c                     |   16 ++++++++---
 arch/x86_64/mm/numa.c                     |    8 +++++-
 drivers/acpi/sleep/poweroff.c             |    6 ++++
 drivers/block/cfq-iosched.c               |   31 +++++++++++++++-------
 drivers/char/vt.c                         |    2 +
 drivers/hwmon/adm1026.c                   |    4 +--
 drivers/hwmon/adm1031.c                   |    4 +--
 drivers/hwmon/adm9240.c                   |    2 +
 drivers/hwmon/fscpos.c                    |    2 +
 drivers/hwmon/smsc47b397.c                |    2 +
 drivers/hwmon/smsc47m1.c                  |    2 +
 drivers/ieee1394/ohci1394.c               |    8 +++++-
 drivers/infiniband/core/uverbs_main.c     |    3 +-
 drivers/isdn/capi/capifs.c                |    4 ++-
 drivers/md/md.c                           |    2 +
 drivers/media/dvb/dvb-usb/dibusb-common.c |   19 ++++++++++---
 drivers/media/dvb/dvb-usb/dvb-usb-dvb.c   |    5 ++--
 drivers/net/hamradio/6pack.c              |    9 ++----
 drivers/net/ibm_emac/ibm_emac_core.c      |    2 +
 drivers/net/tg3.c                         |    6 +---
 drivers/pci/setup-bus.c                   |    2 +
 drivers/pci/setup-res.c                   |    4 ++-
 drivers/s390/cio/qdio.c                   |    2 +
 drivers/s390/scsi/zfcp_aux.c              |   28 ++++----------------
 drivers/s390/scsi/zfcp_ccw.c              |   10 +++++++
 drivers/s390/scsi/zfcp_def.h              |    2 +
 drivers/s390/scsi/zfcp_erp.c              |   25 ++++++++++++++++--
 drivers/s390/scsi/zfcp_ext.h              |    2 +
 drivers/s390/scsi/zfcp_fsf.c              |    1 +
 drivers/s390/scsi/zfcp_scsi.c             |   25 ++++++++++++++----
 drivers/s390/scsi/zfcp_sysfs_port.c       |    2 -
 drivers/scsi/sg.c                         |   13 ++++-----
 fs/cifs/file.c                            |    2 +
 fs/hppfs/hppfs_kern.c                     |   30 ++++++++-------------
 fs/inotify.c                              |    2 +
 fs/sysfs/inode.c                          |    4 +++
 include/asm-m68k/page.h                   |    6 ++--
 include/asm-ppc64/bug.h                   |    7 +++--
 include/asm-x86_64/e820.h                 |    2 +
 kernel/cpuset.c                           |   30 +++++++++------------
 lib/idr.c                                 |    2 +
 net/ipv4/fib_trie.c                       |   14 +++++-----
 53 files changed, 277 insertions(+), 185 deletions(-)


Related Links:

So...

Cabal
on
August 29, 2005 - 5:51am

What's going to be next month's policy for kernel development? Perhaps we should start a pool.

What's so wrong about tweaking a process?

Jesper Juhl (not verified)
on
August 29, 2005 - 7:28am

It's been well over a year since it was desided not to open 2.7 but continue 2.6 after a new model. Since then the process has been tweaked a little (once?, twice?) and what's wrong with that?
Kernel development is not static, code changes, people change, the world around us changes. The kernel development model needs to keep up. When something is found to be sub-optimal it is discarded and something else is tried instead.

I find it odd that I see a lot of people whining about the development process and the changes being made to it, both here and on other websites and mailing lists. The funny thing about it is that you very rarely hear kernel developers (you know, the people actually affected by this stuff) complaining - actually quite the opposite in many cases.

Right. And Debian should learn too?

Bombadil (not verified)
on
August 29, 2005 - 6:20pm

You are right about everything you said - especially the bit about people who don't take part in the development process complaining about it.

As a side note, I have a growing feeling that Debian might benefit from adopting such a process - e.g.

1. port over to GCC 4.x, fix bugs, release
2. upgrade X11, fix bugs, release
3. upgrade Gnome & KDE, fix bugs, release
4. upgrade versions of all the smaller packages, fix bugs, release

And so on and so forth.

Instead, Debian seems to try to do it all at once and therefore the release cycle is so painfully slow.
(who was is that coined the term "release often, release early"? Was it in "The Cathedral and the Bazaar"?)

Err, Debian is slow to releas

Steek Hutzee (not verified)
on
August 30, 2005 - 11:43pm

Err, Debian is slow to release for other reasons, like creating a Debian installer that should works for 11 (12?) architectures and who knows how many HW permutations...

Well

aapje (not verified)
on
August 31, 2005 - 12:34am

Its about the only distribution which installs on 11 or 12 architectures. I certainly don't know another one. While we have zillions for x86. Its nice to have something familiar when you install Linux on a non-x86 architecture. Not only familiar, its almost the same!

Well

Andrew (not verified)
on
September 2, 2005 - 9:10pm

What about using Gentoo then? It compiles to heaps of architectures and YOU decide what and when you will update.

Want the latest kernel? Fine, go for it
Want to recompile everything with GCC4, well, you have rocks in your head, but OK, we'll let you.
Don't want to waste space on Gnome, but want to run enlightenment instead? OK, you may have poor taste but who are we to stop you.

This whole waiting for Debian argument is pointless.

How exactly is this so incred

Anonymous
on
September 1, 2005 - 12:46am

How exactly is this so incredibly difficult? OpenBSD installs on a comparable number of architectures and maintains a 6-month release cycle.

s/Open/Net/ , right?

Wladimir Mutel (not verified)
on
September 1, 2005 - 10:31am

s/Open/Net/ , right?

no, fool

Anonymous (not verified)
on
September 9, 2005 - 8:35pm

No, he meant what he said.

From http://openbsd.org/plat.html, I see 16 platforms.

From http://openbsd.org/goals.html,
"Make a CDROM-based release approximately every six months..."

not a good idea...

Anonymous... (not verified)
on
August 30, 2005 - 12:40pm

I write kernel code and I don't think redoing PCI in the middle of a release is a good idea. This is major kernel version material. Not a little thing you do in between minor releases. This is typical for linux kernel development though which is not exactly known for trying to achieve quality. This'll be tweaked for the next year or so; can't wait to drop this onto my production machine.

"wait until 2.6.14" ?? surely

BastiaanNaber (not verified)
on
August 29, 2005 - 6:06am

"wait until 2.6.14" ?? surely this should be 2.6.15 ?

he probably meant "you have t

Anonymous2 (not verified)
on
August 29, 2005 - 7:15am

he probably meant "you have to wait until .14 happened and then you have the chance for another two weeks to get your stuff merged"

Why did x86 have it own PCI c

nate (not verified)
on
August 29, 2005 - 9:02am

Why did x86 have it own PCI code to start with?

Don't know the history, but I'll venture a guess

Mr_Z
on
August 29, 2005 - 1:51pm

There were a number of subsystems in Linux that showed up for x86 first that were written specifically to the PC way of doing things. Later, more general versions were written for the various other architectures that started adopting PC technologies. For instance, came to PCs first and later showed up on Alpha, SPARC and PPC boxes, amongst other things.

I'm willing to bet that that's the case here with PCI. It appears the x86 PCI code started life as part of the BIOS interfacing code. Since there's more eyeballs on the x86 stuff and there's a huge variety of quirky, I'm guessing it was easier to maintain its PCI code as x86-specific than bend it to meet the needs of the other platforms as Linux got ported. Of course, as PCI matured and got more complicated, at some point this argument no longer held up.

In contrast, it appears the other platforms may've started with their own PCI kludges, but ended up merging them together to lower the overall burden.

Just my Scientific Wild Arsed Guess.

"""For instance, came to PCs

Anonümous (not verified)
on
August 29, 2005 - 11:20pm

"""For instance, came to PCs first and later showed up on Alpha, SPARC and PPC boxes, amongst other things."""

I think you lost a subject there... :/

Well looky there.

Mr_Z
on
August 30, 2005 - 3:45am

Well looky there: It's a typo! At least the meaning was clear.

"""At least the meaning was c

Anonümous (not verified)
on
August 30, 2005 - 11:39am

"""At least the meaning was clear."""

Actually, no. I still don't know what came to PC first.

PCI.

Mr_Z
on
August 31, 2005 - 7:53am

PCI.

Thank you. Guess I'm thick, b

Anonümous (not verified)
on
August 31, 2005 - 2:24pm

Thank you. Guess I'm thick, but it really wasn't clear to me.

locks.c patch from 2.6.9

Vito Caputo (not verified)
on
August 29, 2005 - 12:33pm

Is this patch ever going to make it into 2.6 proper?
http://www.ussg.iu.edu/hypermail/linux/kernel/0409.2/0902.html

I've been running it on 2.6.12.4 to fix system crashes under heavy load with mod_python & apache2 blocking on many file locks (they are used for global mutex implementation provded by libapr and connection serialization in apache2)

it has so far successfully fixed the problem.

> Is this patch ever going to

Anonymous... (not verified)
on
August 29, 2005 - 12:50pm

> Is this patch ever going to make it into 2.6 proper?
> http://www.ussg.iu.edu/hypermail/linux/kernel/0409.2/0902.html

It would probably stand a better chance if you asked that on LKML instead of here.
Submit / re-send it to lkml (don't forget to include relevant people on CC) and include a description of your experience with it - that might get things moving - talking about it here sure won't.

What about Reiser4 filesystem.

bongobongo
on
September 1, 2005 - 7:56am

So.. why was Reiser4 not included this time?

What are the reasons for not including it?

And... What are the problems that have to be solved before it can be included in kernel?

Re: What about Reiser4 filesystem.

...Anonymous... (not verified)
on
September 2, 2005 - 1:16pm

Reiser4 still needs 8Kb kernel stacks.
There's still some controversy over some Reiser4 features.
Reiser4 has not been in -mm /that/ long, it needs more testing.

People who are desperate to use it can run a -mm kernel and help test it.

Why does Reiser4 need 8Kb kernel stacks before being merged?

bongobongo
on
September 2, 2005 - 3:30pm

Thanks for reply, but...:

Why does Reiser4 need 8Kb kernel stacks before being merged?

What are the main controversy issues?

Reiser's stacks need to go on a diet.

Mr_Z
on
September 3, 2005 - 3:24pm

The kernel is moving from 8K kernel stacks to 4K kernel stacks by default on x86, to reduce the number of "order 1" (two consecutive page) allocations.

Reiser4 still has too large of a stack footprint on some paths to work with 4K kernel stacks. This needs to be fixed if it's going to get merged into mainline.

Please merge Reiser4

Marcolio (not verified)
on
September 1, 2005 - 10:46am

I' have been playing with reiser4 with external patch's from -mm and the ones from namesys, and it's extremely stable (i have been doing heavy loads ) please merge it! don't wait for Linux 2.7 for that!

Marco

Tested 2.6.13, is painfully slow

Tomas M (not verified)
on
September 7, 2005 - 10:39pm

I tested 2.6.13 on my productive server.
I've compiled it with the same .config like 2.6.12.6.
The only exception was that I've changed MHZ to 100 (I think that default in 2.6 kernels was 1000).

The new 2.6.13 kernel wasn't good for me. Load increased dramatically (for times worse, 40 instead of 10). I don't know if my problem was caused by these HZ, nevertheless there's something strange...

I recomment to stay with 2.6.12.6 untill this is resolved.

Kernel 2.6.13 Unstable

James Cornell (not verified)
on
September 12, 2005 - 10:03pm

Agreed. I gave 2.6.13 and 2.6.13.1 a chance for a few days and tons of problems arose, even on a very very generic Intel 82801 chipset. Seems that the HZ changes increased latency signifigantly and some drivers have broken. I recommend 2.6.12.6 until the team hits an even number, then try it again. The naming convention for kernels is a bit strange, so I can promise an even release say 2.6.14, will be any better. I´m hoping that Andrew M and Linus T fix the 160 or so reported bugs soon.

2.6.12 has problems too

Anonymous (not verified)
on
September 30, 2005 - 2:29am

2.6.12 panics when doing massive "connect()"s over bluetooth while 2.6.10 and 2.6.13 don't. By massive I mean this: after 3 consecutive connects with no delay between them (program calls connect then exits then it's called again - repeat forever), kernel stalls for 20 seconds and then dies with a panic (NULL pointer). This happens for latest 2.6.12 too.

Agreed

JustinHart
on
September 18, 2005 - 5:13pm

I thought that I had messed something up until I started reading these posts. I'm going to downgrade tonight. This is killing my productivity.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.