]> git.hungrycats.org Git - linux/log
linux
23 years agoMerge XFS updates.
Linus Torvalds [Fri, 1 Aug 2003 03:58:37 +0000 (20:58 -0700)]
Merge XFS updates.

23 years ago[PATCH] cpu_idle() startup race fix
Andrew Morton [Fri, 1 Aug 2003 03:11:57 +0000 (20:11 -0700)]
[PATCH] cpu_idle() startup race fix

Diagnosis from Christian Vogel <vogel@skunk.physik.uni-erlangen.de>

cpu_idle() tests pm_idle() just once then falls into the

while (!need_resched())
idle();

loop.

Problem is, that loop never terminates (need_resched() always returns false
on preemptive kernels).

The other problem is that ACPI updates pm_idle _after_ cpu_idle() has taken a
local copy.  So we always call default_idle(), even when pm_idle is pointing
at a new idle handler.

So fix it to pick up changed values of pm_idle() each time around the inner
loop.

23 years ago[PATCH] export install_page() to modules
Andrew Morton [Fri, 1 Aug 2003 03:11:48 +0000 (20:11 -0700)]
[PATCH] export install_page() to modules

install_page() is a library function which we expect will be used by all
drivers which implement vm_operations.populate().  Therefore it should be
exported to kernel modules.

Petr Vandrovec has a project which involves sparse mappings of device memory
which can use remap_file_pages().  It needs install_page().

23 years ago[PATCH] Watchdog: use module_param
Andrew Morton [Fri, 1 Aug 2003 03:11:41 +0000 (20:11 -0700)]
[PATCH] Watchdog: use module_param

From: Wim Van Sebroeck <wim@iguana.be>

The first patch convert these watchdog modules to the new module_param syntax.

The second patch fixes machzwd.c (you need to declare the variable before
using the module_param subroutine).

23 years ago[PATCH] ftl.c warning fix
Andrew Morton [Fri, 1 Aug 2003 03:11:33 +0000 (20:11 -0700)]
[PATCH] ftl.c warning fix

From: Adrian Bunk <bunk@fs.tum.de>

A 16bit number can _never_ be > 65536.  So don't bother to check for it.

23 years ago[PATCH] serial drivers are not experimental
Andrew Morton [Fri, 1 Aug 2003 03:11:26 +0000 (20:11 -0700)]
[PATCH] serial drivers are not experimental

From: Andries.Brouwer@cwi.nl

A few days ago I needed a serial line and couldnt find the option in
menuconfig.  Turned out that SERIAL_8250 depends on EXPERIMENTAL.  I
suppose that dependence should be removed.

23 years ago[PATCH] dscc4 compile fix for hdlc
Andrew Morton [Fri, 1 Aug 2003 03:11:18 +0000 (20:11 -0700)]
[PATCH] dscc4 compile fix for hdlc

From: Francois Romieu <romieu@fr.zoreil.com>

The wan driver I maintain was hit by hdlc changes too. Please
apply patch below. It is diffed against plain -test2 but it
applies equally as well against -test2-mm2.

More important changes will come in a near future for this
driver but I'd rather keep the changes separated.

Description:
- after the hdlc changes, dscc4 module doesn't need to set
  hdlc->proto(.id) itself anymore;
- MOD_{INC/DEC}_USE_COUNT removal;
- SET_NETDEV_DEV() use;

23 years ago[PATCH] generic HDLC updates
Andrew Morton [Fri, 1 Aug 2003 03:11:11 +0000 (20:11 -0700)]
[PATCH] generic HDLC updates

From: Krzysztof Halasa <khc@pm.waw.pl>

The following patch upgrades generic HDLC to support "new" protocol
handlers.

23 years ago[PATCH] IPMI build fix
Andrew Morton [Fri, 1 Aug 2003 03:11:03 +0000 (20:11 -0700)]
[PATCH] IPMI build fix

From: Adrian Bunk <bunk@fs.tum.de>

Fix ACPI compile error if doing processor probing only: acpi_find_bmc is
only available #ifdef CONFIG_ACPI_INTERPRETER.

23 years ago[PATCH] export agp_memory_reserved
Andrew Morton [Fri, 1 Aug 2003 03:10:57 +0000 (20:10 -0700)]
[PATCH] export agp_memory_reserved

nvidia-agp needs it.

23 years ago[PATCH] i810fb oops fix
Andrew Morton [Fri, 1 Aug 2003 03:10:49 +0000 (20:10 -0700)]
[PATCH] i810fb oops fix

The module device table is not NULL-terminated, so we run off the end during
probing and oops.

Also, move all those static decls out of .h and into .c

23 years ago[PATCH] quota typo fix
Andrew Morton [Fri, 1 Aug 2003 03:10:41 +0000 (20:10 -0700)]
[PATCH] quota typo fix

From: Herbert Potzl <herbert@13thfloor.at>

quota.h typo fix

23 years ago[PATCH] Fix dac960 for devfs
Andrew Morton [Fri, 1 Aug 2003 03:10:33 +0000 (20:10 -0700)]
[PATCH] Fix dac960 for devfs

From: Dave Olien <dmo@osdl.org>

It wasn't initializing the devfs_name member of the gendisk structures to
contain the root name of the logical disk.

23 years ago[PATCH] binfmt_script argv[0] fix
Andrew Morton [Fri, 1 Aug 2003 03:10:26 +0000 (20:10 -0700)]
[PATCH] binfmt_script argv[0] fix

