Steven Cole [Tue, 25 Feb 2003 10:49:45 +0000 (02:49 -0800)]
[PATCH] replace its with it's where appropriate.
This patch replaces its (possessive of it) with it's (it is)
in the following cases where "it is" is meant.
its a -> it's a
its an -> it's an
its not -> it's not
except for the files
arch/cris/boot/rescue/head.S
arch/cris/kernel/kgdb.c
where the substitution is "its not" -> "it is not"
to avoid possible problems with single quotes in assembly comments.
Rusty Russell [Tue, 25 Feb 2003 10:26:27 +0000 (02:26 -0800)]
[PATCH] Modules code tidy up
Now that we search for 11 different sections by name, the if/else was
getting unwieldy. Also, handle_section just does relocs, so it's a bit
of a misnomer, and it's best simply moved into the main code.
This open-codes handle_section, which simply does relocations now.
Also adds "find_sec" and uses it to find the various sections.
Rusty Russell [Tue, 25 Feb 2003 10:26:20 +0000 (02:26 -0800)]
[PATCH] Modules race fix
Bob Miller points out that the try_module_get in use_module() can, of
course, fail. Secondly, there is a race between setting the module
live, and a simultaneous removal of it.
Greg Ungerer [Tue, 25 Feb 2003 10:26:11 +0000 (02:26 -0800)]
[PATCH] include unistd.h in m68knommu entry.S
This includes asm/unistd.h in the vector handling code for m68knommu.
It needs the local NR_syscalls define. linux/unistd.h is not assembler
clean, so it must be asm/unistd.h.
Greg Ungerer [Tue, 25 Feb 2003 10:25:35 +0000 (02:25 -0800)]
[PATCH] define struct for m68knommu/ColdFire timer registers
This creates a sturcture to mirror the m68knommu/ColdFire CPU timer
hardware. This is a much cleaner approach to accessing the timer
registers than the previous set of register address defines.
Greg Ungerer [Tue, 25 Feb 2003 10:25:16 +0000 (02:25 -0800)]
[PATCH] include unistd.h in m68knommu syscalltable.S
This includes asm/unistd.h in the system call table setup code for
m68knommu. It needs the local NR_syscalls define. linux/unistd.h is
not assembler clean, so it must be asm/unistd.h.
Nathan Scott [Tue, 25 Feb 2003 18:06:02 +0000 (19:06 +0100)]
[XFS] Revert the recent hashing change, performance seemed to go way down in
certain benchmarks. This is reverted to how it was, except the number
of hash buckets is larger than previously to attempt to account for the
workload Steve was originally targetting with that change.
Nathan Scott [Tue, 25 Feb 2003 18:01:46 +0000 (19:01 +0100)]
[XFS] Fix some comments, remove an unused variable from the stack, fix missing
clear of pb_locking field if IO completion handled in pagebuf_iorequest.
Andrew Morton [Tue, 25 Feb 2003 01:07:39 +0000 (17:07 -0800)]
[PATCH] remove MAX_BLKDEV from genhd.c
Patch from Andries.Brouwer@cwi.nl
A patch for genhd.c:
- removed outdated comments
- removed MAX_BLKDEV
In genhd.c the variable MAX_BLKDEV was only the size of a hash
table, so I made it MAX_PROBE_HASH. It can be 1, or 23, or 256, or
whatever one wants.
Note that the current setup requires that every device number
in a given range is mapped by dev_to_index() to the same index
in the hash table, so this routine will have to be adapted in
case one wants to register multimajor ranges.
Discussion is possible about whether struct blk_probe needs
a dev_t or a kdev_t, but I left things this time.
If a range can end at precisely the end of [k]dev_t space,
the old code was wrong since (p->dev + p->range) would be 0.
That is why "p->dev + p->range <= dev" was replaced by
"p->dev + p->range - 1 < dev".
Andrew Morton [Tue, 25 Feb 2003 01:07:16 +0000 (17:07 -0800)]
[PATCH] don't let OOM killer kill same process repeatedly
Patch from Rik van Riel <riel@imladris.surriel.com>
If a process cannot exit because it's stuck in eg. a driver, it doesn't make
sense to have the OOM killer kill it repeatedly; that could lead to a hung
system.
Instead, kill another process if the first process we tried to kill hasn't
made any move to exit within 5 seconds. This way we have a much better
chance of recovering the system.
Andrew Morton [Tue, 25 Feb 2003 01:06:43 +0000 (17:06 -0800)]
[PATCH] Fix race between umount and inode pruning
Patch from Hugh Dickins <hugh@veritas.com>
When prune_icache coincides with unmounting, invalidate_inodes notices
the inode it's working on as busy but doesn't wait: Self-destruct in 5
seconds message, and later iput oopses on freed super_block.
Neither end is a fast path, so the patch just adds iprune_sem for exclusion.
The semaphore is held across dispose_list so that
dispose_list->clear_inode->destroy_inode cannot reference a destroyed
superblock.
Andrew Morton [Tue, 25 Feb 2003 01:06:20 +0000 (17:06 -0800)]
[PATCH] Check for zero d_count in dget()
Patch from Maneesh Soni <maneesh@in.ibm.com>
Turns out that sysfs is doing dget() on a zero-ref dentry. That's a bug, but
dcache is no longer detecting it.
The check was removed because with lockless d_lookup, there can be cases when
d_lookup and dput are going on concurrently, If d_lookup happens earlier then
it may do dget() on a dentry for which dput() has decremented the ref count
to zero. This race is handled by taking the per dentry lock and checking the
DCACHE_UNHASHED flag.
The patch open-codes that part of d_lookup(), and restores the BUG check in
dget().
Andrew Morton [Tue, 25 Feb 2003 01:05:48 +0000 (17:05 -0800)]
[PATCH] Early ioremap support for ia32
Patch from Patricia Gaughen <gone@us.ibm.com>,
Dave Hansen <haveblue@us.ibm.com>
It provides a very early sort of kmap-by-hand.
The patch is used by the x440 discontigmem to map the srat tables into low
memory so that the memory can be setup. This remap function is used very
early in the boot process... at the start of setup_arch().
This functionality is only available to Summit and NUMAQ. It will work on
other platforms, but they do not need it.
Andrew Morton [Tue, 25 Feb 2003 01:05:32 +0000 (17:05 -0800)]
[PATCH] crc32 optimizations
Patch from Joakim Tjernlund <joakim.tjernlund@lumentis.se>
Here is another update(against BK curr) for crc32(). A kind soul pointed out
the optimizations below.
lib/crc32defs.h:
- Make it possible to define new values for CRC_LE_BITS/CRC_BE_BITS without
modifying the source.
lib/crc32.c:
- Eliminate the need for ENDIAN_SHIFT. Saves a 24 bit shift in the byte
loops.
- Swap the XOR expression in DO_CRC. gcc for x86 can not do that simple
optimization itself(gcc 3.2.2 and RH gcc 2.96 tested). Will improve
performance with 20-25% on x86.
Sam Ravnborg [Mon, 24 Feb 2003 06:46:59 +0000 (22:46 -0800)]
[PATCH] fix make rpm
make rpm has been broken in several kernel versions, fix it. Solves
http://bugme.osdl.org/show_bug.cgi?id=373 which Paolo Ciarrocchi pushed
me to fix.
1) Moved make rpm to the noconfig section, thus allowing it to see
the clean target.
2) Fixed the commandline for find
3) Use rpmbuild if present
4) In mkspec use the generic all target, and drop the dep target
This made the build command arch independent
Pavel Machek [Mon, 24 Feb 2003 06:45:35 +0000 (22:45 -0800)]
[PATCH] swsusp and S3 fixes
These are minor fixes for swsusp and S3 sleep.
- #ifdef mess in acpi_save_state_mem() is simplified
- better error handling in reserving bootmem
- handle video bioses that play with segment registers
- automagic support for S3 on toshiba notebook
- don't try to sync() when pdflush is already stopped
- reorder actions to make pdflush not complain
Faik Uygur [Mon, 24 Feb 2003 02:49:22 +0000 (18:49 -0800)]
[PATCH] /proc/ide/triflex returns incomplete data
This patch fixes the incomplete data return problem of /proc/ide/triflex.
When the number of consecutive read bytes are smaller than the total
data in triflex_get_info(), the second read() returns 0.
Fixes for the 31 bit compatability layer:
* add compat function for jiffies_to_timeval
* convert parameters of clone system call
* incorporate changes from setup_arg_pages to setup_arg_pages32
* incorporate changes from do_execve to do_execve32
* take care of nanosecond field in struct timespec
* remove functions of old module system calls
* add TIF_31BIT thread flag and replace S390_FLAG_31BIT with it
* add arch_get_unmapped_area
* add wrapper for sys_set_tid_address
- add -finline-limit=10000 to make it build
- drop .eh_frame elf section from vmlinux
- fix common warnings inn asm headers
- make dasd compile
- Don't warn about signed/unsigned comparisions
- fix inline syscall macros
this makes use of the unified extable code.
for 31 bit s390, this is slightly more complicated
than the other architectures, but as long as
no one outside /arch uses search_exception_tables,
everything should work nicely