]> git.hungrycats.org Git - linux/log
linux
22 years agoia64: Make sba_iommu get detected early enough again. lia64-v2.5.67
David Mosberger [Fri, 11 Apr 2003 12:49:38 +0000 (05:49 -0700)]
ia64: Make sba_iommu get detected early enough again.

22 years agoia64: Merge Alex Williamson's sba_iommu patch.
David Mosberger [Fri, 11 Apr 2003 11:18:46 +0000 (04:18 -0700)]
ia64: Merge Alex Williamson's sba_iommu patch.
Various small 2.5.67 fixes.

22 years agoia64: Patch by Alex Williamson: forward port of the 2.4 sba_iommu.
David Mosberger [Fri, 11 Apr 2003 11:05:34 +0000 (04:05 -0700)]
ia64: Patch by Alex Williamson: forward port of the 2.4 sba_iommu.

22 years agoia64: Fix typos/whitespace related to serial code.
David Mosberger [Wed, 9 Apr 2003 08:35:33 +0000 (01:35 -0700)]
ia64: Fix typos/whitespace related to serial code.

22 years agoia64: Initial sync with 2.5.67.
David Mosberger [Wed, 9 Apr 2003 04:51:40 +0000 (21:51 -0700)]
ia64: Initial sync with 2.5.67.

22 years ago[PATCH] ia64: Fix up "extern inline"
Martin Hicks [Wed, 9 Apr 2003 03:56:20 +0000 (20:56 -0700)]
[PATCH] ia64: Fix up "extern inline"

Here is a trivial patch to processor.h to change "extern" to "static".

22 years ago[PATCH] ia64: compat_uptr_t and compat_ptr
Stephen Rothwell [Tue, 8 Apr 2003 07:43:30 +0000 (00:43 -0700)]
[PATCH] ia64: compat_uptr_t and compat_ptr

Here is the ia64 part of the patch.  It depends on my previous COMPAT
patches.  This is safe to apply even before Linus applies the generic
part.

22 years ago[PATCH] ia64: compat_sys_fcntl{,64}
Stephen Rothwell [Tue, 8 Apr 2003 07:27:04 +0000 (00:27 -0700)]
[PATCH] ia64: compat_sys_fcntl{,64}

Here is the ia64 part of the patch.  Pleas apply after Linus has applied
the generic part.

22 years agoMerge
David Mosberger [Tue, 8 Apr 2003 05:08:27 +0000 (22:08 -0700)]
Merge

22 years agoia64: Sync sys32_ipc() with x86 counter-part.
David Mosberger [Tue, 8 Apr 2003 04:40:08 +0000 (21:40 -0700)]
ia64: Sync sys32_ipc() with x86 counter-part.

22 years agoia64: Fix inconsistency in sys32_execve(). Reported by
David Mosberger [Mon, 7 Apr 2003 07:31:51 +0000 (00:31 -0700)]
ia64: Fix inconsistency in sys32_execve().  Reported by
Chandra Kapate).

22 years agoLinux 2.5.67 v2.5.67
Linus Torvalds [Mon, 7 Apr 2003 02:42:25 +0000 (19:42 -0700)]
Linux 2.5.67

22 years agoThe irq vector offset should spread the irq's out evenly, which
Linus Torvalds [Mon, 7 Apr 2003 02:41:54 +0000 (19:41 -0700)]
The irq vector offset should spread the irq's out evenly, which
implies that it should vary between 0-7, not any further (the
higher bits are done by updating current_vector by 8).

This also means that we don't have any overflow condition.

22 years ago[PATCH] generic HDLC update
Krzysztof Halasa [Mon, 7 Apr 2003 02:22:40 +0000 (19:22 -0700)]
[PATCH] generic HDLC update

This version fixes:
- missing rtnl_lock()/rtnl_unload() bug on unregister_hdlc_device
- N2, C101: interrupt handler now works under high IRQ load from other
  devices (with previous versions, the IRQ processing for the card could
  sometimes stop after reaching "work limit")

This is production-tested on devices I have access to (N2, C101, PC300,
PCI200SYN).

22 years ago[PATCH] Disable irqbalance for single cpu SMP configurations
Zwane Mwaikambo [Mon, 7 Apr 2003 01:30:16 +0000 (18:30 -0700)]
[PATCH] Disable irqbalance for single cpu SMP configurations

This patch disables irqbalance and doesn't spawn a kernel thread for
systems which run SMP kernels and only have one online cpu.

22 years ago[PATCH] kill blk_queue_empty()
Jens Axboe [Mon, 7 Apr 2003 01:29:36 +0000 (18:29 -0700)]
[PATCH] kill blk_queue_empty()

This finally kills of blk_queue_empty().  This is similar to the patch I
recently sent to fix the SCSI logic as well.  A lot of drivers are doing
this in our core, mainly because that is the way they always did it:

start_queue:
if (blk_queue_empty(q))
return;

rq = elv_next_request(q);
if (!rq)
return;

Patch simply removes the blk_queue_empty() check, and adds a check for
!rq return from elv_next_request() if the driver didn't already do that.

Additionally, the AS io scheduler can return NULL from
elv_next_request() if it thinks this is best. This way we are also
prepared for that to work well.

Patch was done by Nick Piggin.

22 years ago[PATCH] rng_vendor_ops init.data is referenced after being freed
Zwane Mwaikambo [Mon, 7 Apr 2003 01:29:24 +0000 (18:29 -0700)]
[PATCH] rng_vendor_ops init.data is referenced after being freed

Bug report from J Sanchez in #kernelnewbies

