Size: 1088
Comment:
|
Size: 2637
Comment: oops. i meant for these to go under cool stuff.
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
A comprehensible changelog of the Linux kernel, this page shows a summary of the important changes being added in each Linux kernel release - support for new devices, features, filesystems, and subsystems as well as important internal changes. While this text is aimed to be readable (unlike the full changelog), its primary audience is those who know a fair amount about how a kernel operates. Other places to get news about the Linux kernel are [http://lwn.net/Kernel/ LWN kernel status], [http://lwn.net/Articles/driver-porting/ LWN driver porting guide], [http://lwn.net/Articles/2.6-kernel-api/ LWN list of API changes in 2.6], or [http://www.lkml.org www.lkml.org]. If you're going to add something here look first at LinuxChangesRules! | Linux 2.6.23; not yet released [[TableOfContents()]] |
Line 3: | Line 5: |
'''Older releases''' * Stable release: [http://wiki.kernelnewbies.org/Linux_2_6_23 Linux 2.6.23], previous stable release: [http://wiki.kernelnewbies.org/Linux_2_6_22 Linux 2.6.22], next release: [http://wiki.kernelnewbies.org/Linux_2_6_24 2.6.24] (still not available); see Linux26Changes for other versions. |
== Short overview (for news sites, etc) == |
Line 6: | Line 7: |
[[Include(Linux_2_6_23)]] | 2.6.23 includes the fallocate() syscall == Important things (AKA: ''the cool stuff'') == === fallocate() === The new fallocate() system call allows applications to preallocate space for a file (http://lwn.net/Articles/226710/). Each file system implementation that wants to use this feature will need to support an inode operation called fallocate. Applications can use this feature to avoid fragmentation to certain level and thus get faster access speed. With preallocation, applications also get a guarantee of space for particular file(s) - even if later the system becomes full [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=97ac73506c0ba93f30239bb57b4cfc5d73e68a62 (commit)]. === Two additional virtualisation solutions, Xen and lguest, merged === ==== Xen merged ==== The Xen virtual machine monitor was recently merged into the upcoming 2.6.23 Linux kernel in a series of patches from Jeremy Fitzhardinge. Xen is a virtual machine monitor (VMM) for x86-compatible computers (http://kerneltrap.org/node/13917) [http://git.kernel.org/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5ead97c84fa7d63a6a7a2f4e9f18f452bd109045 (commit)]. From a Kerneltrap comment : "just limited (no dom0, no suspend/resume, no ballooning) xen client support for i386 only". ==== lguest merged ==== Rusty Russell's lguest was recently merged into the upcoming 2.6.23 Linux kernel. The merge comment describes the project, "''lguest is a simple hypervisor for Linux on Linux. Unlike kvm it doesn't need VT/SVM hardware. Unlike Xen it's simply 'modprobe and go''". (http://kerneltrap.org/node/13916) [http://git.kernel.org/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07ad157f6e5d228be78acd5cea0291e5d0360398 (commit)]. == Miscellaneous kernel-userland changes == === open() O_CLOEXEC flag === 2.6.23 adds a new O_CLOEXEC flag for open(2) (http://lwn.net/Articles/236843/) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f23513e8d96cf5e6cf8d2ff0cb5dd6bbc33995e4 (commit)] [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4a19542e5f694cd408a32c3d9dc593ba9366e2d7 (commit)]. This flag makes it possible to avoid race conditions in multithreaded applications that do the following: 1. Thread A: fd=open() 1. Thread B: fork + exec 1. Thread A: fcntl(fd,F_SETFD,FD_CLOEXEC) (Instead, Thread A would drop the fcntl() call and just open the file with O_CLOEXEC.) |
Linux 2.6.23; not yet released
Short overview (for news sites, etc)
2.6.23 includes the fallocate() syscall
Important things (AKA: ''the cool stuff'')
fallocate()
The new fallocate() system call allows applications to preallocate space for a file (http://lwn.net/Articles/226710/). Each file system implementation that wants to use this feature will need to support an inode operation called fallocate.
Applications can use this feature to avoid fragmentation to certain level and thus get faster access speed. With preallocation, applications also get a guarantee of space for particular file(s) - even if later the system becomes full [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=97ac73506c0ba93f30239bb57b4cfc5d73e68a62 (commit)].
Two additional virtualisation solutions, Xen and lguest, merged
Xen merged
The Xen virtual machine monitor was recently merged into the upcoming 2.6.23 Linux kernel in a series of patches from Jeremy Fitzhardinge. Xen is a virtual machine monitor (VMM) for x86-compatible computers (http://kerneltrap.org/node/13917) [http://git.kernel.org/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5ead97c84fa7d63a6a7a2f4e9f18f452bd109045 (commit)].
From a Kerneltrap comment : "just limited (no dom0, no suspend/resume, no ballooning) xen client support for i386 only".
lguest merged
Rusty Russell's lguest was recently merged into the upcoming 2.6.23 Linux kernel. The merge comment describes the project, "lguest is a simple hypervisor for Linux on Linux. Unlike kvm it doesn't need VT/SVM hardware. Unlike Xen it's simply 'modprobe and go". (http://kerneltrap.org/node/13916) [http://git.kernel.org/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07ad157f6e5d228be78acd5cea0291e5d0360398 (commit)].
Miscellaneous kernel-userland changes
open() O_CLOEXEC flag
2.6.23 adds a new O_CLOEXEC flag for open(2) (http://lwn.net/Articles/236843/) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f23513e8d96cf5e6cf8d2ff0cb5dd6bbc33995e4 (commit)] [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4a19542e5f694cd408a32c3d9dc593ba9366e2d7 (commit)]. This flag makes it possible to avoid race conditions in multithreaded applications that do the following:
- Thread A: fd=open()
- Thread B: fork + exec
- Thread A: fcntl(fd,F_SETFD,FD_CLOEXEC)
(Instead, Thread A would drop the fcntl() call and just open the file with O_CLOEXEC.)