From: Arun Sharma <arun.sharma@intel.com>

A script such as

  #!/bin/foo.bar
  ...

where /bin/foo.bar is handled by binfmt_misc, is not handled correctly i.e.
the interpreter of foo.bar doesn't receive the correct arguments.

The binfmt_misc handler requires that bprm->filename is appropriately
filled so that the argv[1] could be correctly passed to the interpreter.

However, binfmt_script, as it exists today doesn't populate bprm->filename
correctly.

Another motivation for this patch is the output of ps.  Emulators which use
binfmt_misc may want to keep the output of ps consistent with native
execution.  This requires preserving bprm->filename.  The attached patch
guarantees this even if we have to go through several binfmt handlers
(think of finite loops involving binfmt_script and binfmt_misc).

23 years ago[PATCH] pc300_drv build fix
Andrew Morton [Fri, 1 Aug 2003 03:10:18 +0000 (20:10 -0700)]
[PATCH] pc300_drv build fix

From: Adrian Bunk <bunk@fs.tum.de>

Fix compile error introduced by the HDLC update.

23 years ago[PATCH] com20020_cs.c doesn't compile
Andrew Morton [Fri, 1 Aug 2003 03:10:11 +0000 (20:10 -0700)]
[PATCH] com20020_cs.c doesn't compile

From: Adrian Bunk <bunk@fs.tum.de>

drivers/net/pcmcia/com20020_cs.c wasn't updated to the module owner
field changes

23 years ago[PATCH] uidhash init-time locking
Andrew Morton [Fri, 1 Aug 2003 03:10:03 +0000 (20:10 -0700)]
[PATCH] uidhash init-time locking

From: <ffrederick@prov-liege.be>

Add the necessary locking around uid_hash_insert() in uid_cache_init().

(It's an initcall, and the chances of another CPU racing with us here are
basically zero.  But it's good for documentary purposes and the code gets
dropped later anyway...)

23 years ago[PATCH] Move the special_file() definition
Andrew Morton [Fri, 1 Aug 2003 03:09:55 +0000 (20:09 -0700)]
[PATCH] Move the special_file() definition

From: <ffrederick@prov-liege.be>

The special_file() macro is being duplicated in JFS.  Move it to fs.h.

23 years ago[PATCH] fix read_dir()
Andrew Morton [Fri, 1 Aug 2003 03:09:49 +0000 (20:09 -0700)]
[PATCH] fix read_dir()

This function tries to allocate increasingly large buffers, but it gets the
bounds wrong by a factor of PAGE_SIZE.  It causes boot-time devfs mounting
to fail.

23 years ago[PATCH] ext3: fix commit assertion failure
Andrew Morton [Fri, 1 Aug 2003 03:09:41 +0000 (20:09 -0700)]
[PATCH] ext3: fix commit assertion failure

We're getting asserion failures in commit in data=journal mode.

journal_unmap_buffer() has unexpectedly donated this buffer to the committing
transaction, and the commit-time assertion doesn't expect that to happen.  It
doesn't happen in 2.4 because both paths are under lock_journal().

Simply remove the assertion: the commit code will uncheckpoint the buffer and
then recheckpoint it if needed.

23 years ago[PATCH] fix ip_conntrack_core.h compile error
Andrew Morton [Fri, 1 Aug 2003 03:09:34 +0000 (20:09 -0700)]
[PATCH] fix ip_conntrack_core.h compile error

From: Felipe Alfaro Solana <felipe_alfaro@linuxmail.org>

Fix compile error in 2.6.0-test2 when Netfilter IP connection tracking
is enabled.

23 years ago[PATCH] fix select() with an xoffed tty
Andrew Morton [Fri, 1 Aug 2003 03:09:26 +0000 (20:09 -0700)]
[PATCH] fix select() with an xoffed tty

From: Manfred Spraul <manfred@colorfullife.com>

Eli Barzilay noticed that select() for tty devices is broken: For
stopped tty devices, select says POLLOUT and write fails with -EAGAIN.

    http://marc.theaimsgroup.com/?l=linux-kernel&m=105902461110282&w=2

I've tracked this back to normal_poll in drivers/char/n_tty.c:

 > if (tty->driver->chars_in_buffer(tty) < WAKEUP_CHARS)
 >                mask |= POLLOUT | POLLWRNORM;

It assumes that a following write will succeed if less than 256 bytes
are in the write buffer right now. This assumption is wrong for
con_write_room: if the console is stopped, it returns 0 bytes buffer
size (con_write_room()). Ditto for pty_write_room.

23 years ago[PATCH] Fix ipt_helper compilation
Andrew Morton [Fri, 1 Aug 2003 03:09:18 +0000 (20:09 -0700)]
[PATCH] Fix ipt_helper compilation

From: florin@iucha.net (Florin Iucha)

Fix compilation of net/ipv4/netfilter/ipt_helper.c by including the
proper header files.

23 years ago[PATCH] direct-io support for XFS unwritten extents
Andrew Morton [Fri, 1 Aug 2003 03:09:08 +0000 (20:09 -0700)]
[PATCH] direct-io support for XFS unwritten extents

From: Nathan Scott <nathans@sgi.com>