22 years agoMerge bk://linux-dj.bkbits.net/cpufreq
Linus Torvalds [Sun, 6 Apr 2003 15:59:16 +0000 (08:59 -0700)]
Merge bk://linux-dj.bkbits.net/cpufreq
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years ago[CPUFREQ] propagate longhaul_get_ranges() failure up if something went wrong.
Dave Jones [Mon, 7 Apr 2003 02:54:54 +0000 (03:54 +0100)]
[CPUFREQ] propagate longhaul_get_ranges() failure up if something went wrong.

22 years ago[CPUFREQ] Fix memleak in longhaul.c found by smatch.
Dave Jones [Mon, 7 Apr 2003 02:52:18 +0000 (03:52 +0100)]
[CPUFREQ] Fix memleak in longhaul.c found by smatch.

22 years ago[PATCH] revert scheduler back-boosting
Ingo Molnar [Sun, 6 Apr 2003 12:21:35 +0000 (05:21 -0700)]
[PATCH] revert scheduler back-boosting

The problem with setiathome is that it displays something every now and
then - so it gets a backboost from X, and hovers at a relatively high
priority.

22 years ago[PATCH] Grab SET_MODULE_OWNER from the clutches of the deprecated
Zwane Mwaikambo [Sun, 6 Apr 2003 12:21:24 +0000 (05:21 -0700)]
[PATCH] Grab SET_MODULE_OWNER from the clutches of the deprecated

This comment seems to want to include SET_MODULE_OWNER as one of the
deprecated facilities.

22 years ago[PATCH] undefined reference to ip_amanda_lock
Dave Jones [Sun, 6 Apr 2003 12:21:15 +0000 (05:21 -0700)]
[PATCH] undefined reference to ip_amanda_lock

Looks like a cut-n-paste thinko in the Kconfig file..

22 years ago[PATCH] x86-64 merge
Andi Kleen [Sat, 5 Apr 2003 02:18:34 +0000 (18:18 -0800)]
[PATCH] x86-64 merge

Make it compile again and various cleanups and a few bug fixes.  Only
changes x86-64 specific files.

Most of it are S3 suspend changes from Pavel and comment spelling fixes
from Steven Cole.

- Remove now obsolete check_cpu function
- Fix sys_ioctl prototype
- Small optimization - use SYSCALL for 32bit signal handling.
- Fix S3 suspend handling and split into individual files like i386 (Pavel)
- Merge from i386 (pci fixes etc.)
- Set correct paging attributes for IOMMU aperture
- Fix disable apic option

22 years ago[PATCH] Signal invalid ipc operation with ENOSYS
Ulrich Drepper [Fri, 4 Apr 2003 12:18:20 +0000 (04:18 -0800)]
[PATCH] Signal invalid ipc operation with ENOSYS

The ipc multiplexer syscall on x86 currently returns EINVAL for a
non-existing sub-opcode.  This logical but is a problem with the
introduction of new operations (like semtimedop).  Now EINVAL can mean
"no such operation" and "invalid parameter".  To avoid such problems in
future, could you apply the attached patch?

22 years ago[PATCH] update diffserv URL
Roman Zippel [Fri, 4 Apr 2003 12:18:12 +0000 (04:18 -0800)]
[PATCH] update diffserv URL

update diffserv URL, patch provided by Tero Pelander (tpeland@tkukoulu.fi).

22 years ago[PATCH] gconf update
Roman Zippel [Fri, 4 Apr 2003 12:18:05 +0000 (04:18 -0800)]
[PATCH] gconf update

A gconf update by Romain LiĆ©vin <roms@tilp.info>
- fixed bug when double-clicking for changing value.
- expand row when enabling a row with a submenu.
- various bug fixes

22 years ago[PATCH] oprofile doesn't compile with CONFIG_MODULES=n
John Levon [Fri, 4 Apr 2003 12:16:28 +0000 (04:16 -0800)]
[PATCH] oprofile doesn't compile with CONFIG_MODULES=n

The semantically correct approach is for register_module_notifier not to
exist at all.  That way is #ifdef hell.

So this just makes it an empty function (and also adds a missing
comment).

22 years ago[PATCH] cleanup mach-visws/mpparse.c
Andrey Panin [Fri, 4 Apr 2003 12:16:20 +0000 (04:16 -0800)]
[PATCH] cleanup mach-visws/mpparse.c

This trivial patch removes some now unused data structures from
mach-visws/mpparse.c

22 years ago[PATCH] allow penguin with SGI logo for visws
Andrey Panin [Fri, 4 Apr 2003 12:16:13 +0000 (04:16 -0800)]
[PATCH] allow penguin with SGI logo for visws

Visual Workstations 320/540 are SGI products, so IMHO they can use
penguin with SGI logo as mips does :))

22 years ago[PATCH] missing FB_VISUAL_PSEUDOCOLOR in fb_prepare_logo()
Andrey Panin [Fri, 4 Apr 2003 12:16:05 +0000 (04:16 -0800)]
[PATCH] missing FB_VISUAL_PSEUDOCOLOR in fb_prepare_logo()

This fixes the mighty penguin logo not appearing on visual workstation
framebuffer.  The trouble is missing 'case FB_VISUAL_PSEUDOCOLOR:' in
fb_prepare_logo() function.

22 years ago[PATCH] visws framebuffer driver needs mm.h
Andrey Panin [Fri, 4 Apr 2003 12:15:58 +0000 (04:15 -0800)]
[PATCH] visws framebuffer driver needs mm.h

This fixes the visws framebuffer driver which needs vm_area_struct from
linux/mm.h

22 years agoMerge bk://linux-pnp.bkbits.net/pnp-2.5
Linus Torvalds [Fri, 4 Apr 2003 12:13:14 +0000 (04:13 -0800)]
Merge bk://linux-pnp.bkbits.net/pnp-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years ago[PATCH] linux-2.5.66-signal-cleanup.patch
Roland McGrath [Fri, 4 Apr 2003 12:12:17 +0000 (04:12 -0800)]
[PATCH] linux-2.5.66-signal-cleanup.patch

