LWN.net Logo

2.5.19 long-format Changelog

None
Summary of changes from v2.5.18 to v2.5.19
============================================

<davidm@wailua.hpl.hp.com>
	ia64: Force bitkeeper update.

<davidm@tiger.hpl.hp.com>
	ia64: Change local_irq_restore() to restore only psr.i, so that it
		doesn't unexpectedly trample on the other psr bits.

<davidm@tiger.hpl.hp.com>
	ia64: Fix misc. merge errors and typos.

<davidm@tiger.hpl.hp.com>
	ia64: Misc. fixes.

<davidm@tiger.hpl.hp.com>
	ia64: Make pci_dma_supported() a platform-specific function.  Patch
		by Jesse Barnes.

<trini@bill-the-cat.bloom.county>
	PPC32: Numerous minor platform updates and cleanups.

<trini@bill-the-cat.bloom.county>
	PPC32: In the bootwrapper/loader, rename setup_legacy to serial_fixups to
	more accurately describe what it does.  Also for netbooting, pass along ip=on and
	in general make sure we don't pass along bogus info in r5.

<trini@bill-the-cat.bloom.county>
	PPC32: Forward-port the /proc/residual stuffs from 2.4.  This is
	originally by David Monro, updated by Sven Dickert and Hollis Blanchard,
	and this version which only vaugly resembles any of those and is by
	Leigh Brown <leigh@solinno.co.uk>.

<trini@bill-the-cat.bloom.county>
	PPC32: Cleanup the i8259 code slightly.  Allow for polling of interrupts again
	and combine i8259_poll() and i8259_irq().

<jsimmons@heisenberg.transvirtual.com>
	Moved VESA framebuffer driver over to new fbdev api

<jsimmons@heisenberg.transvirtual.com>
	Moved VESA framebuffer over to new fbdev api

<davidm@wailua.hpl.hp.com>
	ia64: Rename McKinley to Itanium 2.  Fix some compilation issues.  Fix alignment
		of GOT section.

<jsimmons@heisenberg.transvirtual.com>
	More porting to new api.

<jsimmons@heisenberg.transvirtual.com>
	Forgot to include removal of using fbcon-cfb* for the new drivers ported over.

<jsimmons@heisenberg.transvirtual.com>
	A new new drivers. Also several bug fixes and a few drivers ported over to new fbdev api.

<jsimmons@heisenberg.transvirtual.com>
	Added in support for new drivers.

<jsimmons@heisenberg.transvirtual.com>
	More drivers ported over to new API.

<davidm@tiger.hpl.hp.com>
	ia64: Various small fixes.

<davidm@tiger.hpl.hp.com>
	ia64: Update pte macros for new pfn-based versions.

<paulus@samba.org>
	PPC32: Updates for PPC405 processors.  A lot of stuff that was under
	CONFIG_4xx but which won't apply on the new 440GP has been changed
	to depend on CONFIG_40x instead.  Also a few other fixes and updates
	for 405GP-based systems from the linuxppc_2_4_devel tree.

<paulus@samba.org>
	PPC32: add definitions for fls(), pmd_free_tlb() and pte_free_tlb(),
	now used in generic code.

<paulus@samba.org>
	PPC32: trivial whitespace fix, from Rusty Russell

<paulus@samba.org>
	PPC32: two warning fixes from Rusty Russell, plus fix the PPC603
	tlb miss handlers to expect a physical address in the pmds.

<mochel@geena.pdx.osdl.net>
	Device Model: do better cleanup on device removal
	- make sure driverfs directory is removed after driver is detached and platform is notified (since they might have added files to it)
	- Add release callback to struct device that is to be set by whoever allocated the device (e.g. the bus). 
	This is the last thing called from put_device, so the owner of it can free the memory for the structure

<mochel@geena.pdx.osdl.net>
	Introduce struct bus_type for describing types of buses
	Define bus_register for bus registration
	Define get_bus and put_bus for bus refcounting

<eranian@hpl.hp.com>
	[PATCH] ia64: Perfmon update.
	

<paulus@samba.org>
	PPC32: remove some compile warnings in the CHRP and powermac boot
	wrappers by prototyping the function pointers we use.

<amunoz@vmware.com>
	[PATCH] ia64: Don't assume out registers are preserved across call to
	ia64_switch_mode().
	

<paulus@samba.org>
	PPC32: Use copy_siginfo_to_user to copy the siginfo stuff to
	userspace rather than just plain __copy_to_user.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Figure out flags independently from pass
	
	We now have the information which objects are being built
	modular / built-in in Rules.make, so use this information instead
	of passing flags to the sub makes.

<davidm@tiger.hpl.hp.com>
	ia64: Sync up with 2.5.17 tree.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Simplify rule for just building one subdir
	
	It's possible to say "make <subdir>", to descend into that subdir
	and recursively build things there. This patch provides this
	facility generally without the arch Makefiles needing to duplicate
	it for arch/$(ARCH)/somedir.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Use consistently FORCE instead of dummy
	
	FORCE is the de-facto standard name for a prequisite to force
	recompilation, so instead of using a mix of 'dummy','FORCE' and
	'FORCE_RECOMPILE' use 'FORCE' everywhere.
	
	Also, move figuring out the path relative to the top level dir
	into Rules.make, instead of calling an external script. 

<davidm@tiger.hpl.hp.com>
	ia64: Sync up with 2.5.18.

<hirofumi@mail.parknet.co.jp>
	[PATCH] Fix the handling of dentry on msdos_lookup() (1/4)
	
	If d_splice_alias() doesn't find the alias dentry, it returns NULL.
	Then, msdos_lookup() dereference the NULL, and Oopses. Fixed here.
	
	The vfat_lookup() part is cleanup only.

<rmk@arm.linux.org.uk>
	[PATCH] 2.5.18: Fix ramdisk
	
	The following allows the ramdisk to work on 2.5.18; maybe we need a
	comment in do_open() ?

<kai@tp1.ruhr-uni-bochum.de>
	drivers/video/matrox/matroxfb_accel.c: Explicitly export symbols.
	
	So I missed at least one file which still relied on implicitly exporting
	symbols. Now fixed.

<acme@conectiva.com.br>
	drivers/char/rio/rio_linux.c
	
		- Remove SCO compatibility trick in rio_fw_ioctl, i.e., riocontrol was returning non
	          negative errors, now it is, so no need to turn it negative in rio_fw_ioctl. Thanks
	          to Rogier Wolff for pointing this out.

<kai@tp1.ruhr-uni-bochum.de>
	ISDN/CAPI: Cleanup /proc/capi
	
	o Move /proc handling to a file of its own 
	o Use <linux/seq_file.h>

<kai@tp1.ruhr-uni-bochum.de>
	ISDN: CAPI: Remove unused capi_driver::driver_read_proc
	
	In case a driver really wants to put some useful info into
	/proc/capi/driver, it could create the proc entry directly.

