Linus Torvalds announced the release of the 2.6.16 Linux kernel. He noted, "not a lot of changes since -rc6, but there's various random one-liners here and there (a number of Coverity bugs found, for example), and there are small MIPS and PowerPC updates." 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 v2.6.16
Date: Sun, 19 Mar 2006 22:23:04 -0800 (PST)
Ok, it's being mirrored out right now, the git tree should already be all
there, the tar-file and patches are still uploading.
Not a lot of changes since -rc6, but there's various random one-liners
here and there (a number of Coverity bugs found, for example), and there
are small MIPS and PowerPC updates.
Appended is the shortlog from 2.6.16-rc6, the full log (from 2.6.15) is on
the web/ftp-sites.
It looks like both Fedora and SuSE end up using a kernel that is pretty
close to this 2.6.16 release, so let's all hope it's good. Give it a good
testing, please,
Linus
---
Adrian Bunk:
[TG3] tg3_bus_string(): remove dead code
SUNRPC: fix a NULL pointer dereference in net/sunrpc/clnt.c
fs/namespace.c:dup_namespace(): fix a use after free
Al Viro:
Fix ext2 readdir f_pos re-validation logic
Albrecht Dreß:
[ARM] 3358/1: [S3C2410] add missing SPI DMA resources
Alessandro Zummo:
[ARM] 3354/1: NAS100d: fix power led handling
[ARM] 3355/1: NSLU2: remove propmt depends
[ARM] 3350/1: Enable 1-wire on ARM
Alexey Kuznetsov:
[NET]: Fix race condition in sk_wait_event().
Andi Kleen:
x86-64: Fix up handling of non canonical user RIPs
Andrea Arcangeli:
Remove obsolete CREDITS address
Andreas Herrmann:
[SCSI] zfcp: correctly set this_id for hosts
[SCSI] scsi_transport_fc: fix FC_HOST_NUM_ATTRS
[SCSI] zfcp: fix device registration issues
Atsushi Nemoto:
[MIPS] local_r4k_flush_cache_page fix
Ben Dooks:
[ARM] 3363/1: [cleanup] process.c - fix warnings
[ARM] 3364/1: [cleanup] warning fix - definitions for enable_hlt and disable_hlt
[ARM] 3365/1: [cleanup] header for compat.c exported functions
[ARM] 3362/1: [cleanup] - duplicate decleration of mem_fclk_21285
Benjamin Herrenschmidt:
macintosh: correct AC Power info in /proc/pmu/info
powerpc: enable NAP only on cpus who support it to avoid memory corruption
Brian Haley:
[IPV6]: fix ipv6_saddr_score struct element
Catalin Marinas:
[ARM] 3356/1: Workaround for the ARM1136 I-cache invalidation problem
Christoph Lameter:
page migration: fail if page is in a vma flagged VM_LOCKED
Page migration documentation update
Consistent capabilites associated with MPOL_MOVE_ALL
page migration: Fail with error if swap not setup
time_interpolator: add __read_mostly
fix race in pagevec_strip?
Dave Jones:
[TUN]: Fix leak in tun_get_user()
Dave Kleikamp:
JFS: Take logsync lock before testing mp->lsn
Dave Peterson:
EDAC: disable sysfs interface
David Brownell:
mtd_dataflash, fix block vs page erase
David S. Miller:
[TCP]: Fix tcp_tso_should_defer() when limit>=65536
e1000 endianness bugs
Dominik Brodowski:
[SCSI] scsi: aha152x pcmcia driver needs spi transport
Eric Van Hensbergen:
v9fs: fix overzealous dropping of dentry which breaks dcache
Eric W. Biederman:
unshare: Use rcu_assign_pointer when setting sighand
GOTO Masanori:
Fix sigaltstack corruption among cloned threads
Greg Smith:
"s390: multiple subchannel sets support" fix
Gregor Maier:
[NETFILTER]: Fix wrong option spelling in Makefile for CONFIG_BRIDGE_EBT_ULOG
Herbert Xu:
[TCP]: Fix zero port problem in IPv6
Hong Liu:
ieee80211: Fix QoS is not active problem
Hugh Dickins:
fix free swap cache latency
Jesse Brandeburg:
e100: fix eeh on pseries during ethtool -t
John Rose:
powerpc: properly configure DDR/P5IOC children devs
Kevin Corry:
dm stripe: Fix bounds
Linus Torvalds:
Revert "x86-64: Fix up handling of non canonical user RIPs"
Linux 2.6.16
Maneesh Soni:
Plug kdump shutdown race window
Markus Rechberger:
Fixed em28xx based system lockup
Matej Kupljen:
[MIPS] Simple patch to power off DBAU1200
Matthew Wilcox:
[SCSI] Add Brownie to blacklist
Michael Chan:
[TG3]: 40-bit DMA workaround part 2
Michael Ellerman:
powerpc: Clarify wording for CRASH_DUMP Kconfig option
Michael Hunold:
Restore tuning capabilities in V4L2 MXB driver
Michael Krufky:
Kconfig: swap VIDEO_CX88_ALSA and VIDEO_CX88_DVB
Michael Neuling:
powerpc: RTC memory corruption
Nathan Scott:
Fix a direct I/O locking issue revealed by the new mutex code.
Olaf Hering:
powerpc: correct cacheflush loop in zImage
powerpc/64: enable CONFIG_BLK_DEV_SL82C105
powerpc: remove duplicate EXPORT_SYMBOLS
Oleg Nesterov:
disable unshare(CLONE_VM) for now
Patrick McHardy:
[NETFILTER]: nfnetlink_queue: fix possible NULL-ptr dereference
[NET_SCHED]: act_api: fix skb leak in error path
[XFRM]: Fix leak in ah6_input
[NETLINK]: Fix use-after-free in netlink_recvmsg
[TCP]: tcp_highspeed: fix AIMD table out-of-bounds access
[IPV4/6]: Fix UFO error propagation
[NETFILTER]: arp_tables: fix NULL pointer dereference
Paul Mackerras:
powerpc: Disallow lparcfg being a module
powerpc: Fix problem with time going backwards
powerpc: update defconfigs
Pavel Machek:
[ARM] 3357/1: enable frontlight on collie
Peter Staubach:
nfsservctl(): remove user-triggerable printk
Ralf Baechle:
Update MAINTAINERS entry for MIPS.
[MIPS] Get rid of the IP22-specific code in arclib.
[MIPS] SB1: Fix interrupt disable hazard.
[MIPS] Work around bad code generation for <asm/io.h>.
[MIPS] Protect more of timer_interrupt() by xtime_lock.
[MIPS] Sibyte: Fix M_SCD_TIMER_INIT and M_SCD_TIMER_CNT wrong field width.
[MIPS] Sibyte: Fix interrupt timer off by one bug.
[MIPS] Sibyte: Fix race in sb1250_gettimeoffset().
[MIPS] SB1: Check for -mno-sched-prolog if building corelis debug kernel.
Ralf Baechle DL5RB:
[AX.25]: Fix potencial memory hole.
Roman Zippel:
posix-timers: fix requeue accounting when signal is ignored
Russell King:
[ARM] Fix muldi3.S
[ARM] iwmmxt thread state alignment
[ARM] Fix "thead" typo
Sam Ravnborg:
kbuild: fix buffer overflow in modpost
Scott Bardone:
[netdrvr] fix array overflows in Chelsio driver
Sergei Shtylylov:
[MIPS] Fix DBAu1550 software power off.
Srivatsa Vaddagiri:
x86: check for online cpus before bringing them up
Tejun Heo:
ahci: fix NULL pointer dereference detected by Coverity
Trond Myklebust:
NFS: Fix a potential panic in O_DIRECT
NFSv4: fix mount segfault on errors returned that are < -1000
SUNRPC: Fix potential deadlock in RPC code
NLM: Ensure we do not Oops in the case of an unlock
Zhu Yi:
ieee80211: Fix CCMP decryption problem when QoS is enabled
little
Can anyone with vanila kernel perform little test for me?
$ RAM="put here amount of ram you have in megabytes"
$ dd if=/dev/zero of=./tmp01 count=$[2*$RAM] bs=$[1024*1024]
$ sync
$ time cp ./tmp01 ./tmp02
this is little test for the behaviour of page cache. on *BSD it take some time. on wind0ze it is somewhat slower. on normal linux the test takes *ages* and make system unusable when cp reaches the middle of the test file.
P.S. the test presumes that you do not have sparse files forced on file system.
Is this really a test of the
Is this really a test of the page cache?
cp, is that the same source code in bsd as in linux?
RE:little
HERE, i'm running 2.6.16
real 1m46.339s
user 0m0.066s
sys 0m14.405s
looks good!
that looks good!
2.2.x, 2.4.x & early 2.6.x were taking very very long time to do that, also more or less locking up system completely.
P.S. important question: how much swap do you have?
RE: looks good!
real 1m50.861s
user 0m0.047s
sys 0m15.359s
Swap is 450Mb
that's _realy_ slow! with la
that's _realy_ slow!
with latest wanila kernel I've got:
real 0m0.007s
user 0m0.004s
sys 0m0.000s
?
dd sets RAM in byte on default.
!
Gna, I mean dd sets sizes in bytes on default. ;)
2.6.16 kernel real 2m47.62
2.6.16 kernel
real 2m47.628s
user 0m0.198s
sys 0m16.423s
Specs? The time is irrelevan
Specs? The time is irrelevant w/out knowing type of HD, type of filesystem, and size of RAM.
Here you go
real 1m50.861s
user 0m0.047s
sys 0m15.359s
Swap is 450Mb
AthlonXP 2600+
1Gb ram
nForce2
IDE:Maxtor 80Gb UDMA 133/7200 rpm
Reiserfs
Slackware 10.2
2.6.16 kernel real 2m47.62
2.6.16 kernel
real 2m47.628s
user 0m0.198s
sys 0m16.423s
my system is
AMD Athlon XP 2800+(barton)
1 gig of ram
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
IDE:Maxtor 80Gb UDMA 133/7200 rpm
ext3
Tried this on my 2.6.10 Ubuntu box.
I ran this on my Ubuntu 5.4 system with Ubuntu's stock 2.6.10 kernel. I have 1GB RAM, a single Opteron 246 (for now), and a 3x300GB SATA software RAID-5 setup with an ext3 filesystem. Judging by "vmstat 1" output, the copy was very well behaved and didn't force anything into swap. Machine felt responsive the whole time. I didn't even notice this copy was running.
For fun, I also ran it on an old RedHat 7.3 machine, with the RH's stock 2.4.18 kernel. That machine is a 1.2GHz Duron with 256MB RAM and an aging 20G IDE drive. Here's how it fared:
Again, vmstat showed pretty tame VM performance, with nothing being pushed to swap. Interactively, the computer felt *slightly* laggy initially when logging in over an ssh connection, but nothing too major.
I grabbed Mr. Peabody and hopped in the Wayback Machine, and ran this same test on my Pentium-60 (yes, sixty, not six hundred) running RH 7.3, Linux 2.4.18, 32MB RAM and a 1GB ancient hard drive...
I don't have any 2.2 kernel based machines to try, but I think I have to call shenanigans on "All of 2.4 sucked."
Linux 2.6.14.2 1.5GB ram 1
Linux 2.6.14.2
1.5GB ram
1GB swap
P4 2.6 (HT on)
System was a bit loaded during test.
Compare with... what?
With GNU dd you can use suffixes like M for megabytes:
$ dd if=/dev/zero of=./tmp01 count=$[2*$RAM] bs=1M
It would be nice if you had provided some results from these BSDs then.
fxxk the test
I think this is not the test of the page cache,but the test of the filesystem's ,disk's and the inod allocateing speed.
The bsd use ufs soft update only merge the inod later,so time cp means nothing for bsd.
I think the bsd test using the cheating data,because it costed only 0.008s in the sys and only 2% 's cpu,but the linux cost 0.8s and 50%'s cpu.while the former yet took longer time waiting experience than linux
the default ext3 sync the journal every 5s , so this test is a butt
2.6.16.x will be a long-living kernel series
This is great news from Adrian Bunk. I hope the kernel will gain more stability by maintaining it longer. If this succeeds, I will certainly have my servers on his tree.
Using 2.6.15.6 config file I
Using 2.6.15.6 config file I have no iptables. I look in /lib/modules/2.6.16/kernel/net/ipv4/netfilter and I seem to be missing a lot of modules. I always use my old config file to make my kernels and never have this problem. I also use a script so I know I did the same thing I do every other time.
Is there a reason my old 2.6.15.6 config file doesn't work with this new kernel?
Well I just had to turn on a
Well I just had to turn on a bunch of iptables stuff. Don't know why the settings didn't transfer from my old config file:
Another problem: Logitech Quickcam module doesn't compile (qc-usb-0.6.3.)
gcc -m32 -Wp,-MD,/usr/src/modules/qc-usb-0.6.3/.qc-driver.o.d -nostdinc -isystem /usr/lib/gcc/i486-slackware-linux/3.4.5/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -Os -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=i686 -mtune=pentium4 -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement -DNOKERNEL -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(qc_driver)" -D"KBUILD_MODNAME=KBUILD_STR(quickcam)" -c -o /usr/src/modules/qc-usb-0.6.3/qc-driver.o /usr/src/modules/qc-usb-0.6.3/qc-driver.c
/usr/src/modules/qc-usb-0.6.3/qc-driver.c:3031: error: unknown field `owner' specified in initializer
/usr/src/modules/qc-usb-0.6.3/qc-driver.c:3031: warning: initialization from incompatible pointer type
make[2]: *** [/usr/src/modules/qc-usb-0.6.3/qc-driver.o] Error 1
make[1]: *** [_module_/usr/src/modules/qc-usb-0.6.3] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.16'
This has always worked on previous kernels:
I think the problem is here:
/usr/src/modules/qc-usb-0.6.3/qc-driver.c
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
owner: THIS_MODULE,
#endif
If I comment this out then it works. Why do I have to do this with kernel-2.6.16?
quickcam compiling issue
I also had the same error while compiling the quick cam driver..
but additionally, when i do a modprobe quickcam , i get
FATAL: Error inserting quickcam (/lib/modules/2.6.16-1.2084_FC5/misc/quickcam.ko): Invalid argument
why is this so?
FATAL: Error inserting quickc
FATAL: Error inserting quickcam (/lib/modules/2.6.16-1.2084_FC5/misc/quickcam.ko): Invalid argument
Try looking through /var/log/messages:
grep quick /var/log/messages
Apr 9 09:28:35 spongebob kernel: quickcam: QuickCam USB camera found (driver version QuickCam USB 0.6.3 $Date: 2005/04/15 19:32:49 $)
Apr 9 09:28:35 spongebob kernel: quickcam: Kernel:2.6.16.2 bus:2 class:FF subclass:FF vendor:046D product:0870
Apr 9 09:28:35 spongebob kernel: quickcam: Sensor HDCS-1020 detected
Apr 9 09:28:35 spongebob kernel: quickcam: Registered device: /dev/video1
Apr 9 09:28:35 spongebob kernel: usbcore: registered new driver quickcam
NOTE: Still getting the same error, with 2.6.16.2. Commenting out the lines in qc-driver.c allows me to compile the driver though.
zaptel compiling error
I ran into something similar with the wcusb.c file and did what you did. Not sure what caused it though...