Here is the cleanup patch I promised back in February.  Sorry it took a
while.

The effects should be purely cosmetic in 2.5.66.  However, the new
interface for the proper way to send thread-specific of process-global
signals from inside the kernel is needed for correct implementation of
some fixes to timer stuff that Ulrich told me about.

This cleans up some obsolete comments and macros in kernel/signal.c,
restores send_sig_info to its original behavior, and adds a global entry
point send_group_sig_info.  I checked all the uses of send_sig and
send_sig_info and changed a few to send_group_sig_info.

I think it would be cleanest if the whole mess of *_sig* entry points were
reduced to two or three, but I did the change that minimized the number of
callers I had to fix up.

There should be no discernible difference, since the 2.5.66 send_sig_info
function did group semantics for those signals by number already.  The only
exception to that is pdeath_signal, which I guess can be any signal number
but I deemed ought to be process-wide.

I did not change any of the calls using SIGKILL, though that does have
process-wide semantics.  There is no need to change it since SIGKILL always
kills the whole group, though the code path for send_sig(SIGKILL,...) calls
in multithreaded processes will be different now.

22 years ago[PATCH] bk - fix oprofile for pm driver register
John Levon [Fri, 4 Apr 2003 12:12:09 +0000 (04:12 -0800)]
[PATCH] bk - fix oprofile for pm driver register

OK, so I screwed up - didn't notice the late_initcall() that was
introduced, which was obviously bogus. This one should build OK for the
module case. I've tested insmod/rmmod alongside a mounted sysfs.

I think the built-in case is OK: oprofile/ is after kernel/ in the link
order. I tested that too.

22 years ago[PATCH] acpi compile fix
Andrew Morton [Fri, 4 Apr 2003 12:12:01 +0000 (04:12 -0800)]
[PATCH] acpi compile fix