<kai@tp1.ruhr-uni-bochum.de>
	ISDN/CAPI: Have hardware driver alloc struct capi_drv
	
	The hardware driver needs to alloc mem anyway, and now can
	fill in fields before registering with the CAPI layer.
	
	Basically the same way struct net_device is handled.

<kai@tp1.ruhr-uni-bochum.de>
	ISDN/CAPI: Move methods from capi_driver to capi_ctr

<kai@tp1.ruhr-uni-bochum.de>
	ISDN/CAPI: Remove struct capi_driver
	
	We rather keep it simple, everything we need is in struct
	capi_ctr.

<kai@tp1.ruhr-uni-bochum.de>
	ISDN/CAPI: Export callbacks for CAPI drivers directly
	
	They're always the same, so no point in using function pointers.

<david-b@pacbell.net>
	[PATCH] ehci split interrupt transactions
	
	This patch lets more devices hook up to USB 2.0 hubs, stuff
	like keyboards, mice, hubs that hasn't worked yet:
	
	- schedules full/low speed interrupt transactions
	- tracks CSPLIT bandwidth for full/low speed interrupt
	  transactions
	- moves some bus bandwidth calculation out of the EHCI code
	- makes the bandwidth calculation primitive public, and
	  adds kerneldoc for it
	
	It still takes a scheduling shortcut, placing at most one
	interrupt transaction in a frame (vs potentially over 100),
	but it should do for now.

<Andries.Brouwer@cwi.nl>
	[PATCH] usb-storage
	
	Problem has been found and fixed. A wild pointer was created,
	and what happened afterwards was essentially random. Below the
	1-symbol fix that I sent to the list yesterday.

<acher@in.tum.de>
	[PATCH] small fixes for usb-uhci-hcd
	
	the attached patch for usb-uhci-hcd includes the possibility to specify the
	FSBR-mode and depth-first-search-modes via module parameters. Thanks go to
	Kevin (kjsisson@bellsouth.net) for this nice idea. He had problems with
	stv0680-based cameras when using the default (breadth first) methods.
	
	The interval-value for isochronous transfers is also now supported.
	
	Additionally the patch removes a few typos, obsolete comments+code and
	a few non-portable variable declarations.

<mdharm-usb@one-eyed-alien.net>
	[PATCH] Additional comments for usb-storage
	
	Added comments, as per the request of several people.

<paulus@samba.org>
	PPC32: use the standard kernel min macro in a couple of places.
	Patch from Rusty Russell.

<torvalds@home.transmeta.com>
	Fix mmap cornercase with wrong return value for invalid "len".

<axboe@suse.de>
	[PATCH] block documentation updates
	
	o Add 'tag' to request.txt doc
	o Add bio design etc discussions

<dalecki@evision-ventures.com>
	[PATCH] 2.5.18 IDE 71
	
	 - Rewritten Artop host chip driver by Vojtech Pavlik. His log entries are:
	
	   Cleanup whitespace.
	
	   Remove superfluous chip entries in chip table.  Remove global variables to
	   allow more than one controller.  Remove other forgotten stuff.
	
	   This is a new driver for the Artop (Acard) controllers. It's completely
	   untested, as I have never seen the hardware. However, I suspect it is much
	   less broken than the previous one ...
	
	   UDMA33 controller cannot detect 80-wire cable.
	
	 - Separate ioctl handling out from ide.c. It's big enough.
	
	 - Move atapi_read and atapi_write to the new atapi module.  Fix the declaration
	   of those functions. The data buffer did have the void * type!
	
	 - Separate module handling code out from actual transfer handling code in to a
	   new module called main.c. Slowly we are at the stage where the code indeed
	   has to be organized logically and not just "sporadically" as was the case
	   before.
	
	 - Apply patch by Adam Richter for the ide-scsi.c attach method implementation.
	   This particular driver is still broken due to generic SCSI layer issues.
	
	 - Apply true modularization patch for qd65xx.c by Samuel Thibault. Here
	   are his notes about it:
	
	   Then, patch-modularize-2.[45] is a proposal for modularizing qd65xx.o. As a
	   single module, one can choose to insmod it before being able to do some
	   hdparm -p /dev/hd[a-d]. But one can't remove it while tuned, since selectproc
	   may be needed.
	
	   I am sorry I wasn't able to test it under 2.5 series, lacking a functionning
	   kernel for my test computer, but it seemed to work perfectly under 2.4
	   series, and patches are almost the same.
	
	 - Move PCI device id's to where they belong. Patch by Vojtech Pavlik.
	
	 - Don't use BH_Lock in ide-tape.c - somehow this driver scares me sometimes.

<rusty@rustcorp.com.au>
	[PATCH] autofs_wqt_t for ppc64
	
	Anton Blanchard <anton@samba.org>: Fix autofs on ppc64:
	
	  Define autofs_wqt_t to be an int on ppc64, just like the other mixed
	  32/64 bit archs do.

<rusty@rustcorp.com.au>
	[PATCH] xconfig fix
	
	Alexander.Riesen@synopsys.com: xconfig for tulip subsection:
	  fixes broken xconfig for tulip drivers.
	
	  P.S. Why the double quotes in comment break it?

<rusty@rustcorp.com.au>
	[PATCH] semctl SUSv2 compliance
	
	Christopher Yeoh <cyeoh@samba.org>: (Made -p1 compliant by rusty) SUSv2 semctl compliance:
	
	  The semctl call with SETVAL currently does not set sempid (at the
	  moment sempid is only set during a successful semop call). An
	  explanation from Geoff Clare of the Open Group regarding why sempid
	  should be set during the semctl call:
	
	  "The spec isn't very clear, but there is a statement on the semget()
	  page which I think justifies the assumption made by the test.  It says
	  that upon creation, the data structure associated with each semaphore
	  in the set is not initialised, and that the semctl() function with
	  SETVAL or SETALL can be used to initialise each semaphore.
	
	  Therefore semctl() with SETVAL has to set sempid to *something*, and
	  since sempid contains the "process ID of the last operation", setting
	  it to anything other than the pid of the calling process would mean
	  that sempid contained misleading information.  It could be argued that
	  setting it to zero would not be misleading, but zero cannot be the
	  process ID of a process, and so is not a valid value for sempid anyway."
	
	  The following patch changes semctl so when called with SETVAL
	  sempid is set to the pid of the calling process:

<rusty@rustcorp.com.au>
	[PATCH] dcache.c spelling
	
	Dan Aloni <da-x@gmx.net>: fs_dcache.c - typo:

<rusty@rustcorp.com.au>
	[PATCH] CREDITS sort order
	
	(Included in 2.2)
	Pavel Machek <pavel@ucw.cz>: CREDITS not sorted properly:
	  Hi!
	
	  Please apply,
	  									Pavel