This patch adds a mechanism by which a filesystem can register an interest in
the completion of direct I/O.  The completion routine will be given the
inode, an offset and a length, and an optional filesystem-private field.

We have extended the use of the buffer_head-based interface (i.e.
get_block_t) for direct I/O such that the b_private field is now utilised.
It is defined to be initially zero at the start of I/O, and will be passed
into the filesystem unmodified by the VFS with each map request, while
setting up the direct I/O.  Once I/O has completed the final value of this
pointer will be passed into a filesystems I/O completion handler.  This
mechanism can be used to keep track of all of the mapping requests which
encompass an individual direct I/O request.

This has been implemented specifically for XFS, but is done so as to be as
generic as possible.  XFS uses this mechanism to provide support for
unwritten extents - these are file extents which have been pre-allocated
on-disk, but not yet written to (once written, these become regular file
extents, but only once I/O is complete).

23 years ago[PATCH] vmscan: use zone_pressure for page unmapping
Andrew Morton [Fri, 1 Aug 2003 03:08:53 +0000 (20:08 -0700)]
[PATCH] vmscan: use zone_pressure for page unmapping

From: Nikita Danilov <Nikita@Namesys.COM>

Use zone->pressure (rathar than scanning priority) to determine when to
start reclaiming mapped pages in refill_inactive_zone().  When using
priority every call to try_to_free_pages() starts with scanning parts of
active list and skipping mapped pages (because reclaim_mapped evaluates to
0 on low priorities) no matter how high memory pressure is.

23 years ago[PATCH] vmscan: decaying average of zone pressure
Andrew Morton [Fri, 1 Aug 2003 03:08:36 +0000 (20:08 -0700)]
[PATCH] vmscan: decaying average of zone pressure

From: Nikita Danilov <Nikita@Namesys.COM>

The vmscan logic at present will scan the inactive list with increasing
priority until a threshold is triggered.  At that threshold we start
unmapping pages from pagetables.

The problem is that each time someone calls into this code, the priority is
initially low, so some mapped pages will be refiled event hough we really
should be unmapping them now.

Nikita's patch adds the `pressure' field to struct zone.  it is a decaying
average of the zone's memory pressure and allows us to start unmapping pages
immediately on entry to page reclaim, based on measurements which were made
in earlier reclaim attempts.

23 years ago[PATCH] fix kswapd throttling
Andrew Morton [Fri, 1 Aug 2003 03:08:18 +0000 (20:08 -0700)]
[PATCH] fix kswapd throttling

kswapd currently takes a throttling nap even if it freed all the pages it
was asked to free.

Change it so we only throttle if reclaim is not being sufficiently
successful.

23 years ago[PATCH] use mark_page_accessed() in the write() path
Andrew Morton [Fri, 1 Aug 2003 03:08:01 +0000 (20:08 -0700)]
[PATCH] use mark_page_accessed() in the write() path

We're currently just setting the referenced bit when modifying pagecache in
write().

Consequently overwritten (and redirtied) pages are remaining on the inactive
list.  The net result is that a lot of dirty pages are reaching the tail of
the LRU in page reclaim and are getting written via the writepage() in there.

But a core design objective is to minimise the amount of IO via that path,
and to maximise the amount of IO via balance_dirty_pages().  Because the
latter has better IO patterns.

This may explain the bad IO patterns which Gerrit talked about at KS.

23 years ago[PATCH] devfs_lookup stack corruption fix rework
Andrew Morton [Fri, 1 Aug 2003 03:07:34 +0000 (20:07 -0700)]
[PATCH] devfs_lookup stack corruption fix rework

From: Andrey Borzenkov <arvidjaar@mail.ru>

A while back Andrey fixed a devfs bug in which we were running
remove_wait_queue() against a wait_queue_head which was on another process's
stack, and which had gone out of scope.

The patch reverts that fix and does it the same way as 2.4: just leave the
waitqueue struct dangling on the waitqueue_head: there is no need to touch it
at all.

It adds a big comment explaining why we are doing this nasty thing.

23 years ago[PATCH] 6PACK asumes HZ=100
Andrew Morton [Fri, 1 Aug 2003 03:07:05 +0000 (20:07 -0700)]
[PATCH] 6PACK asumes HZ=100

From: Hans-Joachim Hetscher <me@privacy.net>

the Hamradio 6pack driver wasn't modified to work with the 1000 HZ
internal kernel timebase.

23 years ago[PATCH] soundcard.c devfs fix
Andrew Morton [Fri, 1 Aug 2003 03:06:28 +0000 (20:06 -0700)]
[PATCH] soundcard.c devfs fix

It is using "snd".  It should be using "sound".

23 years ago[PATCH] fix alloc_bootmem_low_pages
Andrew Morton [Fri, 1 Aug 2003 03:05:50 +0000 (20:05 -0700)]
[PATCH] fix alloc_bootmem_low_pages

From: jbarnes@sgi.com (Jesse Barnes)

This patch is needed for some discontig boxes since the memory maps may
be built out-of-order.

23 years ago[PATCH] ext3: don't start a commit in write_super()
Andrew Morton [Fri, 1 Aug 2003 03:05:05 +0000 (20:05 -0700)]
[PATCH] ext3: don't start a commit in write_super()

From: bzzz@tmi.comex.ru

Now we have sync_fs(), the kludge of using write_super() to detect when the
VFS is trying to sync the fs is unneeded.

With this change we don't accidentally run commits in response to kupdate
and bdflush activity and it speedup up some heavy workloads significantly.

23 years ago[PATCH] Fix race in ext3_getblk
Andrew Morton [Fri, 1 Aug 2003 03:04:17 +0000 (20:04 -0700)]
[PATCH] Fix race in ext3_getblk

From: Alex Tomas <bzzz@tmi.comex.ru>

ext3_getblk() memsets a newly allocated buffer, but forgets to check
whether a different thread brought it uptodate while we waited for the
buffer lock.

It's OK normally because we're serialised by the page lock.  But lustre
apparently is doing something different with getblk and hits this race.

Plus I suspect it's racy with competing O_DIRECT writes.

23 years ago[PATCH] ext3: avoid reading empty inode blocks
Andrew Morton [Fri, 1 Aug 2003 03:03:38 +0000 (20:03 -0700)]
[PATCH] ext3: avoid reading empty inode blocks

From: Alex Tomas <bzzz@tmi.comex.ru>

ext3_get_inode_loc() read inode's block only if:

  1) this inode has no copy in memory
  2) inode's block has another valid inode(s)

this optimization allows to avoid needless I/O in two cases:

1) just allocated inode is first valid in the inode's block

2) kernel wants to write inode, but buffer in which inode
   belongs to gets freed by VM

23 years ago[PATCH] rework readahead for congested queues
Andrew Morton [Fri, 1 Aug 2003 03:02:32 +0000 (20:02 -0700)]
[PATCH] rework readahead for congested queues

Since Jens changed the block layer to fail readahead if the queue has no
requests free, a few changes suggest themselves.

- It's a bit silly to go and alocate a bunch of pages, build BIOs for them,
  submit the IO only to have it fail, forcing us to free the pages again.

  So the patch changes do_page_cache_readahead() to peek at the queue's
  read_congested state.  If the queue is read-congested we abandon the entire
  readahead up-front without doing all that work.

- If the queue is not read-congested, we go ahead and do the readahead,
  after having set PF_READAHEAD.

  The backing_dev_info's read-congested threshold cuts in when 7/8ths of
  the queue's requests are in flight, so it is probable that the readahead
  abandonment code in __make_request will now almost never trigger.

- The above changes make do_page_cache_readahead() "unreliable", in that it
  may do nothing at all.

  However there are some system calls:

- fadvise(POSIX_FADV_WILLNEED)
- madvise(MADV_WILLNEED)
- sys_readahead()

  In which the user has an expectation that the kernel will actually
  perform the IO.

  So the patch creates a new "force_page_cache_readahead()" which will
  perform the IO regardless of the queue's congestion state.

  Arguably, this is the wrong thing to do: even though the application
  requested readahead it could be that the kernel _should_ abandon the user's
  request because the disk is so busy.

  I don't know.  But for now, let's keep the above syscalls behaviour
  unchanged.  It is trivial to switch back to do_page_cache_readahead()
  later.

23 years ago[PATCH] fix bogus IO error messages
Andrew Morton [Fri, 1 Aug 2003 03:01:37 +0000 (20:01 -0700)]
[PATCH] fix bogus IO error messages

Since Jens added the pagecache readahead support in the block layer we've
been getting bogus IO error messages from buffer.c due to __make_request
calling end_io against a non-uptodate buffer.

We can just use PF_READAHEAD to shut that up.  But really, we shouldn't even
have allocated all those pages and submittted the readahead IO if the queue
was congested.   We have the infrastructure to do that now.

23 years ago[PATCH] Fix vmtruncate race and distributed filesystem race
Andrew Morton [Fri, 1 Aug 2003 03:00:04 +0000 (20:00 -0700)]
[PATCH] Fix vmtruncate race and distributed filesystem race

From: Dave McCracken <dmccr@us.ibm.com>

This patch solves the race between truncate and page in which can cause stray
anon pages to appear in the truncated region.

The race occurs when a process is sleeping in pagein IO during the truncate:
there's a window after checking i_size in which the paging-in process decides
that the page was an OK one.

This leaves an anon page in the pagetables, and if the file is subsequently
extended we have an anon page floating about inside a file-backed mmap - user
modifications will not be written out.

Apparently this is also needed for the implementation of POSIX semantics for
distributed filesystems.

We use a generation counter in the address_space so the paging-in process can
determine whether there was a truncate which might have shot the new page
down.

It's a bit grubby to be playing with files and inodes in do_no_page(), but we
do need the page_table_lock coverage for this, and rearranging thngs to
provide that coverage to filemap_nopage wasn't very nice either.

23 years ago[PATCH] Interface to invalidate regions of mmaps
Andrew Morton [Fri, 1 Aug 2003 02:59:19 +0000 (19:59 -0700)]
[PATCH] Interface to invalidate regions of mmaps

From: "Paul E. McKenney" <paulmck@us.ibm.com>

The patch reworks and generalises vmtruncate_list() a bit to create an API
which invalidates a specified portion of an address_space, permitting
distributed filesystems to maintain POSIX semantics when a file mmap()ed on
one client is modified on another client.

23 years ago[PATCH] unlock_buffer() needs a barrier
Andrew Morton [Fri, 1 Aug 2003 02:58:37 +0000 (19:58 -0700)]
[PATCH] unlock_buffer() needs a barrier

From: Chris Mason <mason@suse.com>