ACPI is performing a spin_lock() on a `void *'.  That's OK when spin_lock is
implemented via an inline function.  But when it is implemented via macros
it causes compile-time breakage.

So cast it to the right type. It really should be fixed not to use opaque
handles, though.

22 years ago[PATCH] IPMI driver version 19 release
Corey Minyard [Fri, 4 Apr 2003 12:09:33 +0000 (04:09 -0800)]
[PATCH] IPMI driver version 19 release

This fixes some performance problems.  Some vendors implement firmware
updates over IPMI, and this speeds up that process quite a bit.

 * Improve the "send - wait for response - send -wait for response -
   etc" performance when using high-res timers.  Before, an ~10ms delay
   would be added to each message, because it didn't restart the timer
   if nothing was happing when a new message was started.

 * Add some checking for leaked messages.

22 years ago[PATCH] smp_call_function needs mb()
Zwane Mwaikambo [Fri, 4 Apr 2003 12:08:15 +0000 (04:08 -0800)]
[PATCH] smp_call_function needs mb()

We really need a memory barrier in smp_call_function(), so that the
other cpu's get the updated value when they get IPI'd immediately
afterwards.

This seems to be true on some old (and arguably broken) hardware where
the IPI generation and reception doesn't synchronize enough.

22 years agoMerge bk://kernel.bkbits.net/davem/net-2.5
Linus Torvalds [Fri, 4 Apr 2003 10:44:52 +0000 (02:44 -0800)]
Merge bk://kernel.bkbits.net/davem/net-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years ago[IPV4]: C99 initializers for ip_output.c
Stephen Hemminger [Fri, 4 Apr 2003 09:34:16 +0000 (01:34 -0800)]
[IPV4]: C99 initializers for ip_output.c

22 years ago[NETFILTER]: Get rid of unused include in ip_nat_core.c
Stephen Hemminger [Fri, 4 Apr 2003 09:33:17 +0000 (01:33 -0800)]
[NETFILTER]: Get rid of unused include in ip_nat_core.c

22 years ago[IPV6]: C99 initializers for IPV6 sockglue (and spelling fix).
Stephen Hemminger [Fri, 4 Apr 2003 09:32:18 +0000 (01:32 -0800)]
[IPV6]: C99 initializers for IPV6 sockglue (and spelling fix).

22 years ago[IPV6]: ipv6 can use synchronize_net.
Stephen Hemminger [Fri, 4 Apr 2003 09:30:47 +0000 (01:30 -0800)]
[IPV6]: ipv6 can use synchronize_net.

22 years agoMerge http://linux-lksctp.bkbits.net/lksctp-2.5
David S. Miller [Fri, 4 Apr 2003 08:56:38 +0000 (00:56 -0800)]
Merge http://linux-lksctp.bkbits.net/lksctp-2.5
into nuts.ninka.net:/home/davem/src/BK/net-2.5

22 years agoMerge nuts.ninka.net:/home/davem/src/BK/network-2.5
David S. Miller [Fri, 4 Apr 2003 08:54:13 +0000 (00:54 -0800)]
Merge nuts.ninka.net:/home/davem/src/BK/network-2.5
into nuts.ninka.net:/home/davem/src/BK/net-2.5

22 years ago[SPARC]: Implement STT_REGISTER sparc support more cleanly.
Rusty Russell [Fri, 4 Apr 2003 08:03:13 +0000 (00:03 -0800)]
[SPARC]: Implement STT_REGISTER sparc support more cleanly.

22 years ago[CPUFREQ] missing include in acpi driver.
Dave Jones [Fri, 4 Apr 2003 02:14:34 +0000 (03:14 +0100)]
[CPUFREQ] missing include in acpi driver.
Spotted by Dominik Brodowski

22 years ago[PATCH 2.5] ES968: kmalloc params fix
Adam Belay [Thu, 3 Apr 2003 23:31:47 +0000 (23:31 +0000)]
[PATCH 2.5] ES968: kmalloc params fix

Date: Mon, 31 Mar 2003 14:39:54 -0300 (ART)
From: Pablo Menichini <pablo@menichini.com.ar>

This patch swaps the arguments of kmalloc, and relax the type
of allocation to GFP_KERNEL as others PnP functions do.

Pablo

22 years ago[PATCH 2.5] ALS100: kmalloc params fix
Adam Belay [Thu, 3 Apr 2003 23:27:53 +0000 (23:27 +0000)]
[PATCH 2.5] ALS100: kmalloc params fix

Date: Mon, 31 Mar 2003 14:39:54 -0300 (ART)
From: Pablo Menichini <pablo@menichini.com.ar>

This patch swaps the arguments of kmalloc, and relax the type
of allocation to GFP_KERNEL as others PnP functions do.

Pablo

22 years agoALSA DT019X PnP Updates
Adam Belay [Thu, 3 Apr 2003 23:22:22 +0000 (23:22 +0000)]
ALSA DT019X PnP Updates

Converts this driver to the pnp api.

22 years agoAZT2320 PnP Updates
Adam Belay [Thu, 3 Apr 2003 23:21:01 +0000 (23:21 +0000)]
AZT2320 PnP Updates

Converts this driver to the pnp api.

22 years agoMerge http://linux.bkbits.net/linux-2.5
Adam Belay [Thu, 3 Apr 2003 23:10:58 +0000 (23:10 +0000)]
Merge http://linux.bkbits.net/linux-2.5
into neo.rr.com:/home/ambx1/linux/bk/linus-2.5

22 years ago[PATCH] md: Add some new lines to diagnostic printks.
Neil Brown [Thu, 3 Apr 2003 09:32:49 +0000 (01:32 -0800)]
[PATCH] md: Add some new lines to diagnostic printks.

Stops <6> appearing in middles of line and improves output.

22 years ago[PATCH] md: Cleanups for md to move device size calculations into personalities
Neil Brown [Thu, 3 Apr 2003 09:32:42 +0000 (01:32 -0800)]
[PATCH] md: Cleanups for md to move device size calculations into personalities

22 years ago[PATCH] md: Fix stupid oops in recent md.c module changes
Neil Brown [Thu, 3 Apr 2003 09:32:34 +0000 (01:32 -0800)]
[PATCH] md: Fix stupid oops in recent md.c module changes

22 years agoMerge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5
David S. Miller [Thu, 3 Apr 2003 07:49:50 +0000 (23:49 -0800)]
Merge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5
into nuts.ninka.net:/home/davem/src/BK/sparc-2.5

22 years ago[MODULE]: On sparc, ignore undefined symbols of type STT_REGISTER.
David S. Miller [Thu, 3 Apr 2003 07:44:43 +0000 (23:44 -0800)]
[MODULE]: On sparc, ignore undefined symbols of type STT_REGISTER.

22 years ago[PATCH] ia64: update PCI segment support
Alex Williamson [Thu, 3 Apr 2003 05:57:00 +0000 (21:57 -0800)]
[PATCH] ia64: update PCI segment support

Update to the PCI segment support that Bjorn posted around 2.5.19ish.

22 years ago[SPARC64]: Fix trap stack allocations so gcc-3.x builds work.
David S. Miller [Thu, 3 Apr 2003 05:34:27 +0000 (21:34 -0800)]
[SPARC64]: Fix trap stack allocations so gcc-3.x builds work.
1) Use PTREGS_OFF consistently
2) Define it to allocate STACKFRAME_SZ instead of REGWIN_SZ
3) Kill off REGWIN_SZ, replace with sizeof(struct reg_window).

22 years agoia64: Trivial stack-size correction in mca.c. Patch by Keith Owens.
David Mosberger [Thu, 3 Apr 2003 05:24:39 +0000 (21:24 -0800)]
ia64: Trivial stack-size correction in mca.c.  Patch by Keith Owens.

22 years ago[SPARC64]: Missing break; statement in module reloc code.
David S. Miller [Thu, 3 Apr 2003 05:16:24 +0000 (21:16 -0800)]
[SPARC64]: Missing break; statement in module reloc code.

22 years ago[SPARC64]: Support OLO10 relocations for modules.
David S. Miller [Thu, 3 Apr 2003 04:55:19 +0000 (20:55 -0800)]
[SPARC64]: Support OLO10 relocations for modules.

22 years ago[PATCH] ia64: remove platform_pci_dma_addres
Alex Williamson [Thu, 3 Apr 2003 04:39:55 +0000 (20:39 -0800)]
[PATCH] ia64: remove platform_pci_dma_addres

This removes platform_pci_dma_address.  Since the scatterlist
in 2.5 has a dma_address, seems like we can expect a certain usage
of it.  SGI folks may want to verify this doesn't break their DMA
engines.

22 years ago[PATCH] ia64: generic build fix
Alex Williamson [Thu, 3 Apr 2003 04:37:02 +0000 (20:37 -0800)]
[PATCH] ia64: generic build fix

trivial build fix for the generic kernel target

22 years agoia64: Checkin support files for vendor-specific ACPI extensions.
David Mosberger [Thu, 3 Apr 2003 04:32:42 +0000 (20:32 -0800)]
ia64: Checkin support files for vendor-specific ACPI extensions.
      Fix spelling of Hewlett-Packard.

22 years ago[PATCH] ia64: fix missing symbol exports
Xavier Bru [Thu, 3 Apr 2003 04:19:17 +0000 (20:19 -0800)]
[PATCH] ia64: fix missing symbol exports

3) with CONFIG_NUMA set, there are undefined symbols building modules:

scripts/modpost vmlinux drivers/md/dm-mod.o drivers/net/e1000/e1000.o drivers/net/eepro100.o drivers/md/md.o drivers/net/mii.o fs/xfs/xfs.o
*** Warning: cpu_info__per_cpu [fs/xfs/xfs.ko] undefined!
*** Warning: cpu_info__per_cpu [drivers/md/md.ko] undefined!
*** Warning: cpu_to_node_map [drivers/md/md.ko] undefined!

exporting them in ia64_ksyms.c fixes the problem.

22 years ago[SPARC64]: Fix boot target deps.
Ben Collins [Thu, 3 Apr 2003 01:44:37 +0000 (17:44 -0800)]
[SPARC64]: Fix boot target deps.

22 years agoMerge bk://kernel.bkbits.net/davem/sparc-2.5
Linus Torvalds [Thu, 3 Apr 2003 01:36:45 +0000 (17:36 -0800)]
Merge bk://kernel.bkbits.net/davem/sparc-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years agoMerge bk://kernel.bkbits.net/davem/net-2.5
Linus Torvalds [Thu, 3 Apr 2003 00:59:51 +0000 (16:59 -0800)]
Merge bk://kernel.bkbits.net/davem/net-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years ago[SPARC64]: Update defconfig.
David S. Miller [Thu, 3 Apr 2003 00:55:15 +0000 (16:55 -0800)]
[SPARC64]: Update defconfig.

22 years ago[SPARC64]: Dont transition in us2e drivers if divisor does not change.
David S. Miller [Thu, 3 Apr 2003 00:46:26 +0000 (16:46 -0800)]
[SPARC64]: Dont transition in us2e drivers if divisor does not change.

22 years ago[PATCH] ext3 journal commit I/O error fix
Andrew Morton [Thu, 3 Apr 2003 00:29:43 +0000 (16:29 -0800)]
[PATCH] ext3 journal commit I/O error fix

From: Hua Zhong <hzhong@cisco.com>

The current ext3 totally ignores I/O errors that happened during a
journal_force_commit time, causing user space to falsely believe it has
succeeded, which actually did not.

This patch  checks IO error during  journal_commit_transaction. and aborts
the journal when there is I/O error.

Originally I thought about reporting the error without doing aborting the
journal, but it probably needs a new flag. Aborting the journal seems to be
the easy way to  signal "hey sth is wrong..".

22 years ago[PATCH] ext3: create a slab cache for transaction handles
Andrew Morton [Thu, 3 Apr 2003 00:29:36 +0000 (16:29 -0800)]
[PATCH] ext3: create a slab cache for transaction handles

ext3 allocates and frees at least one handle structure for each system call.
kmalloc and kfree are apparent in the profiles.

Adding a slab cache for these objects takes the overhead for a write() from
1.63 microseconds down to 1.56.

22 years ago[PATCH] ext3_commit_write speedup
Andrew Morton [Thu, 3 Apr 2003 00:29:28 +0000 (16:29 -0800)]
[PATCH] ext3_commit_write speedup

For an appending write, ext3_commit_write() will call the expensive
ext3_mark_inode_dirty() twice.  Once in generic_commit_write()'s extension of
i_size and once in ext3_commit_write() itself where i_disksize is updated.

But by updating i_disksize _before_ calling generic_commit_write() these can
be piggybacked.

The patch takes the overhead of a write() from 1.96 microseconds down to
1.63.

22 years ago[PATCH] ext3_mark_inode_dirty() speedup
Andrew Morton [Thu, 3 Apr 2003 00:29:21 +0000 (16:29 -0800)]
[PATCH] ext3_mark_inode_dirty() speedup

ext3_mark_inode_dirty() (and several other callers) use the
ext3_reserve_inode_write() and ext3_mark_ioc_dirty() pair for journalling an
inode's backing block.

Because ext3_reserve_inode_write() gets journalling access to the block there
is no need for ext3_mark_iloc_dirty() to do it as well.

This change reduces the overhead of a write() from 2.7 microseconds to 1.95
on a 2.7G P4.

22 years ago[PATCH] Fix jbd assert failure on IO error.
Andrew Morton [Thu, 3 Apr 2003 00:29:13 +0000 (16:29 -0800)]
[PATCH] Fix jbd assert failure on IO error.

From: Stephen Tweedie <sct@redhat.com>

The buffer_uptodate flag gets cleared on IO failure, and this can panic jbd
when it tries to write such a buffer.  Relax the panic to be just a warning.

22 years ago[PATCH] Add less-severe assert-failure form for ext3.
Andrew Morton [Thu, 3 Apr 2003 00:29:06 +0000 (16:29 -0800)]
[PATCH] Add less-severe assert-failure form for ext3.

From: Stephen Tweedie <sct@redhat.com>

Add a new form of assert failure in ext3 which allows us to flag events which
are *usually* bugs, but which can be legally triggered in the presence of IO
failures.  Don't panic the kernel on such errors unless we've defined
#JBD_PARANOID_IOFAIL, which will normally be set only for testing purposes.

22 years ago[PATCH] remove dparent_lock
Andrew Morton [Thu, 3 Apr 2003 00:28:58 +0000 (16:28 -0800)]
[PATCH] remove dparent_lock

The big SMP machines are seeing quite some contention in dnotify_parent()
(via vfs_write).  This function is hammering the global dparent_lock.

However we don't actually need a global dparent_lock for pinning down
dentry->d_parent.  We can use dentry->d_lock for this.  That is already being
held across d_move.

This patch speeds up SDET on the 16-way by 5% and wipes dnotify_parent() off
the profiles.

It also uninlines dnofity_parent().

It also uses spin_lock(), which is faster than read_lock().

I'm not sure that we need to take both the source and target dentry's d_lock
in d_move.

The patch also does lots of s/__inline__/inline/ in dcache.h

22 years ago[PATCH] real_lookup race fix
Andrew Morton [Thu, 3 Apr 2003 00:28:49 +0000 (16:28 -0800)]
[PATCH] real_lookup race fix

From: Maneesh Soni <maneesh@in.ibm.com>

Here is a patch to use seqlock for real_lookup race with d_lookup as suggested
by Linus. The race condition can result in duplicate dentry when d_lookup
fails due concurrent d_move in some unrelated directory.

Apart from real_lookup, lookup_hash()->cached_lookup() can also fail due
to same reason. So, for that I am doing the d_lookup again.

Now we have __d_lookup (called from do_lookup() during pathwalk) and
d_lookup which uses seqlock to protect againt rename race.

dcachebench numbers (lower is better) don't have much difference on a 4-way
PIII xeon SMP box.

base-2565
Average usec/iteration  19059.4
Standard Deviation      503.07

base-2565 + seq_lock
Average usec/iteration  18843.2
Standard Deviation      450.57

22 years ago[PATCH] exp_parent locking fixes
Andrew Morton [Thu, 3 Apr 2003 00:28:42 +0000 (16:28 -0800)]
[PATCH] exp_parent locking fixes

From: Neil Brown and myself.

Don't do dput() inside read_lock().  It can sleep.

22 years ago[PATCH] umsdos fixes
Andrew Morton [Thu, 3 Apr 2003 00:28:34 +0000 (16:28 -0800)]
[PATCH] umsdos fixes

From: Andries.Brouwer@cwi.nl

Make sure structs used by umsdos ioctls do not change size when the size of
dev_t is changed.

22 years ago[PATCH] Fix devfs' partition handling
Andrew Morton [Thu, 3 Apr 2003 00:28:27 +0000 (16:28 -0800)]
[PATCH] Fix devfs' partition handling

From: Andre Landwehr <andre.landwehr@gmx.net>

with / on an IDE harddisk the disks partitions do not appear in
devfs, only the disc device. This is due to rescan_partitions
being called twice and deleting but not re-creating the entries
during the second call.

hch has acked this.

22 years ago[PATCH] add vt console scrollback ioctl
Andrew Morton [Thu, 3 Apr 2003 00:28:18 +0000 (16:28 -0800)]
[PATCH] add vt console scrollback ioctl

From: Samuel Thibault <Samuel.Thibault@ens-lyon.fr>

There is no way for a braille device driven by brltty (userland root-owned
daemon) to scrollback the virtual console, the only way is to use the pc
keyboard.  A very simple TIOCLINUX ioctl meets this need (tested).

Also add a command for bringing the last console to the top, as keyboard.c's
lastcons() does when pressing alt - down arrow.

22 years ago[PATCH] sync dirty pages in fadvise(FADV_DONTNEED)
Andrew Morton [Thu, 3 Apr 2003 00:28:11 +0000 (16:28 -0800)]
[PATCH] sync dirty pages in fadvise(FADV_DONTNEED)

This changes the fadvise(FADV_DONTNEED) operation to start async writeout of
any dirty pages in the file.

The thinking is that if the application doesn't want to use those pages in
the future, we may as well get IO underway against them so they can be freed
up on the next call to fadvise().

The POSIX spec does not go into any detail as to whether this is the right or
wrong behaviour.

This provides a nice way for applications whihc are writing streaming data
(the main users of fadvise) to keep the amount of dirty pagecache under
control without having to resort to system-wide VM tuning.

It also provides an "async fsync()".  If the application passes in a length
of zero, fadvise will start async writeout of the pages, but will not
invalidate any of the file's pagecache.

22 years ago[PATCH] Additional 3c980 device support
Andrew Morton [Thu, 3 Apr 2003 00:28:03 +0000 (16:28 -0800)]
[PATCH] Additional 3c980 device support

From: "J.A. Magallon" <jamagallon@able.es>

Adds support for a couple of 3c980 variants which are in pci.ids, but not in
the driver.

22 years ago[PATCH] aic7xxx timer deletion fix
Andrew Morton [Thu, 3 Apr 2003 00:27:56 +0000 (16:27 -0800)]
[PATCH] aic7xxx timer deletion fix

From: Zwane Mwaikambo <zwane@linuxpower.ca>

ahc_linux_free_device() needs to use del_timer_sync().  slab corruption has
been observed due to the timer handler running after the containing object
was freed.

22 years ago[PATCH] misc fixes
Andrew Morton [Thu, 3 Apr 2003 00:27:47 +0000 (16:27 -0800)]
[PATCH] misc fixes

- Fix warning in sound/pci/cs46xx/cs46xx_lib.c (Martin Bligh)

- pte_file() comment fix (Pete Zaitcev)

- _PAGE_FILE comment clarifications

- copy_to_user() check in do_proc_readlink()

22 years ago[PATCH] struct stat - support larger dev_t
Andrew Morton [Thu, 3 Apr 2003 00:27:40 +0000 (16:27 -0800)]
[PATCH] struct stat - support larger dev_t

From: Andries.Brouwer@cwi.nl

Below a patch that changes struct stat for a number of
architectures. Maintainers, please watch carefully.

Struct stat is used to transfer information from kernel
to user space on a stat() system call.
It has fields st_dev, st_rdev.

The size of these fields is in principle unrelated to
the size of a dev_t in user space or the size of a
dev_t or kdev_t in kernel space.

It is just the "capacity" of the channel.
The actual amount of useful information is the minimum
of the four sizes (kernel dev_t, kernel kdev_t,
user dev_t, width of stat st_dev, st_rdev fields).

The goal of this patch is to make sure that the stat() and stat64()
system calls transmit at least 32 and 64 bits, respectively.
This is achieved by using the padding that was present already.
We fail when no padding was present, or when the padding is on
the wrong side (after the field, while the machine is big-endian).

alpha: stat: uses unsigned int, 32 bits
arm: stat: uses unsigned short - bad.
The padding is on one side, which means that this can
be made into unsigned long only on little endian systems.
FIXED - unless __ARMEB__.
stat64: used unsigned short - FIXED, now unsigned long long.
cris: stat: used unsigned short - FIXED, now unsigned long
stat64: used unsigned short - FIXED, now unsigned long long.
i386: stat: used unsigned short - FIXED, now unsigned long
stat64: used unsigned short - FIXED, now unsigned long long.
ia64: stat: uses unsigned long, 64 bits
m68k: stat: used unsigned short - bad, but this cannot be fixed
since m68k is big-endian, and the available padding is on
the wrong side. NOT FIXED.
stat64: used unsigned short - FIXED, now unsigned long long.
mips: stat: uses dev_t which is unsigned int, 32 bits
stat64: used unsigned long, 32 bits. NOT FIXED.
(There is padding on one side, so this can be fixed if __MIPSEL__.)
mips64: stat: uses dev_t which is unsigned int, 32 bits
parisc: stat: uses dev_t, 32 bits
stat64: uses unsigned long long, 64 bits
ppc: stat: uses dev_t which is unsigned int, 32 bits
stat64: unsigned long long, 64 bits
ppc64: stat: uses dev_t which is unsigned long, 64 bits
stat64: uses unsigned long, 64 bits
sparc: stat: uses unsigned short, no padding. NOT FIXED.
stat64: used unsigned short - FIXED, now unsigned long long.
sparc64:stat: uses dev_t which is unsigned int, 32 bits
stat64: used unsigned short - FIXED, now unsigned long long.
s390: stat: used unsigned short, big-endian, padding on the wrong side,
NOT FIXED.
stat64: used unsigned short - FIXED, now unsigned long long.
s390x: stat: uses unsigned long, 64 bits
sh: stat: used unsigned short, but padding maybe on wrong side.
NOT FIXED.
stat64: used unsigned short - FIXED, now unsigned long long.
v850: stat: used __kernel_dev_t.
BUG: NEVER use __kernel types in a user space interface.
Replaced the types. FIXED - now unsigned int - 32 bits.
stat64: FIXED - now unsigned long long - 64 bits.
x86_64: stat: uses unsigned long, 64 bits

So, on most architectures we achieve the aim of 32 bits for stat,
64 bits for stat64. On all architectures we achieve at least
16 bits for stat, 32 bits for stat64.

22 years ago[PATCH] tmpfs 6/6: percentile sizing of tmpfs
Andrew Morton [Thu, 3 Apr 2003 00:27:33 +0000 (16:27 -0800)]
[PATCH] tmpfs 6/6: percentile sizing of tmpfs

From: CaT <cat@zip.com.au>

What this patch does is allow you to specify the max amount of memory tmpfs
can use as a percentage of available real ram.  This (in my eyes) is useful
so that you do not have to remember to change the setting if you want
something other then 50% and some of your ram goes.

Hugh redid the arithmetic to not overflow at 4GB; the particular order of
lines helps RH's gcc-2.96-110 not to get confused in the do_div.  2.5 can use
totalram_pages.  Update mount options in tmpfs Doc.

There's an argument that the percentage should be of ram+swap, that's what
Christoph originally intended.  But we set the default at 50% of ram only, so
I believe it's more consistent to follow that precedent.

22 years ago[PATCH] tmpfs 5/6: use cond_resched
Andrew Morton [Thu, 3 Apr 2003 00:27:26 +0000 (16:27 -0800)]
[PATCH] tmpfs 5/6: use cond_resched

From: Hugh Dickins <hugh@veritas.com>

cond_resched each time around the loop in shmem_file_write
and do_shmem_file_read, matching filemap.c.

22 years ago[PATCH] tmpfs 4/6: use mark_page_accessed
Andrew Morton [Thu, 3 Apr 2003 00:27:19 +0000 (16:27 -0800)]
[PATCH] tmpfs 4/6: use mark_page_accessed

From: Hugh Dickins <hugh@veritas.com>

tmpfs pages should be surfing the LRUs in the company of their filemap
friends: I was expecting the rules to change, but they've been stable so
long, let's sprinkle mark_page_accessed in the equivalent places here; but
(don't ask me why) SetPageReferenced in shmem_file_write.  Ooh, and
shmem_populate was missing a flush_page_to_ram.

22 years ago[PATCH] tmpfs 3/6: use generic_file_llseek
Andrew Morton [Thu, 3 Apr 2003 00:27:11 +0000 (16:27 -0800)]
[PATCH] tmpfs 3/6: use generic_file_llseek

From: Hugh Dickins <hugh@veritas.com>

default_llseek's use of BKL and not i_sem was recently exposed:
tmpfs should be using generic_file_llseek which guards with i_sem.

22 years ago[PATCH] tmpfs 2/6 remove shmem_readpage
Andrew Morton [Thu, 3 Apr 2003 00:27:05 +0000 (16:27 -0800)]
[PATCH] tmpfs 2/6 remove shmem_readpage

From: Hugh Dickins <hugh@veritas.com>

shmem_readpage was created to give tmpfs sendfile and loop ability; but
they're both using shmem_file_sendfile now, so remove shmem_readpage.

22 years ago[PATCH] tmpfs 1/6 use generic_write_checks
Andrew Morton [Thu, 3 Apr 2003 00:26:58 +0000 (16:26 -0800)]
[PATCH] tmpfs 1/6 use generic_write_checks

From: Hugh Dickins <hugh@veritas.com>

Remove the duplicated checks in shmem_file-write(), use
generic_write_checks() instead.

22 years ago[PATCH] file limit checking simplification
Andrew Morton [Thu, 3 Apr 2003 00:26:51 +0000 (16:26 -0800)]
[PATCH] file limit checking simplification

From: Hugh Dickins <hugh@veritas.com>

When handling rlimit != RLIM_INFINITY, generic_write_checks tests file
position against 0xFFFFFFFFULL, and casts it to a u32.  This code is
carried forward from 2.4.4, and the 2.4-ac tree contains an apparently
obvious fix to one part of it (should set count to 0 not to a negative).
But when you think it through, it all turns out to be bogus.

On a 32-bit architecture: limit is a 32-bit unsigned long, we've
already handled *pos < 0 and *pos >= limit, so *pos here has no way
of being > 0xFFFFFFFFULL, and thus casting it to u32 won't truncate it.
And on a 64-bit architecture: limit is a 64-bit unsigned long, but this
code is disallowing file position beyond the 32 bits; or if there's some
userspace compatibility issue, with limit having to fit into 32 bits,
the 32-bit architecture argument applies and they're still irrelevant.

So just remove the 0xFFFFFFFFULL test; and in place of the u32, cast to
typeof(limit) so it's right even if rlimits get wider.  And there's no
way we'd want to send SIGXFSZ below the limit: remove send_sig comment.

There's a similarly suspicious u32 cast a little further down, when
checking MAX_NON_LFS.  Given its definition, that does no harm on any
arch: but it's better changed to unsigned long, the type of MAX_NON_LFS.

22 years ago[PATCH] bio kmapping changes
Andrew Morton [Thu, 3 Apr 2003 00:26:43 +0000 (16:26 -0800)]
[PATCH] bio kmapping changes

RAID5 is calling copy_data() under sh->lock.  But copy_data() does kmap(),
which can sleep.

The best fix is to use kmap_atomic() in there.  It is faster than kmap() and
does not block.

The patch removes the unused bio_kmap() and replaces __bio_kmap() with
__bio_kmap_atomic().  I think it's best to withdraw the sleeping-and-slow
bio_kmap() from the kernel API before someone else tries to use it.

Also, I notice that bio_kmap_irq() was using local_save_flags().  This is a
bug - local_save_flags() does not disable interrupts.  Converted that to
local_irq_save().  These names are terribly chosen.

This patch was acked by Jens and Neil.

22 years ago[PATCH] Fix some compile warnings
Andrew Morton [Thu, 3 Apr 2003 00:26:34 +0000 (16:26 -0800)]
[PATCH] Fix some compile warnings

From: "Martin J. Bligh" <mbligh@aracnet.com>

Fix a couple of instances of "warning: suggest parentheses around assignment
used as truth value".

22 years ago[PATCH] monotonic clock source for hangcheck timer
Andrew Morton [Thu, 3 Apr 2003 00:26:28 +0000 (16:26 -0800)]
[PATCH] monotonic clock source for hangcheck timer

From: john stultz <johnstul@us.ibm.com>

This patch, written with the advice of Joel Becker, addresses a problem with
the hangcheck-timer.

The basic problem is that the hangcheck-timer code (Required for Oracle)
needs a accurate hard clock which can be used to detect OS stalls (due to
udelay() or pci bus hangs) that would cause system time to skew (its sort of
a sanity check that insures the system's notion of time is accurate).
However, currently they are using get_cycles() to fetch the cpu's TSC
register, thus this does not work on systems w/o a synced TSC.

As suggested by Andi Kleen (see thread here:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0302.0/1234.html ) I've worked
with Joel and others to implement the monotonic_clock() interface.  Some of
the major considerations made when writing this patch were

o Needs to be able to return accurate time in the absence of multiple timer
  interrupts

o Needs to be abstracted out from the hardware

o Avoids impacting gettimeofday() performance

This interface returns a unsigned long long representing the number of
nanoseconds that has passed since time_init().

22 years ago[PATCH] handle bad inodes in put_inode
Andrew Morton [Thu, 3 Apr 2003 00:26:20 +0000 (16:26 -0800)]
[PATCH] handle bad inodes in put_inode

From: "J. Bruce Fields" <bfields@fieldses.org>

If the NFS daemon is presented with a filehandle for a file that has
been deleted, it does an iget() in fs/exportfs/expfs.c:export_iget() and
gets a bad inode back.  When it subsequently iput()s the inode, the
result is:

Mar 27 12:53:40 snoopy kernel: EXT2-fs error (device ide0(3,3)): ext2_free_blocks: Freeing blocks not in datazone - block = 1802201963, count = 27499
Mar 27 12:53:40 snoopy kernel: Remounting filesystem read-only

The same can happen if ext2_get_inode() returns an error - ext2_read_inode()
will return an uninitialised inode and ext2_put_inode() is not allowed to go
looking inside the bad inode.

22 years ago[PATCH] tmpfs blk_congestion_wait fix
Andrew Morton [Thu, 3 Apr 2003 00:26:13 +0000 (16:26 -0800)]
[PATCH] tmpfs blk_congestion_wait fix

From: Hugh Dickins <hugh@veritas.com>

The blk_congestion_waits in shmem_getpage are appropriate when the error is
-ENOMEM, but not when the error is -EEXIST.  So add that test in the first
instance, but omit it all in the second instance.