<rusty@rustcorp.com.au>
	[PATCH] vmscan.c tidy up
	
	(Included in 2.4)
	Pavel Machek <pavel@ucw.cz>: trivial: vmscan extra {}s:
	  Hi!
	
	  Extra { } look ugly, too, they are not consistant with rest of code and I introduced them :-(

<rusty@rustcorp.com.au>
	[PATCH] ppc spinlock warning removal
	
	Rusty Russell <rusty@rustcorp.com.au>: 2.5.17 Warning removal for ppc:
	  test_and_set_bit now expect an "unsigned long", so we want
	  &spinlock->lock rather than &spinlock (even though they are
	  equivalent).
	
	  Rusty.

<rusty@rustcorp.com.au>
	[PATCH] do_mounts warning removal
	
	Peter Chubb <peter@chubb.wattle.id.au>: Fix compilation warning in do_mounts.c:
	
	  	change_floppy() is unused if you don't have the floppy device
	  compiled into the kernel --- so why not #ifdef it out?

<rusty@rustcorp.com.au>
	[PATCH] ppc chrp/start.c warnings removal
	
	Rusty Russell <rusty@rustcorp.com.au>: Finally squish those chrp_start.c warnings:
	  They finally irritated me enough to patch.  2.5, should apply against 2.4.

<rusty@rustcorp.com.au>
	[PATCH] Alpha macro standardize
	
	Rusty Russell <rusty@rustcorp.com.au>: Trivial ALPHA patch to remove minmax macros:
	  Change over to standard max and ALIGN macros.

<rusty@rustcorp.com.au>
	[PATCH] jiffies.h includes asm/param.h
	
	Tim Schmielau <tim@physik3.uni-rostock.de>: provide HZ from jiffies.h:
	  Most files that include <jiffies.h> also need HZ defined, which is
	  quite reasonable. So don't require the to include <asm/param.h>
	  themselves.

<rusty@rustcorp.com.au>
	[PATCH] irq.h comment fix
	
	Tim Schmielau <tim@physik3.uni-rostock.de>: trivial irq.h comment fix:
	
	  Now THIS is a trivial patch: (though admittedly quite useless;-)
	
	  include/linux/irq.h starts with
	    #ifndef __irq_h
	  but ends with a comment
	    #endif /* __asm_h */
	
	  Tim

<rusty@rustcorp.com.au>
	[PATCH] exit path cleanup in drivers/cdrom/sonycd535.c
	
	johnpol@2ka.mipt.ru: 30) request_region check, 21-30:
	  here is one more trivial check.
	
	  	Evgeniy Polyakov ( s0mbre )

<rusty@rustcorp.com.au>
	[PATCH] check_region cleanup from drivers/char/ip2main.c
	
	johnpol@2ka.mipt.ru: 40) request_region check, 31-40:
	  You say, i'm frezy :)
	
	  	Evgeniy Polyakov ( s0mbre )

<fdavis@si.rr.com>
	[PATCH] net/ipv4/ipconfig.c minor fix
	
	Hello all,
	    The following patch fixes two compile warnings 'defined but not used'.
	Since the label and int are only used for IPCONFIG_DYNAMIC, appropriate
	fixes were made to remove the warnings.

<rusty@rustcorp.com.au>
	[PATCH] MAINTAINERS file addition: Al Viro
	
	I'm sick of searching my mail archives to find that email addr.

<akpm@zip.com.au>
	[PATCH] small fixes in buffer.c
	
	- Fix the fix to the fix to the sector_t printing in buffer_io_error()
	
	- A few microoptimisations in buffer.c.  Replace:
	
		set_buffer_foo(bh);
	
	  with
	
		if (!buffer_foo(bh))
			set_buffer_foo(bh);
	
	  when buffer_fooness is likely.  To avoid the buslocked rmw, and to
	  avoid dirtying a cacheline.
	
	
	- export write_mapping_buffers() - filesystems which put buffers on
	  mapping->private_list need this function for I/O scheduling reasons.

<akpm@zip.com.au>
	[PATCH] block_truncate_page fix
	
	Fix bug in block_truncate_page().
	
	When buffers are attached to an uptodate page, they are marked as
	being uptodate.  To preserve buffer/page state coherency.  Dirtiness
	is handled in the same way.
	
	But block_truncate_page() assumes that a buffer which is unmapped and
	uptodate is over a hole.  That's not the case, and the net effect is
	that block_truncate_page() is failing to zero the block outside the
	truncation point.
	
	This only happens if the page has a disk mapping but has no attached
	buffers on entry to block_truncate_page().  That's never the case in
	current kernels, so the problem does not exhibit (it _does_ exhibit
	with direct-to-BIO bypass-the-buffers I/O).
	
	There are actually three possible states of buffer mappedness:
	
	- Buffer has a disk mapping            (buffer_mapped(bh) == true)
	
	- buffer is over a hole	               (buffer_mapped(bh) == false)
	
	- don't know.  Need to run get_block() (buffer_mapped(bh) == false)
	
	This ambiguity could be resolved by added another buffer state bit
	(BH_mapping_state_known?) but given that we already elide the get_block
	calls for the common case (buffer outside i_size) it is unlikely that
	the complexity is worthwhile.

<akpm@zip.com.au>
	[PATCH] ext3 set_page_dirty fix
	
	The set_page_dirty() in the ext3_writepage() failure path isn't right.
	set_page_dirty() will alter buffer states - it's a "whole page"
	dirtying.
	
	__set_page_dirty_buffers() is emitting warnings when it refuses to set
	dirty a non-uptodate buffer against a partially-mapped page.
	
	All we want to do in there is to move the page back onto
	mapping->dirty_pages, without altering the state of its buffers.

<akpm@zip.com.au>
	[PATCH] fix loop driver for large BIOs
	
	Fix bug in the loop driver.
	
	When presented with a multipage BIO, loop is overindexing the first
	page in the BIO rather than advancing to the second page.  It scribbles
	on the backing file and/or on kernel memory.
	
	This happens with multipage BIO-based pagecache I/O and presumably with
	O_DIRECT also.
	
	The fix is much-needed with the multipage-BIO patches - using that code
	on loop-backed filesystems has rather messy results.

<akpm@zip.com.au>
	[PATCH] mark swapout pages PageWriteback()
	
	Pages which are under writeout to swap are locked, and not
	PageWriteback().  So page allocators do not throttle against them in
	shrink_caches().
	
	This causes enormous list scans and general coma under really heavy
	swapout loads.
	
	One fix would be to teach shrink_cache() to wait on PG_locked for swap
	pages.  The other approach is to set both PG_locked and PG_writeback
	for swap pages so they can be handled in the same manner as file-backed
	pages in shrink_cache().
	
	This patch takes the latter approach.

<akpm@zip.com.au>
	[PATCH] relax nr_to_write requirements
	
	Relax the requirements on the writeback_mapping a_op.
	
	This function is passed the number of pages which it should write.  The
	current fs-writeback.c code will get confused if the address_space
	writes back more pages than it was asked to.
	
	With this change the address_space may write more pages than required
	if that is convenient.  Extent-based fileystems may wish to do this.