unlock_buffer() needs a barrier before the waitqueue_active() optimisation.

23 years ago[PATCH] kwsapd can free too much memory
Andrew Morton [Fri, 1 Aug 2003 02:57:34 +0000 (19:57 -0700)]
[PATCH] kwsapd can free too much memory

We need to subtract the number of freed slab pages from the number of pages
to free, not add it.

23 years ago[PATCH] non-MII 3c59x fix
Andrew Morton [Fri, 1 Aug 2003 02:56:53 +0000 (19:56 -0700)]
[PATCH] non-MII 3c59x fix

From: Marc Zyngier <mzyngier@freesurf.fr>

The following patch tries to fix a small bug that crept in at some
point during 2.5.

None of my 3c592 or 3c597 would work if I didn't force media
type. Instead, it would try to probe MII, looking for a suitable
transceiver, and finaly give up, because these cards really do not
have any sort of MII... :

  EISA: Probing bus 0 at Intel Corp. 82375EB
  EISA: Mainboard DEC5000 detected.
  EISA: slot 2 : ADP0001 detected.
  EISA: slot 3 : ADP7771 detected.
  EISA: slot 4 : DPTA401 detected.
  EISA: slot 5 : TCM5920 detected.
  3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
  00:05: 3Com EISA 3c592 EISA 10Mbps Demon/Vortex at 0x5000. Vers LK1.1.19
    ***WARNING*** No MII transceivers found!
  EISA: Detected 4 cards.

With the enclosed patch, it just works, at least on my setup (3c592 on
Alpha, and 3c597 on x86). I haven't been able to test it didn't break
cards with MII, because I do not have such cards in my test boxes...

The patch also removes two useless EISA-only #define I introduced some
time ago.

23 years ago[PATCH] dev_t printing
Andrew Morton [Fri, 1 Aug 2003 02:56:15 +0000 (19:56 -0700)]
[PATCH] dev_t printing

From: Greg KH <greg@kroah.com>

Different architectures use different types for dev_t, so it is hard to
print dev_t variables out correctly.  Quite a lot of code is wrong now, and
will continue to be wrong when 64-bit dev_t is merged.

Greg's patch introduces a little wrapper function which can be used to
safely form a dev_t for printing.  I added the format_dev_t function as
well, which is needed for direct insertion in a printk statement.

23 years ago[PATCH] 3c59x suspend/resume fix
Andrew Morton [Fri, 1 Aug 2003 02:55:36 +0000 (19:55 -0700)]
[PATCH] 3c59x suspend/resume fix

Currently, all of the 3c59x power management code is disabled unless the
`enable_wol' module parameter is provided.  This was done because the PM
support was added quite late in the 2.4 cycle.

It was always intended that this conditionality be removed in 2.5.

23 years ago[PATCH] update to speedstep-centrino.c
Andrew Morton [Fri, 1 Aug 2003 02:55:07 +0000 (19:55 -0700)]
[PATCH] update to speedstep-centrino.c

From: Jeremy Fitzhardinge <jeremy@goop.org>

The 900MHz Pentium M has two spaces before the frequency:
"Intel(R) Pentium(R) M processor  900MHz"

This patch adds a 2nd CPU macro (_CPU) which also takes the
stringified speed so that extra spacing can be added.

23 years ago[PATCH] buffer.c debugging
Andrew Morton [Fri, 1 Aug 2003 02:54:45 +0000 (19:54 -0700)]
[PATCH] buffer.c debugging

We get a bug report about once per month wherein find_get_block_slow() spits
an error message.  For some reason we have buffers against a blockdev page
which have the incorrect b_size.

Probably, an earlier set_blcoksize() failed to invalidate all the apges for
some reason.  I just don't know.

The patch adds a bit of extra debug info to aid in diagnosing this.

23 years ago[PATCH] re-slabify i386 pgd's and pmd's
Andrew Morton [Fri, 1 Aug 2003 02:54:26 +0000 (19:54 -0700)]
[PATCH] re-slabify i386 pgd's and pmd's

From: William Lee Irwin III <wli@holomorphy.com>

The original pgd/pmd slabification patches had a critical bug on
non-PAE where both modifications of pgd entries to remove pagetables
attached for non-PSE mappings back to a PSE state and modifications of
pgd entries to attach pagetables to bring PSE mappings into a non-PSE
state were not propagated to cached pgd's. PAE was immune to it owing
to the shared kernel pmd.

The following patch vs. 2.5.69 restores the slabification done to cache
preconstructed pagetables with the proper propagation of conversions
to and from PSE mappings to cached pgd's for the non-PAE case.

This is an optimization to reduce the bitblitting overhead for spawning
small tasks (for larger ones, bottom-level pagetable copies dominate)
primarily on non-PAE; the PAE code change is largely to remove #ifdefs
and to treat the two cases uniformly, though some positive but small
performance improvement has been observed for PAE in one of mbligh's
posts. The non-PAE performance improvement has been observed on a box
running a script-heavy end-user workload as a large long-term profile
hit count reduction for pgd_alloc() and relatives thereof.

I would very much appreciate outside testers. Even though I've been
able to verify this boots and runs properly and survives several cycles
of restarting X on my non-PAE Thinkpad T21, that environment has never
been able to reproduce the bug. Those with the proper graphics hardware
to prod the affected codepaths into action are the ones best suited to
verify proper functionality. There is also some locking introduced; if
some performance verification on non-PAE SMP i386 targets (my SMP
targets unfortunately all require PAE due to arch code dependencies)
that also have the proper hardware could be done, that would help
determine whether alternative locking schemes that competed against
the one shown here are preferable (in particular, the ticket-based
scheme mentioned in the comments).

23 years ago[PATCH] selinux merge
Andrew Morton [Fri, 1 Aug 2003 02:54:11 +0000 (19:54 -0700)]
[PATCH] selinux merge

From Stephen Smalley <sds@epoch.ncsc.mil>

This has been in -mm for a few weeks and James Morris has been
regression testing each release.

23 years ago[PATCH] misc fixes
Andrew Morton [Fri, 1 Aug 2003 02:54:01 +0000 (19:54 -0700)]
[PATCH] misc fixes

- remove unneeded loglevel manipulation in journal_dirty_metadata()

- remove crud which was acidentally added to blkmtd.c

- remove unused vars in mxser.c (Vinay K Nallamothu <vinay-rc@naturesoft.net>)

- PF_LESS_THROTTLE was using the wrong bit (Joe Korty <joe.korty@ccur.com>)

- unused var in cyclades.c ("Krishnakumar. R" <krishnakumar@naturesoft.net>)

23 years agoDo not include linux/version.h - no need for it
Stephen Lord [Fri, 1 Aug 2003 01:14:16 +0000 (20:14 -0500)]
Do not include linux/version.h - no need for it

23 years ago[XFS] Forward port 2.4 pagebuf locking to 2.5, based on Steve's analysis - to fix...
Nathan Scott [Fri, 1 Aug 2003 00:56:38 +0000 (19:56 -0500)]
[XFS] Forward port 2.4 pagebuf locking to 2.5, based on Steve's analysis - to fix the infamous pagebuf IO completion buglet.

SGI Modid: 2.5.x-xfs:slinx:154781a

23 years ago[XFS] Minor cleanups for unwritten extent fix, using one less variable on the stack
Nathan Scott [Fri, 1 Aug 2003 00:52:50 +0000 (19:52 -0500)]
[XFS] Minor cleanups for unwritten extent fix, using one less variable on the stack

SGI Modid: 2.5.x-xfs:slinx:154771a

23 years ago[PATCH] Require nfs-utils 1.0.5; document where to get it
Chip Salzenberg [Thu, 31 Jul 2003 15:42:00 +0000 (08:42 -0700)]
[PATCH] Require nfs-utils 1.0.5; document where to get it

This patch notes that users should get nfs-utils 1.0.5 (1.0.4 had a
memory usage bug), and tells them where to get it.

23 years ago[PATCH] MIPS update
Ralf Bächle [Thu, 31 Jul 2003 15:40:55 +0000 (08:40 -0700)]
[PATCH] MIPS update

Here's another MIPS update.  The patch is huge because it completly
folds mips64 into mips, thereby eleminating 41010 lines of code.

23 years ago[PATCH] x86-64 merge
Andi Kleen [Thu, 31 Jul 2003 15:09:12 +0000 (08:09 -0700)]
[PATCH] x86-64 merge

Only bug fixes and making it compile again and a few minor features.
Also one security fix that got lost earlier

- Document boot options
- Better cpu local data
- Emulate FIOQSIZE
- Fix return value of 32bit ipccall
- Various minor style fixes
- Save some memory in apic tables
- Merge with 2.6.0test2/i386
- Readd ioport fix
- Sort exception tables at boot time
- Add local.h
- Fix for_each_cpu on UP
- Add utimes and tgkill system calls for 64bit
- Update defconfig

23 years ago[PATCH] drivers/char/stallion.c: devfs_mk_cdev fix
Felipe Damasio [Thu, 31 Jul 2003 15:09:02 +0000 (08:09 -0700)]
[PATCH] drivers/char/stallion.c: devfs_mk_cdev fix

devfs_mk_cdev now only takes 3 parameters (dev_t, umode_t, fmt..), so
update this driver to the new API.

23 years ago[PATCH] CREDITS update
Rik van Riel [Thu, 31 Jul 2003 15:08:44 +0000 (08:08 -0700)]
[PATCH] CREDITS update

Time to update my CREDITS entry...

23 years ago[PATCH] PPC32: Update pmac_cpufreq driver back to working
Benjamin Herrenschmidt [Thu, 31 Jul 2003 15:08:36 +0000 (08:08 -0700)]
[PATCH] PPC32: Update pmac_cpufreq driver back to working

This patch updates the PowerMac cpufreq driver so that
it builds & works in current 2.6

23 years ago[PATCH] PPC32: Properly register CPUs
Benjamin Herrenschmidt [Thu, 31 Jul 2003 15:08:28 +0000 (08:08 -0700)]
[PATCH] PPC32: Properly register CPUs

This adds proper registration of CPUs on ppc32, without this, accesses
to cpufreq will oops.

23 years ago[PATCH] Hexium saa7146 driver update
Michael Hunold [Thu, 31 Jul 2003 15:08:20 +0000 (08:08 -0700)]
[PATCH] Hexium saa7146 driver update

[V4L] - set debug verbosity to 0 for both Hexium drivers
[V4L] - declare all local functions and variables static

23 years ago[PATCH] TTUSB-DEC driver update
Michael Hunold [Thu, 31 Jul 2003 15:08:14 +0000 (08:08 -0700)]
[PATCH] TTUSB-DEC driver update

[DVB] - Hand off all processing of urb data to a tasklet

23 years ago[PATCH] Update MAC handling for various DVB PCI cards
Michael Hunold [Thu, 31 Jul 2003 15:08:06 +0000 (08:08 -0700)]
[PATCH] Update MAC handling for various DVB PCI cards

[DVB] - correctly read MAC from eeprom on Technotrend and KNC1 cards

23 years ago[PATCH] mt312 DVB frontend update
Michael Hunold [Thu, 31 Jul 2003 15:07:59 +0000 (08:07 -0700)]
[PATCH] mt312 DVB frontend update

[DVB] - show i2c read errors only for registered frontends

23 years ago[PATCH] DVB core update
Michael Hunold [Thu, 31 Jul 2003 15:07:52 +0000 (08:07 -0700)]
[PATCH] DVB core update

[DVB] - if there are multiple adapters, bend the tuning frequency only if the adapters differ

23 years ago[PATCH] Kconfig and Makefile updates
Michael Hunold [Thu, 31 Jul 2003 15:07:45 +0000 (08:07 -0700)]
[PATCH] Kconfig and Makefile updates

[V4L] - make sure saa7146 module gets build for Hexium drivers
[V4L] - make Hexium drivers depend on the i2c layer
[DVB] - fix typo which prevented the mt312 driver from being build (obi <=> obj)

23 years ago[PATCH] osf partition numbering
Andries E. Brouwer [Thu, 31 Jul 2003 15:07:38 +0000 (08:07 -0700)]
[PATCH] osf partition numbering

OSF partitions are mostly found on alpha machines.  It's been reported
that the partition numbering changed between 2.4 and 2.6.

This makes 2.6 use the 2.4 numbering scheme.

23 years ago[PATCH] h8300: build error fixes
Yoshinori Sato [Thu, 31 Jul 2003 15:07:31 +0000 (08:07 -0700)]
[PATCH] h8300: build error fixes

build error and warning fix
blkdev location cleanup
typo fix

23 years ago[PATCH] h8300: arch update
Yoshinori Sato [Thu, 31 Jul 2003 15:07:24 +0000 (08:07 -0700)]
[PATCH] h8300: arch update

H8S architecture support
signal handling problem fix
gcc-3.3 support
vfork/clone return value fix
added show_stack
build error and warning fix
blkdev location cleanup

23 years ago[PATCH] h8300: header file updates
Yoshinori Sato [Thu, 31 Jul 2003 15:07:16 +0000 (08:07 -0700)]
[PATCH] h8300: header file updates

used common header files
build error and warning fix
add include/asm-h8300/local.h and include/asm-h8300/sections.h

23 years ago[PATCH] h8300: H8S architecture support
Yoshinori Sato [Thu, 31 Jul 2003 15:07:07 +0000 (08:07 -0700)]
[PATCH] h8300: H8S architecture support

23 years ago[PATCH] h8300: interrupt management update
Yoshinori Sato [Thu, 31 Jul 2003 15:06:58 +0000 (08:06 -0700)]
[PATCH] h8300: interrupt management update

interrupt management update
target-support file update
gcc-3.3 support
blkdev location cleanup

23 years ago[PATCH] h8300: config updates
Yoshinori Sato [Thu, 31 Jul 2003 15:06:33 +0000 (08:06 -0700)]
[PATCH] h8300: config updates

config script fix
defconfig update
Makefile update
add H8S archtecture support

23 years ago[PATCH] Add new include files for v850
Miles Bader [Thu, 31 Jul 2003 15:06:25 +0000 (08:06 -0700)]
[PATCH] Add new include files for v850

23 years ago[PATCH] get rid of unused request_queue field queue_wait
Jens Axboe [Thu, 31 Jul 2003 15:06:17 +0000 (08:06 -0700)]
[PATCH] get rid of unused request_queue field queue_wait

From Lou Langholtz <ldl@aros.net>

The queue_wait field of struct request_queue is not used anymore, and
this gets rid of it.

23 years ago[PATCH] fix broken blk_start_queue behavior
Jens Axboe [Thu, 31 Jul 2003 15:06:10 +0000 (08:06 -0700)]
[PATCH] fix broken blk_start_queue behavior

From Lou Langholtz <ldl@aros.net>

This fixes the behavior of blk_start_queue() so that request queues
really do start up again after blk_start_queue() is called (on queues
that were previously stopped via blk_stop_queue).

23 years ago[PATCH] fix typo in drivers/net/arcnet/com20020-isa.c
François Romieu [Thu, 31 Jul 2003 15:06:04 +0000 (08:06 -0700)]
[PATCH] fix typo in drivers/net/arcnet/com20020-isa.c

Fix a typo during last module refcounting fix.

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.make
Linus Torvalds [Thu, 31 Jul 2003 14:11:39 +0000 (07:11 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.make
into home.osdl.org:/home/torvalds/v2.5/linux

23 years agoMerge http://jfs.bkbits.net/linux-2.5
Linus Torvalds [Thu, 31 Jul 2003 14:07:51 +0000 (07:07 -0700)]
Merge http://jfs.bkbits.net/linux-2.5
into home.osdl.org:/home/torvalds/v2.5/linux

23 years agoMerge http://linux-watchdog.bkbits.net/linux-2.5-watchdog
Linus Torvalds [Thu, 31 Jul 2003 13:24:55 +0000 (06:24 -0700)]
Merge http://linux-watchdog.bkbits.net/linux-2.5-watchdog
into home.osdl.org:/home/torvalds/v2.5/linux

23 years agoMerge http://lia64.bkbits.net/to-linus-2.5
Linus Torvalds [Thu, 31 Jul 2003 13:23:12 +0000 (06:23 -0700)]
Merge http://lia64.bkbits.net/to-linus-2.5
into home.osdl.org:/home/torvalds/v2.5/linux

23 years agoMerge initializer conflict manually
Linus Torvalds [Thu, 31 Jul 2003 12:37:39 +0000 (05:37 -0700)]
Merge initializer conflict manually

23 years agoMerge home.osdl.org:/home/torvalds/v2.5/ac
Linus Torvalds [Thu, 31 Jul 2003 12:24:02 +0000 (05:24 -0700)]
Merge home.osdl.org:/home/torvalds/v2.5/ac
into home.osdl.org:/home/torvalds/v2.5/linux

23 years ago[PATCH] ikconfig
Alan Cox [Thu, 31 Jul 2003 12:20:42 +0000 (05:20 -0700)]
[PATCH] ikconfig

(Randy Dunlap)

Build the kernel config data into the kernel - either unloaded or accessible
via /proc

23 years ago[PATCH] remaining illegal/invalid/separate stuff for scsi
Alan Cox [Thu, 31 Jul 2003 12:20:30 +0000 (05:20 -0700)]
[PATCH] remaining illegal/invalid/separate stuff for scsi

23 years ago[PATCH] update for DC395 driver (big)
Alan Cox [Thu, 31 Jul 2003 12:20:18 +0000 (05:20 -0700)]
[PATCH] update for DC395 driver (big)

This is a fairly major update to get stuff going again

(From the maintainers)

23 years ago[PATCH] work around tosh keyboards
Alan Cox [Thu, 31 Jul 2003 12:20:05 +0000 (05:20 -0700)]
[PATCH] work around tosh keyboards

These produce double ups sometimes
(Chris Heath)

23 years ago[PATCH] update Changes for NFS changes
Alan Cox [Thu, 31 Jul 2003 12:19:53 +0000 (05:19 -0700)]
[PATCH] update Changes for NFS changes

23 years ago[PATCH] further sound updates
Alan Cox [Thu, 31 Jul 2003 12:19:44 +0000 (05:19 -0700)]
[PATCH] further sound updates

Switching back to strlcpy/memset to avoid padding problems

23 years ago[PATCH] further OSS audio updates
Alan Cox [Thu, 31 Jul 2003 12:19:33 +0000 (05:19 -0700)]
[PATCH] further OSS audio updates

23 years ago[PATCH] fix section conflict and typo in ALSA isa
Alan Cox [Thu, 31 Jul 2003 12:19:24 +0000 (05:19 -0700)]
[PATCH] fix section conflict and typo in ALSA isa

23 years ago[PATCH] allow 2.6 to build on old old setups
Alan Cox [Thu, 31 Jul 2003 12:19:13 +0000 (05:19 -0700)]
[PATCH] allow 2.6 to build on old old setups

(Mikael Pettersson)

23 years ago[PATCH] fix posix compliance for mkcompile_h script
Alan Cox [Thu, 31 Jul 2003 12:19:04 +0000 (05:19 -0700)]
[PATCH] fix posix compliance for mkcompile_h script

23 years ago[PATCH] sunrpc doesnt need uaccess.h
Alan Cox [Thu, 31 Jul 2003 12:18:53 +0000 (05:18 -0700)]
[PATCH] sunrpc doesnt need uaccess.h

(Frank Cusack)

23 years ago[PATCH] the rest of the slab.c fix...
Alan Cox [Thu, 31 Jul 2003 12:18:44 +0000 (05:18 -0700)]
[PATCH] the rest of the slab.c fix...

(Junkio)

23 years ago[PATCH] maintainer for sk98
Alan Cox [Thu, 31 Jul 2003 12:18:33 +0000 (05:18 -0700)]
[PATCH] maintainer for sk98

23 years ago[PATCH] fix strncpy on generic user platforms
Alan Cox [Thu, 31 Jul 2003 12:18:18 +0000 (05:18 -0700)]
[PATCH] fix strncpy on generic user platforms

23 years ago[PATCH] typo fix for time.h
Alan Cox [Thu, 31 Jul 2003 12:18:10 +0000 (05:18 -0700)]
[PATCH] typo fix for time.h

(Steven Cole)

23 years ago[PATCH] fix 2 byte data leak due to padding
Alan Cox [Thu, 31 Jul 2003 12:18:03 +0000 (05:18 -0700)]
[PATCH] fix 2 byte data leak due to padding

23 years ago[PATCH] use invalid not illegal in reiserfs
Alan Cox [Thu, 31 Jul 2003 12:17:56 +0000 (05:17 -0700)]
[PATCH] use invalid not illegal in reiserfs

(Steven Cole)

23 years ago[PATCH] kill __NO_VERSION__ in intermezzo
Alan Cox [Thu, 31 Jul 2003 12:17:49 +0000 (05:17 -0700)]
[PATCH] kill __NO_VERSION__ in intermezzo

(Adrian Bunk)