<akpm@zip.com.au>
	[PATCH] direct-to-BIO readahead
	
	Implements BIO-based multipage reads into the pagecache, and turns this
	on for ext2.
	
	CPU load for `cat large_file > /dev/null' is reduced by approximately
	15%.  Similar reductions for tiobench with a single thread.  (Earlier
	claims of 25% were exaggerated - they were measured with slab debug
	enabled.  But 15% isn't bad for a load which is dominated by copy_*_user
	costs).
	
	With 2, 4 and 8 tiobench threads, throughput is increased as well, which was
	unexpected.  It's due to request queue weirdness.  (Generally the
	request queueing is doing bad things under certain workloads - that's a
	separate issue.)
	
	BIOs of up to 64 kbytes are assembled and submitted for readahead and
	for single-page reads.  So the work involved in reading 32 pages has gone
	from:
	
		- allocate and attach 32 buffer_heads
		- submit 32 buffer_heads
		- allocate 32 bios
		- submit 32 bios
	
	to:
	
		- allocate 2 bios
		- submit 2 bios
	
	These pages never have buffers attached.  Buffers will be attached
	later if the application writes to these pages (file overwrite).
	
	The first version of this code (in the "delayed allocation" patches)
	tries to handle everything - bios which start mid-page, bios which end
	mid-page and pages which are covered by multiple bios.  It is very
	complex code and in fact appears to be incorrect: out-of-order BIO
	completion could cause a page to come unlocked at the wrong time.
	
	This implementation is much simpler: if things get complex, it just
	falls back to the buffer-based block_read_full_page(), which isn't
	going away, and which understands all that complexity.  There's no
	point in doing this in two places.
	
	This code will bypass the buffer layer for
	
	 - fully-mapped pages which are on-disk contiguous.
	
	 - fully unmapoped pages (holes)
	
	 - partially unmapped pages, where the unmappedness is at the end of
	   the page (end-of-file).
	
	and everything else falls back to buffers.
	
	This means that with blocksize == PAGE_CACHE_SIZE, 100% of pages are
	handed direct to BIO.  With a heavy 10-minute dbench run on 4k
	PAGE_CACHE_SIZE and 1k blocks, 95% of pages were handed direct to BIO.
	Almost all of the other 5% were passed to block_read_full_page()
	because they were already partially uptodate from an earlier sub-page
	write().  This ratio will fall if PAGE_CACHE_SIZE/blocksize is greater
	than four.  But if that's the case, CPU efficiency is far from the main
	concern - there are significant seek and bandwidth problems just at 4
	blocks per page.
	
	This code will stress out the block layer somewhat - RAID0 doesn't like
	multipage BIOs, and there are probably others.  RAID0 seems to struggle
	along - readahead fails but read falls back to single-page reads, which
	succeed.  Such problems may be worked around by setting MPAGE_BIO_MAX_SIZE
	to PAGE_CACHE_SIZE in fs/mpage.c.
	
	It is trivial to enable multipage reads for many other filesystems.  We
	can do that after completion of external testing of ext2.

<akpm@zip.com.au>
	[PATCH] direct-to-BIO writeback
	
	Multipage BIO writeout from the pagecache.
	
	It's pretty much the same as multipage reads.  It falls back to buffers
	if things got complex.
	
	The write case is a little more complex because it handles pages which
	have buffers and pages which do not.  If the page didn't have buffers
	this code does not add them.

<akpm@zip.com.au>
	[PATCH] enable direct-to-BIO readahead for ext3
	
	Turn on multipage no-buffers reads for ext3.

<akpm@zip.com.au>
	[PATCH] rename writeback_mapping to writepages
	
	Spot the difference:
	
	aops.readpage
	aops.readpages
	aops.writepage
	aops.writeback_mapping
	
	The patch renames `writeback_mapping' to `writepages'

<akpm@zip.com.au>
	[PATCH] dirsync
	
	An implementation of directory-synchronous mounts.
	
	I sent this out some months ago and it didn't generate a lot of
	interest.  Later we had one of the usual cheery exchanges with Wietse
	Venema (postfix development) and he agreed that directory synchronous
	mounts were something that he could use, and that there was benefit in
	implementing them in Linux.  If you choose to apply this I'll push the
	2.4 patch.
	
	
	
	Patch against e2fsprogs-1.26:
	        http://www.zip.com.au/~akpm/linux/dirsync/e2fsprogs-1.26.patch
	
	Patch against util-linux-2.11n:
	        http://www.zip.com.au/~akpm/linux/dirsync/util-linux-2.11n.patch
	
	
	The kernel patch includes implementations for ext2 and ext3. It's
	pretty simple.
	
	- When dirsync is in operation against a directory, the following operations
	  are synchronous within that directory:  create, link, unlink, symlink,
	  mkdir, rmdir, mknod, rename (synchronous if either the source or dest
	  directory is dirsync).
	
	- dirsync is a subset of sync.  So `mount -o sync' or `chattr +S'
	  give you everything which `mount -o dirsync' or `chattr +D' gives,
	  plus synchronous file writes.
	
	- ext2's inode.i_attr_flags is unused, and is removed.
	
	- mount /dev/foo /mnt/bar -o dirsync  works as expected.
	
	- An ext2 or ext3 directory tree can be set dirsync with `chattr +D -R'.
	
	- dirsync is maintained as new directories are created under
	  a `chattr +D' directory.  Like `chattr +S'.
	
	- Other filesystems can trivially be taught about dirsync.  It's just
	  a matter of replacing `IS_SYNC(inode)' with `IS_DIRSYNC(inode)' in
	  the directory update functions.  IS_SYNC will still be honoured when
	  IS_DIRSYNC is used.
	
	- Non-directory files do not have their dirsync flag propagated.  So
	  an S_ISREG file which is created inside a dirsync directory will not
	  have its dirsync bit set.  chattr needs to do this as well.
	
	- There was a bit of version skew between e2fsprogs' idea of the
	  inode flags and the kernel's.  That is sorted out here.
	
	- `lsattr' shows the dirsync flag as "D".  The letter "D" was
	  previously being used for Compressed_Dirty_File.  I changed
	  Compressed_Dirty_File to use "Z".  Is that OK?
	
	The mount(2) manpage needs to be taught about MS_DIRSYNC.

<akpm@zip.com.au>
	[PATCH] remove mem_map_t
	
	Random cleanup: remove the mem_map_t typedef.  Just use 'struct page'
	everywhere.

<akpm@zip.com.au>
	[PATCH] generic_file_write() cleanup
	
	Fixes all the goto spaghetti in generic_file_write() and turns it into
	something which humans can understand.
	
	Andi tells me that gcc3 does a decent job of relocating blocks out of
	line anyway.  This patch gives the compiler a helping hand with
	appropriate use of likely() and unlikely().

<akpm@zip.com.au>
	[PATCH] fix ext3 __FUNCTION__ warnings
	
	Patch from Anton Blanchard which replaces
	
		printk(KERN_FOO __FUNCTION__ ": msg");
	
	with
		printk(KERN_FOO "%s: msg", __FUNCTION__);
	
	in ext3.

<akpm@zip.com.au>
	[PATCH] move BH_JBD out of buffer_head.h
	
	For historical reasons, ext3 has a private BH state bit which has
	global scope.  This patch moves it inside ext3.

<akpm@zip.com.au>
	[PATCH] factor common code in page_alloc.c
	
	Factor out some similar code in page_alloc.c

<akpm@zip.com.au>
	[PATCH] move nr_active and nr_inactive into per-CPU page
	
	It might reduce pagemap_lru_lock hold times a little, and is more
	consistent.  I think all global page accounting is now inside
	page_states[].

<akpm@zip.com.au>
	[PATCH] avoid sys_sync livelocks
	
	This makes sure that sys_sync() will terminate.  It counts up the
	number of dirty pages in the machine and will refuse to write out more
	than 1.25 times this number of pages.  This function is called twice
	on the sys_sync() path, so the kernel will actually write 2.5x the number
	of initially-dirty pages before giving up.

<mochel@geena.pdx.osdl.net>
	deivce model: actually compile and use bus drivers

<jsimmons@heisenberg.transvirtual.com>
	More drivers ported over to the new api. Also a bug fix in the software drawing image routine.

<torvalds@home.transmeta.com>
	Merge Keith Whitwell's radeon ring-buffer updates

<mochel@geena.pdx.osdl.net>
	PCI: define pci_bus_type and register it on startup 

<mochel@geena.pdx.osdl.net>
	driverfs: add and export driverfs_create_symlink for general kernel use

<mochel@geena.pdx.osdl.net>
	device model: Create symlinks in bus's 'devices' dir for a device when its registered

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Normal sources should not include <linux/compile.h>
	
	include/linux/compile.h is a generated file, only init/Makefile knows 
	about it - including it outside of init/* will cause trouble on
	parallel builds.
	
	Also, when compile.h already exists when 'make dep' is run, that'll pick
	up a dependency on $(TOPDIR)/include/linux/compile.h. So init/Makefile
	needs to tell make that this is actually the same file as 
	../include/linux.compile.h

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Add EXTRA_TARGETS variable
	
	99% of the Makefiles are very simple target-wise:
	
	o build modules as listed in $(obj-m) and 
	o build $(L_TARGET)/$(O_TARGET) as a composite object containing $(obj-y)
	
	However, there is one exception: typically arch/$ARCH/kernel Makefile
	wants the same as above, plus
	o build init_task.o, head.o, using the standard rules for built-in
	  targets - i.e. they are supposed to be built in the same way as all
	  the other targets listed in $(obj-y), but they should not be linked
	  into arch/$ARCH/kernel/$(O_TARGET). Instead they'll be linked in
	  directly in the final vmlinux link.
	
	Currently this is achieved by overriding Rules.make's first_rule in 
	arch/$ARCH/kernel/Makefile. This rather ad-hoc way relies on the knowing
	how Rules.make works internally and at the same time does things behind
	Rules.make's back. 
	
	To clean this up, I'm introducing a new variable, supposed to be only
	used in arch/$ARCH/kernel/Makefile:
	
	$(EXTRA_TARGETS) can be used to declare additional objects which shall
	be built in the current directory (using the flags for built-in objects),
	but not linked into $(O_TARGET)/$(L_TARGET)
	
	This patch only converts arch/i386/kernel/Makefile at this time, other
	archs work the same way as before.
	
	Apart from this, this patch also removes some "unexport ..." statements,
	which are unnecessary since not exporting variables is the default and
	renames the internal "all_targets" to "vmlinux", since it's actually
	need for building vmlinux.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: built-in and modules in one pass
	
	Use "make BUILD_MODULES=1 {,bzImage,zImage,vmlinux,...}" to build
	your kernel - and it'll also build the modules as you go.

<mochel@geena.pdx.osdl.net>
	device model: Need to back up one more directory when creating the symlink between the bus's 'devices' dir and the device's physical dir.

<greg@kroah.com>
	USB irda driver
	
	removed urb->next usage, as it's not needed and has been removed from the
	urb structure.

<johann.deneux@laposte.net>
	[PATCH] Documentation in usb.c
	
	It seems to me that code and comments disagree in drivers/usr/core/usb.c.
	
	I attached a patch fixing the comments. Hopefully the code is right :)
	This patch is against 2.5.16

<mdharm@one-eyed-alien.net>
	[PATCH] usb-storage abort path cleanup
	
	cleanup of abort mechanism.  This version should be much more crash
	resistant (dare I say crash-proof?)

<jsimmons@heisenberg.transvirtual.com>
	More changes for new fbdev subsytem.

<jsimmons@heisenberg.transvirtual.com>
	Ported Voodoo3+ cards over to new api.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Don't overwrite Rules.make's first_rule
	
	Many Makefiles did a put an own rule in front of 
	"include $(TOPDIR)/Rules.make" for no good reason at all,
	the only places where it made sense are converted to using
	EXTRA_TARGETS now.

<rml@tech9.net>
	[PATCH] trivial: no "error" on preempt_count notice
	
	The attached trivial patch simply changes the printk debug statement in
	do_exit when preempt_count!=0 to say "note" instead of "error" and log
	at KERN_INFO in lieu of KERN_ERR.
	
	I want to keep the message around a bit, but people get too paranoid
	when things like nfsd legitimately exit with a preempt_count=1.

<rml@tech9.net>
	[PATCH] documentation for the new scheduler
	
	This adds documentation about the O(1) scheduler to Documentation/.  The
	new scheduler is complicated and providing future scheduler hackers some
	background seems a Good Thing to me.
	
	Specifically:
	
	- add Documentation/sched-coding.txt: an overview of the functions,
	  magic numbers, and variables in the scheduler as well as (most
	  importantly) a review of the locking semantics.
	
	- add Documentation/sched-design.txt: an edited version of Ingo's
	  initial email to lkml about his scheduler.  Goes over the design,
	  implementation, and goals of the scheduler.  I tried to edit it where
	  needed to bring it in line with the scheduler as it is today.
	
	- modify kernel/sched.c: update your copyright and add a change entry
	  for the new scheduler.

<rml@tech9.net>
	[PATCH] set_cpus_allowed optimization
	
	This adds an optimization to set_cpus_allowed: if the task is not
	running, there is no sense in kicking the migration_threads into action,
	we just need to update task->cpu.  This was suggested by Mike Kravetz.
	
	Besides being an optimization, this would prevent any future race
	between set_cpus_allowed and the migration_threads.

<rml@tech9.net>
	[PATCH] preempt-safe net/ code
	
	This fixes three locations in net/ where per-CPU data could bite us
	under preemption.  This is the result of an audit I did and should
	constitute all of the unsafe code in net/.
	
	In net/core/skbuff.c I did not have to introduce any code - just
	rearrange the grabbing of smp_processor_id() to be in the interrupt off
	region.  Pretty clean fixes.
	
	Note in the future we can use put_cpu() and get_cpu() to grab the CPU#
	safely.  I will send a patch to Marcelo so we can have a 2.4 version
	(which doesn't do the preempt stuff), too...

<dalecki@evision-ventures.com>
	[PATCH] 2.5.18 IDE 72
	
	 - Replace ide_delay_50m with mdelay(50). There is absolutely no reason we
	   should behave different behaviors whatever IDECS support is enabled or not.
	
	 - Kill last parameter of ide_register_hw(). It should return a pointer to the
	   interface registered later.
	
	 - pdc202xx patches by Bartomiej onierkiewicz.
	
	 - ServerWorks chi pset support cleanup by Andrej Panin.
	
	 - Move temporarily ide_setup_ports to main.c unfold it in ide-pnp.c.

<dalecki@evision-ventures.com>
	[PATCH] airo
	
	Since apparently no body else did care thus far, and since I'm using
	this driver, well here it comes:
	
	 - Adjust the airo wireless LAN card driver for the fact that modules
	   don't export symbols by default any longer.
	
	 - Make some stuff which obivously should be static there static as well.
	   (Plenty of code in Linux actually deserves a review for this
	   far too common bug...)

<dalecki@evision-ventures.com>
	[PATCH] 2.5.18 QUEUE_EMPTY and the unpleasant friends.
	
	 - Eliminate all usages of the obscure QUEUE_EMPTY macro.
	
	 - Eliminate all unneccessary checks for RQ_INACTIVE, this can't happen during
	   the time we run the request strategy routine of a single major number block
	   device. Perhaps the still remaining usage in scsi and i2o_block.c should be
	   killed as well, since the upper ll_rw_blk layer shouldn't pass inactive
	   requests down.
	
	Those are all places where we have deeply burried and hidden major number
	indexed arrays. Let's deal with them slowly...

<ink@jurassic.park.msu.ru>
	[PATCH] 2.5.18: unnamed PCI bus resources
	
	As pointed out by Russell King, resource name pointers
	of the secondary PCI buses are left uninitialized in the
	non-x86 PCI allocation path.
	
	Assigning these pointers in pci_add_new_bus() fixes the problem.

<torvalds@home.transmeta.com>
	More drm updates from Keith Whitwell

<jbglaw@lug-owl.de>
	[PATCH] Trivial compile fix to fs/binfmt_em86.c
	
	Please apply this patch to let binfmt_em86.c compile again.

<rml@tech9.net>
	[PATCH] real-time info in /proc/<pid>/stats
	
	Attached patch adds output of rt_priority and policy to
	/proc/<pid>/stats.
	
	This will not break compatibility with existing applications and will
	allow ps(1) and friends to display pertinent scheduling information.

<ink@jurassic.park.msu.ru>
	[PATCH] 2.5.18 pci/setup-bus.c: incorrect BUG() calls
	
	Previously assigned resources are perfectly valid - just silently
	ignore them.

<mochel@geena.pdx.osdl.net>
	Beef up centralized driver mgmt:
	- add name, bus, lock, refcount, bus_list, devices, and dir fields to struct
	- add release callback to be called when  refcount hits 0
	- add helpers for registration and refcounting
	- create directory for driver in bus's directory

<mochel@geena.pdx.osdl.net>
	PCI: start to use common fields of struct device_driver more
	- add struct device_driver field to struct pci_driver
	- make sure those fields get set on driver registration (and register with core)
	- remove internal pci_drivers

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Group together descending/linking in drivers/*
	
	We currently decide whether we need to descend into the subdirs of
	drivers/ in drivers/Makefile, but link the resulting objects from
	the top-level Makefile.
	
	Making these two decisions at the same time (in drivers/Makefile) cleans
	up the top-level Makefile quite a bit.
	
	Link order does not change at all apart from sound/, which is now linked
	last.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Remove remaining O_TARGET in drivers/*/Makefile

<rml@tech9.net>
	[PATCH] O(1) count_active_tasks
	
	This is William Irwin's algorithmically O(1) version of
	count_active_tasks (which is currently O(n) for n total tasks on the
	system).
	
	I like it a lot: we become O(1) because now we count uninterruptible
	tasks, so we can return (nr_uninterruptible + nr_running).  It does not
	introduce any overhead or hurt the case for small n, so I have no
	complaints.
	
	This copy has a small optimization over the original posting, but is
	otherwise the same thing wli posted earlier.  I have tested to make sure
	this returns accurate results and that the kernel profile improves.

<rml@tech9.net>
	[PATCH] Robert Love likes leather and chains
	
	> Hmm. That patch does not compile. "p->cpu" does not exist, it's
	> "p->thread_info->cpu". Tssk.
	
	Ouch, I am bad.  Sorry.
	
	Make the ChangeLog entry something really defamatory.
	
		Robert Love

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: beautify Makefile / Rules.make...
	
	Basically only cosmetics, and move the 'update-modverfile:'
	rule from Rules.make to the top-level Makefile, since that's the
	only place where it's used.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Build targets locally
	
	Targets should always be built from the Makefile local to the subdir
	they are in. So build scripts/* from scripts/Makefile.
	
	Clean up scripts/Makefile as we go.

<axboe@suse.de>
	[PATCH] a few ll_rw_blk exports missing
	
	o blk_get_request() and blk_put_request() needs exporting
	o blk_max_pfn is used by BLOCK_BOUNCE_ANY, which modular SCSI needs

<anton@samba.org>
	[PATCH] TLB shootdown infrastructure in 2.5
	
	It looks like a race betwen exec_mmap and access_process_vm in
	proc_pid_cmdline (or any other procfs functions that uses
	access_process_vm).

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Provide correct 'make some/dir/file.[iso]'
	
	Don't include Rules.make in the top-level Makefile, we don't
	actually build anything from there, so we don't need the rules.
	
	If asked to build some file in a subdirectory, descend into the
	subdir and build it from there - only there we can know what
	extra flags etc we have to add.
	
	This also works for building preprocessed [.i] and assembler
	output [.s].

<axboe@suse.de>
	[PATCH] block plugging reworked
	
	This patch provides the ability for a block driver to signal it's too
	busy to receive more work and temporarily halt the request queue. In
	concept it's similar to the networking netif_{start,stop}_queue helpers.
	
	To do this cleanly, I've ripped out the old tq_disk task queue. Instead
	an internal list of plugged queues is maintained which will honor the
	current queue state (see QUEUE_FLAG_STOPPED bit). Execution of
	request_fn has been moved to tasklet context. blk_run_queues() provides
	similar functionality to the old run_task_queue(&tq_disk).
	
	Now, this only works at the request_fn level and not at the
	make_request_fn level. This is on purpose: drivers working at the
	make_request_fn level are essentially providing a piece of the block
	level infrastructure themselves. There are basically two reasons for
	doing make_request_fn style setups:
	
	o block remappers. start/stop functionality will be done at the target
	  device in this case, which is the level that will signal hardware full
	  (or continue) anyways.
	
	o drivers who wish to receive single entities of "buffers" and not
	  merged requests etc. This could use the start/stop functionality. I'd
	  suggest _still_ using a request_fn for these, but set the queue
	  options so that no merging etc ever takes place. This has the added
	  bonus of providing the usual request depletion throttling at the block
	  level.

<jbglaw@lug-owl.de>
	[PATCH] SRM cleanup for generic Alpha kernels
	
	- alpha_using_srm is #define'd for machine specific kernels, but
	  is a real integer variable for generic Alpha kernels. Export
	  it...
	
	- The callback_* functions are _always_ there (they might be NOP
	  functions owith generic kernels on non-SRM machines).
	
	- srm_env can now be compiled on generic alpha kernels. An
	  explicit check for SRM capability was always there:-)

<sfr@canb.auug.org.au>
	[PATCH] consolidate arch specific copy_siginfo_to_user
	
	This patch moves a version of copy_siginfo_to_user that is common to
	ten of our architectures into the gerneic code and allows the other
	architectures to override it.  I suspect more of the remaining
	architectures will be able to use it as well once it is fixed (patch
	to follow).

<sfr@canb.auug.org.au>
	[PATCH] consolidate generic peices of the siginfo structures and associated stuff
	
	This patch creates asm-generic/siginfo.h and uses it to remove a
	lot of duplicate code in the various asm-*/siginfo.h files.  Some
	if it is a little ugly, but I think it will be worth it just to
	help us eliminate some of the bugs that have come from code copying.

<sfr@canb.auug.org.au>
	[PATCH] consolidate do_signal
	
	11 out of our 17 architectures have basically the same code
	in arch/../kernel/signal.c:do_signal.  This patch creates a
	common function for that bit of code and uses it in the places
	it can be.
	
	The 2.5.15 version of this patch builds and runs on i386 and PPC and has
	been briefly looked at by the CRIS, PARISC, PPC64 and x86_64 maintainers.
	
	As a bonus, this fixes the "ignore SIGURG" bug for 9 more architectures
	(i386 and PPC already were fixed).

<sfr@canb.auug.org.au>
	[PATCH] consolidate errno definitions
	
	Just remove duplicates among the asm-*/errno.h.

<ldb@ldb.ods.org>
	[PATCH] [2.4] [2.5] Fix PPPoATM crash on disconnection
	
	PPPoATM uses tasklet_disable() on a tasklet inside a struct and then
	frees the struct, leaving a pointer to the freed tasklet inside tasklet
	lists.
	
	This patch replaces tasklet_disable() with tasklet_kill().

<trond.myklebust@fys.uio.no>
	[PATCH] Teach RPC client to send pages rather than iovecs.
	
	Stop rpciod from deadlocking against itself in map_new_virtual() on HIGHMEM
	systems. RPC client currently has to keep all pages that are scheduled for
	transmission kmap()ed into an iovec for the entire duration of the call.
	We only actually need to kmap() pages while making the (non-blocking)
	call to sock_sendmsg().
	
	NOTE: When transmitting several pages in one RPC call, sock_sendmsg()
	requires us to kmap() *all* those pages at the same time. Opens for
	deadlocks between rpciod and some other process that also kmaps more
	than 1 page at a time.
	For the TCP case we can solve later by converting to TCP_CORK+sendpage().
	
	include/linux/sunrpc/xdr.h
	   Introduce 'struct xdr_buf' in order to allow RPC layer to handle
	   pages directly.
	
	include/linux/sunrpc/xprt.h:
	   Convert the RPC client send-buffer to the new format.
	
	net/sunrpc/clnt.c
	   Initialize the new format RPC send-buffer.
	
	net/sunrpc/sunrpc_syms.c
	   Export xdr_encode_pages()
	
	net/sunrpc/xdr.c
	   xdr_kmap() kmap()+copy a struct xdr_buf into an iovec array.
	   xdr_kunmap() clean up after xdr_kmap().
	   xdr_encode_pages() used to inline pages for transmission.
	
	net/sunrpc/xprt.c
	   xprt_sendmsg() needs to kmap() the pages into an iovec for transmission.
	
	include/linux/nfs_xdr.h
	   struct nfs_writeargs transmits full page information.
	   Convert nfs_rpc_ops->write() to send pages.
	
	fs/nfs/write.c
	   Adapt to new format nfs_writeargs / nfs_rpc_ops->write()
	
	fs/nfs/proc.c
	   Convert nfs_proc_write().
	
	fs/nfs/nfs2xdr.c
	   Convert nfs_xdr_writeargs()
	
	fs/nfs/nfs3proc.c
	   Convert nfs3_proc_write().
	
	fs/nfs/nfs3xdr.c
	   Convert nfs3_xdr_writeargs()
	
	Cheers,
	   Trond

<trond.myklebust@fys.uio.no>
	[PATCH] RPC client receive deadlock removal on HIGHMEM systems
	
	Remove another class of rpciod deadlocks on HIGHMEM systems. Kick habit of
	keeping pages kmap()ed for the entire duration of NFS
	read/readdir/readlink operations.
	
	Use struct page directly in RPC client data receive buffer. TCP and UDP
	sk->data_ready() bottom-halves copy (and checksum when needed) data into
	pages rather than iovecs. atomic_kmap() of single pages is used for the
	copy.
	
	include/linux/xdr.h
	   Declare structure for copying an sk_buff here rather than in xprt.c.
	   Forward declaration of new functions.
	
	include/linux/sunrpc/xprt.h
	   RPC client receive buffer changed to use new format 'struct xdr_buf'.
	
	net/sunrpc/clnt.c
	   Initialize new format receive buffer.
	
	net/sunrpc/sunrpc_syms.c
	   Export xdr_inline_pages(), xdr_shift_buf()
	
	net/sunrpc/xdr.c
	   xdr_inline_pages() inlines pages into the receive buffer.
	   xdr_partial_copy_from_skb() replaces csum_partial_copy_to_page_cache()
		and copy code in tcp_read_request(). Provides sendfile()-style
		method for copying data from an skb into a struct xdr_buf.
	   xdr_shift_buf() replaces xdr_shift_iovec() for when we overestimate
		the size of the RPC/NFS header.
	
	net/sunrpc/xprt.c
	   Adapt UDP and TCP receive routines to use new format xdr_buf.
	
	include/linux/nfs_xdr.h
	   struct nfs_readargs, nfs_readdirargs, nfs_readlinkargs,
		nfs3_readdirargs, nfs3_readlinkargs all transmit page information.
	   struct nfs_readdirres, nfs_readlinkres, nfs3_readlinkres obsoleted.
	   struct nfs_rpc_ops->readlink(), readdir(), read() now send pages
	
	fs/nfs/dir.c
	   Adapt to new format ->readdir().
	   Avoid kmap() around the RPC call.
	
	fs/nfs/read.c
	   Adapt to new format ->read() and struct nfs_readargs.
	
	fs/nfs/symlink.c
	   Adapt to new format ->readlink().
	
	fs/nfs/proc.c
	   Convert nfs_proc_readlink(), nfs_proc_readdir(), nfs_proc_read()
	
	fs/nfs/nfs2xdr.c
	   Convert XDR routines to transmit page information.
	   Remove duplicate zeroing of pages when server returns a short read.
	
	fs/nfs/nfs3proc.c
	   Convert nfs3_proc_readlink(),nfs3_proc_readdir(),nfs3_proc_read()
	
	fs/nfs/nfs3xdr.c
	   Convert XDR routines to transmit page information.
	   Remove duplicate zeroing of pages when server returns a short read.
	
	Cheers,
	  Trond

<trond.myklebust@fys.uio.no>
	[PATCH] Clean out routines that were obsoleted by previous
	
	Remove obsolete NFS and RPC routines.
	Remove 'inline' attribute from xdr_decode_fattr().

<torvalds@home.transmeta.com>
	Remove re-use of "struct mm_struct" at execve() time.
	
	This will eventually allow us to copy argc/argv without
	any intermediate storage (removing current argument size
	limitations).

<bgerst@didntduck.org>
	[PATCH] i386 head.S cleanup
	
	Cleans up some redundant code in head.S:
	- Combine checking of AC and ID eflags.
	- Streamline the setting of %cr0.

<bgerst@didntduck.org>
	[PATCH] i386 mm init cleanup part 1
	
	This revised patch starts untangling the mess in arch/i386/mm/init.c
	- Pull setting bits in cr4 out of the loop
	- Make __PAGE_KERNEL a variable and cache the global bit there.
	- New pfn_pmd() for large pages.

<bgerst@didntduck.org>
	[PATCH] i386 mm init cleanup part 2
	
	The remaining cleanups are to switch to using pfn instead of vaddr, and
	improve readability.

<torvalds@home.transmeta.com>
	Allocate new mm_struct for execve() early, so that we have
	access to it by the time we start copying arguments.
	
	We don't actually use it at this point yet.

<rusty@rustcorp.com.au>
	[PATCH] DIE "Russel", DIE!
	
	My name is *not* GPL: you may not derive works without approval.
	
	Rusty.
	PS.  I've also applied for a patent...

<bgerst@didntduck.org>
	[PATCH] fix thermal_interrupt
	
	The asm stub for thermal_interrupt was not being created.

<greg@kroah.com>
	USB SL811HS host controller driver.
	
	Added the driver to the 2.5 tree.  The original code for 2.4 was
	written by Pei Liu <pbl@cypress.com> but cleaned up a bit and 
	ported to 2.5 by me.  Any problems in the driver is probably due to
	my messing with it.
	
	This driver is for the SL811HS USB host controller chip from
	Cypress and is typically contained on a ARM based embedded
	system.

<torvalds@home.transmeta.com>
	Add missing thermal interrupt prototype.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Hand merge link order change form driverfs update.

<axboe@suse.de>
	[PATCH] block plugging reworked/fixed
	
	This implements what we discussed, basically just maintaing a plug list
	from the block layer as a direct parallel to the tq_disk task queue we
	had before.  blk_run_queues() now splices the blk_plug_list to avoid
	holding the blk_plug_lock across all the request_fn calls.

<hirofumi@mail.parknet.co.jp>
	[PATCH] Fix the utf8 option of vfat (again)
	
	This patch fixes the bug which happens when utf8 option was used,
	by using iocharset for upper/lower conversion.
	
	It's a bit strange that utf8 use iocharset, but this is still needed.

<dalecki@evision-ventures.com>
	[PATCH] 2.5.18 IDE 73
	
	 - Merge ide-probe.c and ide-features.c in to one single file.  They are
	   mutually doing basically the same and in esp. in case of the device ID
	   retrieval there *is* quite a lot of code duplication between them.
	   ide-geometry.c fits there as well.
	
	 - Remove ide_xfer_verbose - it wasn't really used.
	
	 - Don't allow check_partition to be more clever then the writer of a driver.
	   It was interfering with drivers which check partitions as they go and
	   finally if we want to spew something about it - we can do it ourself.
	
	 - Eliminate ide_geninit(). We scan for partitions now inside the recently
	   introduced attach method. register_disk() is broken by the way and 90% of
	   places where it's used it is doing literally nothing. Either some one didn't
	   finish some code or the code is basically just junk from the past.
	
	   Anyway we grok the partitions now one by one as we detect the channels.
	
	 - ide_driveid_update is gone. We don't report the drive id through /proc/ide
	   and we don't have to update it any longer on the fly. Still someone out there
	   complaining that it went away!?
	
	 - Use the global driver spin-lock to protect data structure access in the
	   ide_register_subdriver() function instead of blatantly disabling all
	   interrupts.

<dalecki@evision-ventures.com>
	[PATCH] 2.5.18 IDE 74
	
	- Simplify the ide-pci code further.

<jack@suse.cz>
	[PATCH] Quota update [1/3]
	
	I ported the quota changes to 2.5.18.  The first one is just a minor
	change to Makefile and Config.in to not build quota.c when not needed.

<jack@suse.cz>
	[PATCH] Quota update [2/3]
	
	This changes the sysctl interface to use reasonable names in
	/proc/sys/fs/quota/

<jack@suse.cz>
	[PATCH] Quota update [3/3]
	
	Remove the old backward-compatible quota interface.
	
	The patch also contains a renaming of functions vfs_{get|set}_info() to
	vfs_{get|set}_dqinfo() and minor compilation fix needed for 2.5.18
	(include <linux/namei.h>).

<pavel@suse.cz>
	[PATCH] swsusp: cleanup
	
	 - use list_for_each in head_of_free_region
	 - cleanups from 2.4
	 - fix for usb
	 - kill broken queueing

<dalecki@evision-ventures.com>
	[PATCH] 2.5.18 IDE 75
	
	 - Comment out config_chipset_for_pio from hpt366 driver. It seems to hang on it
	   and many people consistently reported that this may be necessary.
	   Well apparently this host chip is forced to be in DMA read mode anyway
	   and we where undoing this there.
	
	 - Apply small cosmetics to pdc202xx.c driver by Thierry Vignaud.
	   His change log entries follow:
	
	      - factorize constants with PDC_CLOCK and UDMA_SPEED_FLAG macros and
		the init_high_16() static inline functions, thus removing floating
		constants in code
	
	      - remove unused variables and pci space read
	
	      - kill useless code in pdc202xx_udma_irq_status() resulting in
		removing unused variable: the code does lots of tests to check what
		value to return but just always return the same exact value in all
		code paths!
		this also saves a few cpu & pci bus cyles by removing a useless read
		in pci space
	
	      - simplify #if/#else resulting in code duplication
	
	      - make init_pdc202xx clearer
	
	      - remove duplicated initializations in config_drive_xfer_rate() and
		simplify code paths
	
	 - Kill unused init_speed member from ata_device struct. Spotted by
	   M.H.VanLeeuwen.

<torvalds@home.transmeta.com>
	Fix IDE Makefile typo

<torvalds@home.transmeta.com>
	Kernel version 2.5.19


(Log in to post comments)

Copyright © 2002, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds