]> git.neil.brown.name Git - history.git/log
history.git
22 years ago[PCMCIA] Fix non-PCI PCMCIA bridge oops
Russell King [Fri, 18 Apr 2003 01:53:22 +0000 (02:53 +0100)]
[PCMCIA] Fix non-PCI PCMCIA bridge oops

Only call pci_remove_behind_bridge() if we have a PCI-based bridge
controller.

22 years ago[PATCH] Fix coda/devfs oops
Jan Harkes [Tue, 15 Apr 2003 15:51:35 +0000 (08:51 -0700)]
[PATCH] Fix coda/devfs oops

The problem is caused by the devfs_mk_dir simplification that went in a
couple of weeks ago that didn't update one of the coda call-sites.

22 years ago[PATCH] module symbol fix
David Mosberger [Tue, 15 Apr 2003 15:51:27 +0000 (08:51 -0700)]
[PATCH] module symbol fix

Fix for trivial typo.  Without it, you can't insert anything on top of
agpgart.ko because the agp_register_driver() will erroneously pick up
the symbol version from agp_backend_acquire().

22 years ago[PATCH] Cleanups for posix timer hang fix
George Anzinger [Tue, 15 Apr 2003 12:37:17 +0000 (05:37 -0700)]
[PATCH] Cleanups for posix timer hang fix

Clean up "pendcount" locking (or rather - lack there-of) by making it a
per-timer thing and thus automatically protected by the timer lock.

Fix whitespace damage.

22 years agoMerge bk://are.twiddle.net/axp-2.5
Linus Torvalds [Tue, 15 Apr 2003 06:59:11 +0000 (23:59 -0700)]
Merge bk://are.twiddle.net/axp-2.5
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

22 years ago[ALPHA] Elide cabriolet_init_irq for CONFIG_ALPHA_PC164.
Richard Henderson [Tue, 15 Apr 2003 06:40:40 +0000 (23:40 -0700)]
[ALPHA] Elide cabriolet_init_irq for CONFIG_ALPHA_PC164.

22 years ago[PATCH] unwinding for vsyscall code
Ulrich Drepper [Tue, 15 Apr 2003 06:31:11 +0000 (23:31 -0700)]
[PATCH] unwinding for vsyscall code

Now that the kernel provides code user programs are executing directly
(I mean the vsyscall code on x86) it is necessary to add unwind
information for that code as well.  The unwind information is used not
only in C++ code.

This patch adds a AT_SYSINFO_EH_FRAME ELF aux-table value that points to
the unwinding block description for the sysinfo frame, and makes sure
the AT_* value is passed to applications.  It defines the static data
for the unwind blocks (two, one for int80 and the other for sysenter),
and finally adds code to copy the data in place.

22 years agoFix typo (and logic bug that the typo hid) in bit value
Linus Torvalds [Tue, 15 Apr 2003 05:41:03 +0000 (22:41 -0700)]
Fix typo (and logic bug that the typo hid) in bit value
testing.

Found by 'sparse', my source parser tool.

22 years ago[ALPHA] Include module.h for EXPORT_SYMBOL.
Matt Reppert [Tue, 15 Apr 2003 04:05:13 +0000 (21:05 -0700)]
[ALPHA] Include module.h for EXPORT_SYMBOL.

22 years ago[PATCH] alpha: lynx support
Ivan Kokshaysky [Tue, 15 Apr 2003 04:00:37 +0000 (21:00 -0700)]
[PATCH] alpha: lynx support

Forward port of Jay's 2.4 patch.
Also I've cleaned up EISA configury - we only need it for
systems with EISA.

Ivan.

22 years ago[PATCH] alpha: move_initrd fix (from Jeff Wiedemeier)
Ivan Kokshaysky [Tue, 15 Apr 2003 03:58:21 +0000 (20:58 -0700)]
[PATCH] alpha: move_initrd fix (from Jeff Wiedemeier)

While testing our upcoming kernel update for 7.2 alpha, I've encountered
a problem with move_initrd. It allocates a page-aligned chunk to move
the initrd into, but it doesn't allocate the entire last
page. Subsequent bootmem allocations can then be filled from the last
page used be the initrd.  This then becomes a problem when the initrd
memory is released.

22 years ago[PATCH] alpha: execve() fix
Ivan Kokshaysky [Tue, 15 Apr 2003 03:56:48 +0000 (20:56 -0700)]
[PATCH] alpha: execve() fix

The 2.5 kernels may hang on execve(). Most easily this can be reproduced
by submitting forms in mozilla, apparently because it does execve with
very long argument strings.
That's what happens in do_execve, I suppose:
bprm.mm = mm_alloc();
...
init_new_context(current, bprm.mm); here we update current ptbr
    with new mm->pgd
...
copy_strings;
interrupt -> do_softirq -> switch to ksoftirqd
...
switch back to do_execve;
copy_strings -  immediate page fault in copy_user that we can't
handle because the new ptbr has been activated
after context switch and current->mm is not
valid anymore.

The fix is to not update ptbr for current task in init_new_context(),
as we do it later in activate_mm() anyway.

With it my (UP) boxes look quite stable so far.

Ivan.

22 years agoMerge are.twiddle.net:/home/rth/BK/linus-2.5
Richard Henderson [Tue, 15 Apr 2003 03:34:46 +0000 (20:34 -0700)]
Merge are.twiddle.net:/home/rth/BK/linus-2.5
into are.twiddle.net:/home/rth/BK/axp-2.5

22 years ago[PATCH] {get,set}affinity unification
Randolph Chung [Mon, 14 Apr 2003 16:07:21 +0000 (09:07 -0700)]
[PATCH] {get,set}affinity unification

This one gets rid of sys32_{get,set}affinity in favor of a unified
compat implementation.

22 years ago[PATCH] Resource management for NFS...
Andrew Morton [Mon, 14 Apr 2003 13:11:28 +0000 (06:11 -0700)]
[PATCH] Resource management for NFS...

From: Trond Myklebust <trond.myklebust@fys.uio.no>

The patch fixes some problems with NFS under heavy writeout.

NFS pages can be in a clean but unreclaimable state.  They are unreclaimable
because the server has not yet acked the write - we may need to "redirty"
them if the server crashes.

These are referred to as "unstable" pages.  We need to count them alongside
dirty and writeback pages when making flushing and throttling decisions.
Otherwise the machine can be flooded with these pages and the VM has
problems.

22 years ago[PATCH] fix MCE startup ordering problems
Andrew Morton [Mon, 14 Apr 2003 13:11:02 +0000 (06:11 -0700)]
[PATCH] fix MCE startup ordering problems

The MCE code is setting up a timer whose handler uses the workqueue code
before workqueue is initialised.  If you boot slowly it oopses.

Convert the MCE code to use an initcall.

22 years ago[PATCH] Posix timer hang fix
Andrew Morton [Mon, 14 Apr 2003 13:10:43 +0000 (06:10 -0700)]
[PATCH] Posix timer hang fix

From: george anzinger <george@mvista.com>

The MAJOR problem was a hang in the kernel if a user tried to delete a
repeating timer that had a signal delivery pending. I was putting the
task in a loop waiting for that same task to pick up the signal. OUCH!

A minor issue relates to the need by the glibc folks, to specify a
particular thread to get the signal.  I had this code in all along,
but somewhere in 2.5 the signal code was made POSIX compliant, i.e.
deliver to the first thread that doesn't have it masked out.

This now uses the code from the above mentioned clean up.  Most
signals go to the group delivery signal code, however, those
specifying THREAD_ID (an extension to the POSIX standard) are sent to
the specified thread.  That thread MUST be in the same thread group as
the thread that creates the timer.

22 years ago[PATCH] export kernel_fpu_begin() to GPL modules
Andrew Morton [Mon, 14 Apr 2003 13:10:24 +0000 (06:10 -0700)]
[PATCH] export kernel_fpu_begin() to GPL modules

drivers/md/xor.c needs kernel_fpu_begin() for the mmx checksumming functions.
 So export that to GPL modules.

22 years ago[PATCH] genrtc: jiffies type fix
Andrew Morton [Mon, 14 Apr 2003 13:10:08 +0000 (06:10 -0700)]
[PATCH] genrtc: jiffies type fix

use `unsigned long' for a jiffies-holding type.

22 years ago[PATCH] fix tty shutdown race
Andrew Morton [Mon, 14 Apr 2003 13:09:57 +0000 (06:09 -0700)]
[PATCH] fix tty shutdown race

use-after-free races have been seen due to the workqueue timer in the tty
structure going off after the tty was freed.

Fix that up by using cancel_scheduled_work() and flush_scheduled_work().

22 years ago[PATCH] flush_work_queue() fixes
Andrew Morton [Mon, 14 Apr 2003 13:09:45 +0000 (06:09 -0700)]
[PATCH] flush_work_queue() fixes

The workqueue code currently has a notion of a per-cpu queue being "busy".
flush_scheduled_work()'s responsibility is to wait for a queue to be not busy.

Problem is, flush_scheduled_work() can easily hang up.

- The workqueue is deemed "busy" when there are pending delayed
  (timer-based) works.  But if someone repeatedly schedules new delayed work
  in the callback, the queue will never fall idle, and flush_scheduled_work()
  will not terminate.

- If someone reschedules work (not delayed work) in the work function, that
  too will cause the queue to never go idle, and flush_scheduled_work() will
  not terminate.

So what this patch does is:

- Create a new "cancel_delayed_work()" which will try to kill off any
  timer-based delayed works.

- Change flush_scheduled_work() so that it is immune to people re-adding
  work in the work callout handler.

  We can do this by recognising that the caller does *not* want to wait
  until the workqueue is "empty".  The caller merely wants to wait until all
  works which were pending at the time flush_scheduled_work() was called have
  completed.

  The patch uses a couple of sequence numbers for that.

So now, if someone wants to reliably remove delayed work they should do:

/*
 * Make sure that my work-callback will no longer schedule new work
 */
my_driver_is_shutting_down = 1;

/*
 * Kill off any pending delayed work
 */
cancel_delayed_work(&my_work);

/*
 * OK, there will be no new works scheduled.  But there may be one
 * currently queued or in progress.  So wait for that to complete.
 */
flush_scheduled_work();

The patch also changes the flush_workqueue() sleep to be uninterruptible.
We cannot legally bale out if a signal is delivered anyway.

22 years ago[PATCH] Fix oprofile on hyperthreaded P4's
Andrew Morton [Mon, 14 Apr 2003 13:09:35 +0000 (06:09 -0700)]
[PATCH] Fix oprofile on hyperthreaded P4's

From: Philippe Elie <phil.el@wanadoo.fr>

- oprofile is currently only profiling one sibling.  Fix that with
  appropriate register settings.

- fix an oops which could occur if the userspace driver were to request a
  non-existent resource.

- in NMI handler counter_config[i].event is accessible from user space so
  user can change the event during profiling by echo xxx >
  /dev/oprofile/event

- event mask was wrong, the bit field is 6 bits length not 5, events
  SSE_INPUT_ASSIST and X87_SIMD_MOVES_UOP was affected by masking high bit of
  event number.

22 years ago[PATCH] missing file_lock conversions
Andrew Morton [Mon, 14 Apr 2003 13:09:28 +0000 (06:09 -0700)]
[PATCH] missing file_lock conversions

A few places were missing the rwlock->spinlock conversion.

22 years agoFix incorrect 'flags' usage pointed out by stricter type checking.
Linus Torvalds [Mon, 14 Apr 2003 09:09:25 +0000 (02:09 -0700)]
Fix incorrect 'flags' usage pointed out by stricter type checking.

22 years agoMake the x86 flags save/restore code check the type of the
Linus Torvalds [Mon, 14 Apr 2003 09:08:01 +0000 (02:08 -0700)]
Make the x86 flags save/restore code check the type of the
macro argument, so that portability issues will be found in
a timely manner.

22 years ago[PATCH] Input: change input_init() to be a subsys initcall
Greg Kroah-Hartman [Mon, 14 Apr 2003 08:42:06 +0000 (01:42 -0700)]
[PATCH] Input: change input_init() to be a subsys initcall

This fixes oopses when it and the hid core are compiled into the kernel.

22 years ago[PATCH] Fix nodemgr.c compile
Ben Collins [Mon, 14 Apr 2003 06:55:18 +0000 (23:55 -0700)]
[PATCH] Fix nodemgr.c compile

22 years ago[PATCH] add include uaccess.h to drivers/char/sx.c
Arnaldo Carvalho de Melo [Mon, 14 Apr 2003 06:50:05 +0000 (23:50 -0700)]
[PATCH] add include uaccess.h to drivers/char/sx.c

22 years ago[PATCH] Amiga Gayle IDE fixes
Geert Uytterhoeven [Mon, 14 Apr 2003 06:45:37 +0000 (23:45 -0700)]
[PATCH] Amiga Gayle IDE fixes

Amiga Gayle IDE fixes: Set hwif->mmio to 2 to prevent the generic IDE core from
messing with our resources

22 years ago[PATCH] Amiga keyboard updates
Geert Uytterhoeven [Mon, 14 Apr 2003 06:45:29 +0000 (23:45 -0700)]
[PATCH] Amiga keyboard updates

Amiga keyboard: fix default keyboard mappings:
  - Map the parentheses keys on the numeric keypad to KPLEFTPAREN and
    KPRIGHTPAREN (was: NUMLOCK and SCROLLLOCK)
  - Map the Help key to HELP (was: F11)
  - Map the Amiga keys to LEFTMETA and RIGHTMETA (was: RESERVED)

22 years ago[PATCH] M68k IDE irq
Geert Uytterhoeven [Mon, 14 Apr 2003 06:45:22 +0000 (23:45 -0700)]
[PATCH] M68k IDE irq

IDE: Print IRQ number in decimal on m68k

22 years ago[PATCH] M68k module support
Geert Uytterhoeven [Mon, 14 Apr 2003 06:45:13 +0000 (23:45 -0700)]
[PATCH] M68k module support

M68k: Add module support (from Roman Zippel)

22 years ago[PATCH] Atari Atyfb fixes
Geert Uytterhoeven [Mon, 14 Apr 2003 06:45:04 +0000 (23:45 -0700)]
[PATCH] Atari Atyfb fixes

Atyfb fixes for Atari:
  - Add missing allocation of default_par
  - Kill warnings in assignments

22 years agoStore EDID only when CONFIG_VIDEO_SELECT is set and edid
Linus Torvalds [Mon, 14 Apr 2003 05:14:31 +0000 (22:14 -0700)]
Store EDID only when CONFIG_VIDEO_SELECT is set and edid
function actually exists.

22 years agoRemove all of arch/s390x and include/asm-s390x, since the 390x
Linus Torvalds [Mon, 14 Apr 2003 04:47:33 +0000 (21:47 -0700)]
Remove all of arch/s390x and include/asm-s390x, since the 390x
architecture is now just a 64-bit configuration option of the
basic s390 architecture.

22 years ago[PATCH] s390/s390x unification (7/7)
Martin Schwidefsky [Mon, 14 Apr 2003 04:27:39 +0000 (21:27 -0700)]
[PATCH] s390/s390x unification (7/7)

Merge s390x and s390 to one architecture.

22 years ago[PATCH] s390/s390x unification (6/7)
Martin Schwidefsky [Mon, 14 Apr 2003 04:27:30 +0000 (21:27 -0700)]
[PATCH] s390/s390x unification (6/7)

Merge s390x and s390 to one architecture.

22 years ago[PATCH] s390/s390x unification (5/7)
Martin Schwidefsky [Mon, 14 Apr 2003 04:27:11 +0000 (21:27 -0700)]
[PATCH] s390/s390x unification (5/7)

Merge s390x and s390 to one architecture.

22 years ago[PATCH] s390/s390x unification (4/7)
Martin Schwidefsky [Mon, 14 Apr 2003 04:27:02 +0000 (21:27 -0700)]
[PATCH] s390/s390x unification (4/7)

Merge s390x and s390 to one architecture.

22 years ago[PATCH] s390/s390x unification (3/7)
Martin Schwidefsky [Mon, 14 Apr 2003 04:26:36 +0000 (21:26 -0700)]
[PATCH] s390/s390x unification (3/7)

Merge s390x and s390 to one architecture.

22 years ago[PATCH] s390/s390x unification (2/7)
Martin Schwidefsky [Mon, 14 Apr 2003 04:26:27 +0000 (21:26 -0700)]
[PATCH] s390/s390x unification (2/7)

Merge s390x and s390 to one architecture.

22 years ago[PATCH] s390/s390x unification (1/7)
Martin Schwidefsky [Mon, 14 Apr 2003 04:26:19 +0000 (21:26 -0700)]
[PATCH] s390/s390x unification (1/7)

Merge s390x and s390 to one architecture.

22 years ago[PATCH] s390: dasd driver coding style (2/2)
Martin Schwidefsky [Mon, 14 Apr 2003 04:26:09 +0000 (21:26 -0700)]
[PATCH] s390: dasd driver coding style (2/2)

s390 dasd driver:
 - Coding style adaptions. Removed almost all typedefs from the dasd driver.

22 years ago[PATCH] s390: dasd driver coding style (1/2)
Martin Schwidefsky [Mon, 14 Apr 2003 04:26:01 +0000 (21:26 -0700)]
[PATCH] s390: dasd driver coding style (1/2)

s390 dasd driver:
 - Coding style adaptions. Removed almost all typedefs from the dasd driver.

22 years ago[PATCH] s390: dasd driver fixes.
Martin Schwidefsky [Mon, 14 Apr 2003 04:25:52 +0000 (21:25 -0700)]
[PATCH] s390: dasd driver fixes.

s390 dasd driver fixes:
 - Take request queue lock in dasd_end_request.
 - Make it work with CONFIG_DEVFS_FS=y.
 - Properly wait for the root device.
 - Cope with requests killed due to failed channel path.
 - Improve reference counting.
 - Remove devno from struct dasd_device.
 - Remove unnecessary bdget/bdput calls.

22 years ago[PATCH] s390: uni-processor builds.
Martin Schwidefsky [Mon, 14 Apr 2003 04:25:44 +0000 (21:25 -0700)]
[PATCH] s390: uni-processor builds.

Fixes for s390 kernel configured with CONFIG_SMP=n.

22 years ago[PATCH] s390: console changes.
Martin Schwidefsky [Mon, 14 Apr 2003 04:25:35 +0000 (21:25 -0700)]
[PATCH] s390: console changes.

s390 console fixes for 3215 and sclp.

22 years ago[PATCH] s390: common i/o layer update.
Martin Schwidefsky [Mon, 14 Apr 2003 04:25:27 +0000 (21:25 -0700)]
[PATCH] s390: common i/o layer update.

Common i/o layer fixes:
 - Fix for path no operational condition in cio_start.
 - Fix handling of user interruption parameter.
 - Add code to wait for devices in init_ccw_bus_type.
 - Move qdio states out of main cio state machine.
 - Reworked chsc data structures.
 - Add ccw_device_start_timeout.
 - Handle path verification required flag.

22 years ago[PATCH] s390: syscall numbers > 255.
Martin Schwidefsky [Mon, 14 Apr 2003 04:25:17 +0000 (21:25 -0700)]
[PATCH] s390: syscall numbers > 255.

Add support for system calls with numbers > 255.

22 years ago[PATCH] s390: base s390 fixes.
Martin Schwidefsky [Mon, 14 Apr 2003 04:25:08 +0000 (21:25 -0700)]
[PATCH] s390: base s390 fixes.

s390 fixes:
 - Initialize timing related variables first and then enable the timer interrupt.
 - Normalize nano seconds to micro seconds in do_gettimeofday.
 - Add types for __kernel_timer_t and __kernel_clockid_t.
 - Fix ugly bug in switch_to: set prev to the return value of resume, otherwise
   prev still contains the previous process at the time resume was called and
   not the previous process at the time resume returned. They differ...
 - Add missing include to get the kernel compiled.
 - Get a closer match with the i386 termios.h file.
 - Cope with INITIAL_JIFFIES.
 - Define cpu_relax to do a cpu yield on VM and LPAR.
 - Don't reenable interrupts in program check handler.
 - Add pte_file definitions.
 - Fix PT_IEEE_IP special case in ptrace.
 - Use compare and swap to release the lock in _raw_spin_unlock.
 - Introduce invoke_softirq to switch to async. interrupt stack.

22 years agoMerge bk://bk.arm.linux.org.uk/linux-2.5-rmk
Linus Torvalds [Mon, 14 Apr 2003 04:08:29 +0000 (21:08 -0700)]
Merge bk://bk.arm.linux.org.uk/linux-2.5-rmk
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years ago[PATCH] flush_cache_mm in zap_page_range
Russell King [Mon, 14 Apr 2003 04:05:37 +0000 (21:05 -0700)]
[PATCH] flush_cache_mm in zap_page_range

unmap_vmas() eventually calls tlb_start_vma(), where most architectures
flush caches as necessary.  The flush here seems to make the
flush_cache_range() in zap_page_range() redundant, and therefore can be
removed.

22 years agoMerge http://fbdev.bkbits.net/fbdev-2.5
Linus Torvalds [Mon, 14 Apr 2003 03:44:45 +0000 (20:44 -0700)]
Merge http://fbdev.bkbits.net/fbdev-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years ago[PATCH] SCSI tape sysfs and module parameter additions
Kai Mäkisara [Mon, 14 Apr 2003 03:33:44 +0000 (20:33 -0700)]
[PATCH] SCSI tape sysfs and module parameter additions

This contains the following changes:
 - export some driver parameters in sysfs
 - use new module parameter definitions

22 years ago[PATCH] SCSI tape EOT write fixes
Kai Mäkisara [Mon, 14 Apr 2003 03:33:35 +0000 (20:33 -0700)]
[PATCH] SCSI tape EOT write fixes

This contains the following changes:
 - EOT detection fixed when writing in fixed block mode
 - asynchronous writes in fixed block mode and write threshold removed
   to enable the EOT fixes (the parameter accepted for compatibility)

22 years ago[PATCH] SCSI tape ILI and timeout fixes
Kai Mäkisara [Mon, 14 Apr 2003 03:33:25 +0000 (20:33 -0700)]
[PATCH] SCSI tape ILI and timeout fixes

This contains the following changes:
 - ILI fixed to work with really old drives
 - message printed in case block larger than read()
 - long timeout used when creating a tape partition

22 years ago[PATCH] lapic_nmi_watchdog resume fix
Mikael Pettersson [Mon, 14 Apr 2003 03:31:33 +0000 (20:31 -0700)]
[PATCH] lapic_nmi_watchdog resume fix

I managed to add a bug to the local APIC NMI watchdog's
resume procedure in the driver model conversion for 2.5.67.
The problem is that the resume procedure simply calls the
enable procedure. If the NMI watchdog has been disabled by
another driver (like oprofile or perfctr), then the NMI
watchdog will incorrectly be re-enabled.

I discovered this when updating the perfctr driver for 2.5.67
and seeing unexpected NMIs after a resume from apm --suspend.

We can fix this by unregistering the NMI watchdog from the
driver model when disabling it (like the code did before the
driver model changes), or by remembering the previous state
at suspend and checking it at resume. The patch below uses
the second, simpler, approach. Tested, please apply.

22 years agoMerge bk://kernel.bkbits.net/davem/sparc-2.5
Linus Torvalds [Mon, 14 Apr 2003 03:24:26 +0000 (20:24 -0700)]
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 [Mon, 14 Apr 2003 03:23:47 +0000 (20:23 -0700)]
Merge bk://kernel.bkbits.net/davem/net-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

22 years agofix scsi queue plugging behaviour
James Bottomley [Mon, 14 Apr 2003 04:18:41 +0000 (23:18 -0500)]
fix scsi queue plugging behaviour

Following recent changes removing blk_queue_empty(), we were
incorrectly plugging the queue some times (most often as part of
the SCSI scan process).  This was causing a non-deterministic panic
in the scan code because a destroyed queue was sometimes being
unplugged and run.

23 years ago[ARM PATCH] 1453/1: fix clps711x framebuffer "use SRAM?" range
Cam Mayor [Sun, 13 Apr 2003 19:22:24 +0000 (20:22 +0100)]
[ARM PATCH] 1453/1: fix clps711x framebuffer "use SRAM?" range

Patch from cam mayor

when setting up the framebuffer on the clps711x platform, the code checks to see if your allocated memory area is less than 38400 bytes.  If it is, a comment is sent to the kernel output suggesting it could be placed into SRAM.  This patch modifies the check so that it is suggested if the allocated memory area is less than OR EQUAL TO 38400 bytes.  This value is important as 38400 bytes is exactly the size of a 320 x 240 x 4bpp screen.

23 years agoMerge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5
David S. Miller [Sun, 13 Apr 2003 16:02:28 +0000 (09:02 -0700)]
Merge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5
into kernel.bkbits.net:/home/davem/net-2.5

23 years ago[sparc]: pte_file with constant number of bits.
Pete Zaitcev [Sun, 13 Apr 2003 15:32:35 +0000 (08:32 -0700)]
[sparc]: pte_file with constant number of bits.

23 years ago[SPARC64]: file_lock is now a spin lock.
David S. Miller [Sun, 13 Apr 2003 11:59:54 +0000 (04:59 -0700)]
[SPARC64]: file_lock is now a spin lock.

23 years ago[ARM PATCH] 1458/1: finish nwfpe CONFIG_CPUnn removal
Ian Molton [Sun, 13 Apr 2003 11:32:04 +0000 (12:32 +0100)]
[ARM PATCH] 1458/1: finish nwfpe CONFIG_CPUnn removal

Patch from Ian Molton

missed a bit. apply ontop of earlier patch.

23 years ago[ARM PATCH] 1460/1: removes CONFIG_CPU_{26,32} from arch/arm/boot (Makefile)
Ian Molton [Sun, 13 Apr 2003 11:29:25 +0000 (12:29 +0100)]
[ARM PATCH] 1460/1: removes CONFIG_CPU_{26,32} from arch/arm/boot (Makefile)

Patch from Ian Molton

See summary

23 years ago[ARM PATCH] 1456/1: removes CONFIG_CPU_{26,32} from arch/arm/lib
Ian Molton [Sun, 13 Apr 2003 11:25:47 +0000 (12:25 +0100)]
[ARM PATCH] 1456/1: removes CONFIG_CPU_{26,32} from arch/arm/lib

Patch from Ian Molton

see summary

23 years ago[ARM PATCH] 1497/1: Cleanup of head.S
Dirk Behme [Sun, 13 Apr 2003 10:53:57 +0000 (11:53 +0100)]
[ARM PATCH] 1497/1: Cleanup of head.S

Patch from Dirk Behme

Please see mail thread '[patch] Cleanup of head.S?' from 25 Feb 2003. Let us remove the third part now. The mapping set by this code is done already.

The comment of rmk was

'I suspect we can kill (3) without hurting stuff that's merged into the
-rmk tree, although I'm sure there's a reason it existed.  I'll have
to check my mail archives, but I think there was a machine that required,
but it appears not to be merged.'

So, let's try and see if somebody cries...

23 years ago[SPARC64]: Update defconfig.
David S. Miller [Sun, 13 Apr 2003 10:08:36 +0000 (03:08 -0700)]
[SPARC64]: Update defconfig.

23 years agoMerge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5
David S. Miller [Sun, 13 Apr 2003 10:04:25 +0000 (03:04 -0700)]
Merge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5
into nuts.ninka.net:/home/davem/src/BK/sparc-2.5

23 years ago[IPV4]: xfrm4_tunnel and ipip need to privateize some symbols.
David S. Miller [Sun, 13 Apr 2003 09:38:55 +0000 (02:38 -0700)]
[IPV4]: xfrm4_tunnel and ipip need to privateize some symbols.

23 years agoMerge raven.il.steeleye.com:/home/jejb/BK/scsi-misc-2.5
James Bottomley [Sun, 13 Apr 2003 03:44:25 +0000 (22:44 -0500)]
Merge raven.il.steeleye.com:/home/jejb/BK/scsi-misc-2.5
into raven.il.steeleye.com:/home/jejb/BK/scsi-for-linus-2.5

23 years agosym53c8xx driver v1: PA-RISC needs same PCI command fix as powerpc
James Bottomley [Sun, 13 Apr 2003 03:30:57 +0000 (22:30 -0500)]
sym53c8xx driver v1: PA-RISC needs same PCI command fix as powerpc

23 years agolasi700 add missing dma-mapping.h #include
James Bottomley [Sun, 13 Apr 2003 03:26:31 +0000 (22:26 -0500)]
lasi700 add missing dma-mapping.h #include

compile fix for PA-RISC

23 years ago[ARM] Fix exception table handling
Russell King [Sun, 13 Apr 2003 01:01:27 +0000 (02:01 +0100)]
[ARM] Fix exception table handling

This fixes a build error caused by other changes in 2.5.67.

23 years agoMerge kozmo.(none):/usr/src/linus-2.5
James Simmons [Sat, 12 Apr 2003 23:40:01 +0000 (16:40 -0700)]
Merge kozmo.(none):/usr/src/linus-2.5
into kozmo.(none):/usr/src/fbdev-2.5

23 years ago[PATCH] md: Fix raid1 oops
Neil Brown [Sat, 12 Apr 2003 20:04:42 +0000 (13:04 -0700)]
[PATCH] md: Fix raid1 oops

From: Angus Sawyer <angus.sawyer@dsl.pipex.com>

When the last device in a raid1 array is failed (or missing) the r1bio
structure can be released (especially on very fast devices) before
make_request has finished using it.

This patch gets and puts an extra reference to the r1_bio around the
submission loop, and uses the status in r1_bio to maintain the request status
if the last refernce is held by make_request.

This is also more correct for write requests, as a write should succeed
if any write succeeded, not only if the last write succceeded.

23 years ago[PATCH] kNFSd: First step to adding state management to NFSv4 server
Neil Brown [Sat, 12 Apr 2003 20:04:31 +0000 (13:04 -0700)]
[PATCH] kNFSd: First step to adding state management to NFSv4 server

A new file "nfs4state.c", and nfs4_setclientid{,_confirm} are moved there,
with lots of code.

23 years ago[PATCH] kNFSd: NFSD binary compatibility breakage
Neil Brown [Sat, 12 Apr 2003 20:04:22 +0000 (13:04 -0700)]
[PATCH] kNFSd: NFSD binary compatibility breakage

The removal of "struct nfsctl_uidmap" from "nfsctl_fdparm" broke
binary compatiblity on 64-bit platforms (strictly speaking: on all
platforms with alignof(void *) > alignof(int)).  The problem is that
nfsctl_uidmap contained a "char *", which forced the alignment of the
entire union to be 64 bits.  With the removal of the uidmap, the
required alignment drops to 32 bits.  Since the first member is only
32 bits in size, this breaks compatibility with user-space.  Patch
below fixes the problem.

23 years ago[PATCH] kNFSd: Return correct result for ACCESS(READ) on eXecute-only file.
Neil Brown [Sat, 12 Apr 2003 20:04:11 +0000 (13:04 -0700)]
[PATCH] kNFSd: Return correct result for ACCESS(READ) on eXecute-only file.

Currently, an NFSv3 ACCESS check for READ permission on an
eXecute-only file will succeed where it should fail.

This is because nfsd_permission allows READ access to eXecute only
files so that mode 711 executables can be loaded and run, and
nfsd_access simply uses nfsd_permission.

This patch changes nfsd_permission to only map eXecute permission to
read permission of MAY_OWNER_OVERRIDE was set.  This is only set
when trying to read from a file, so ACCESS will no longer be tricked.

This change will only affect callers of nfsd_permission that specify
MAY_READ and not MAY_OWNER_OVERRIDE, and nfsd_access is the only
routine that calls nfsd_permission (via fh_verify) that way.

23 years ago[PATCH] kNFSd: nfsd/export.c tidyup and add missing exp_put
Neil Brown [Sat, 12 Apr 2003 20:04:02 +0000 (13:04 -0700)]
[PATCH] kNFSd: nfsd/export.c tidyup and add missing exp_put

There was a missing exp_put in export.c so that after a client
mounts an exported filesystem, the server would never be able to
unmount, even after trying to unexport.  This is fixed by the last
chunk of this patch.

Also assorted cleanups to the code found while hunting.

23 years ago[PATCH] Put all functions in kallsyms
Andrew Morton [Sat, 12 Apr 2003 20:01:17 +0000 (13:01 -0700)]
[PATCH] Put all functions in kallsyms

From: Rusty Russell <rusty@rustcorp.com.au>

Introduce _sinittext and _einittext (cf. _stext and _etext), so kallsyms
includes __init functions.

TODO: Use huffman name compression and 16-bit offsets (see IDE
oopser patch)

23 years ago[PATCH] use spinlocking in the ext2 inode allocator
Andrew Morton [Sat, 12 Apr 2003 20:00:58 +0000 (13:00 -0700)]
[PATCH] use spinlocking in the ext2 inode allocator

From Alex Tomas and myself

It is identical in concept to the block allocator change.  It uses the same
hashed spinlock.

23 years ago[PATCH] use spinlocking in the ext2 block allocator
Andrew Morton [Sat, 12 Apr 2003 20:00:40 +0000 (13:00 -0700)]
[PATCH] use spinlocking in the ext2 block allocator

From Alex Tomas and myself

ext2 currently uses lock_super() to protect the filesystem's in-core block
allocation bitmaps.

On big SMP machines the contention on that semaphore is causing high context
switch rates, large amounts of idle time and reduced throughput.

The context switch rate can also worsen block allocation: if several tasks
are trying to allocate blocks inside the same blockgroup for different files,
madly rotating between those tasks will cause the files' blocks to be
intermingled.

On SDET and dbench-style worloads (lots of tasks doing lots of allocation)
this patch (and a similar one for the inode allocator) improve throughout on
an 8-way by ~15%.  On 16-way NUMAQ the speedup is 150%.

What wedo isto remove the lock altogether and just rely on the atomic
semantics of test_and_set_bit(): if the allocator sees a block was free it
runs test_and_set_bit().  If that fails, then we raced and the allocator will
go and look for another block.

Of course, we don't really use test_and_set_bit() because that
isn'tendian-dependent.  New atomic endian-independent functions are
introduced: ext2_set_bit_atomic() and ext2_clear_bit_atomic().  We do not
need ext2_test_bit_atomic(), since even if ext2_test_bit() returns the wrong
result, that error will be detected and naturally handled in the subsequent
ext2_set_bit_atomic().

For little-endian machines the new atomic ops map directly onto the
test_and_set_bit(), etc.

For big-endian machines we provide the architecture's impementation with the
address of a spinlock whcih can be taken around the nonatomic ext2_set_bit().
 The spinlocks are hashed, and the hash is scaled according to the machine
size.  Architectures are free to implement optimised versions of
ext2_set_bit_atomic() and ext2_clear_bit_atomic().

23 years ago[PATCH] blockgroup_lock: hashed spinlocks for ext2 and ext3
Andrew Morton [Sat, 12 Apr 2003 20:00:09 +0000 (13:00 -0700)]
[PATCH] blockgroup_lock: hashed spinlocks for ext2 and ext3

ext2 and ext3 per-blockgroup metadata needs locking.  An fs-wide lock is
expensive, and a per-blockgroup lock consumes too much storage (up to 32768
blockgroups per filesystem).  We need something in-between.

blockgroup_locks are very simple hashed spinlocks which provide this
compromise.  The size of the lock is scaled by NR_CPUS to implement an
additional speed/space tradeoff.

These locks are actually fairly generic.  However I presented it as something
which is specific to ext2 and ext3 so that people wouldn't go using them all
over the place.  They consume a lot of storage.

23 years ago[PATCH] percpu_counters: approximate but scalable counters
Andrew Morton [Sat, 12 Apr 2003 19:59:51 +0000 (12:59 -0700)]
[PATCH] percpu_counters: approximate but scalable counters

Several places in ext2 and ext3 are using filesystem-wide counters which use
global locking.  Mainly for the orlov allocator's heuristics.

To solve the contention which this causes we can trade off accuracy against
speed.

This patch introduces a "percpu_counter" library type in which the counts are
per-cpu and are periodically spilled into a global counter.  Readers only
read the global counter.

These objects are *large*.  On a 32 CPU P4, they are 4 kbytes.  On a 4 way
p3, 128 bytes.

23 years ago[PATCH] /proc/meminfo documentation
Andrew Morton [Sat, 12 Apr 2003 19:59:28 +0000 (12:59 -0700)]
[PATCH] /proc/meminfo documentation

From: Dave Hansen <haveblue@us.ibm.com>

Documents the information in /proc/meminfo

23 years ago[PATCH] vmalloc stats in /proc/meminfo
Andrew Morton [Sat, 12 Apr 2003 19:59:04 +0000 (12:59 -0700)]
[PATCH] vmalloc stats in /proc/meminfo

From: Matt Porter <porter@cox.net>

There was a thread a while back on lkml where Dave Hansen proposed this
simple vmalloc usage reporting patch.  The thread pretty much died out as
most people seemed focused on what VM loading type bugs it could solve.  I
had posted that this type of information was really valuable in debugging
embedded Linux board ports.  A common example is where people do arch
specific setup that limits there vmalloc space and then they find modules
won't load.  ;) Having the Vmalloc* info readily available is real useful in
helping folks to fix their kernel ports.

23 years ago[PATCH] /proc/interrupts allocates too much memory
Andrew Morton [Sat, 12 Apr 2003 19:58:42 +0000 (12:58 -0700)]
[PATCH] /proc/interrupts allocates too much memory

From: David Mosberger <davidm@napali.hpl.hp.com>

interrupts_open() can easily try to kmalloc() more memory than
supported by kmalloc.  E.g., with 16KB page size and NR_CPUS==64, it
would try to allocate 147456 bytes.

The workaround below is to allocate 4KB per 8 CPUs.  Not really a
solution, but the fundamental problem is that /proc/interrupts
shouldn't use a fixed buffer size in the first place.  I suppose
another solution would be to use vmalloc() instead.  It all feels like
bandaids though.

23 years ago[PATCH] Fix kmalloc_sizes[] indexing
Andrew Morton [Sat, 12 Apr 2003 19:58:14 +0000 (12:58 -0700)]
[PATCH] Fix kmalloc_sizes[] indexing

From: Brian Gerst and David Mosberger

The previous fix to the kmalloc_sizes[] array didn't null-terminate the
correct array.

Fix that up, and also avoid running ARRAY_SIZE() against an array which is
really a null-terminated list.

23 years ago[PATCH] architecture hooks for mem_map initialization
Andrew Morton [Sat, 12 Apr 2003 19:57:41 +0000 (12:57 -0700)]
[PATCH] architecture hooks for mem_map initialization

From: Christoph Hellwig <hch@lst.de>

This patch is from the IA64 tree, with minor cleanups from me.

Split out initialization of pgdat->node_mem_map into a separate function
and allow architectures to override it.  This is needed for HP IA64
machines that have a virtually mapped memory map to support big
memory holes without having to use discontigmem.

(memmap_init_zone is non-static to allow the IA64 code to use it -
 I did that instead of passing it's address into the arch hook as
 it is done currently in the IA64 tree)

23 years ago[PATCH] bootmem speedup from the IA64 tree
Andrew Morton [Sat, 12 Apr 2003 19:57:13 +0000 (12:57 -0700)]
[PATCH] bootmem speedup from the IA64 tree

From: Christoph Hellwig <hch@lst.de>

This patch is from the IA64 tree, with some minor cleanups by me.
David described it as:

  This is a performance speed up and some minor indendation fixups.

  The problem is that the bootmem code is (a) hugely slow and (b) has
  execution that grow quadratically with the size of the bootmap bitmap.
  This causes noticable slowdowns, especially on machines with (relatively)
  large holes in the physical memory map.  Issue (b) is addressed by
  maintaining the "last_success" cache, so that we start the next search
  from the place where we last found some memory (this part of the patch
  could stand additional reviewing/testing).  Issue (a) is addressed by
  using find_next_zero_bit() instead of the slow bit-by-bit testing.

23 years ago[PATCH] convert file_lock to a spinlock
Andrew Morton [Sat, 12 Apr 2003 19:56:37 +0000 (12:56 -0700)]
[PATCH] convert file_lock to a spinlock

Time to write a 2M file, one byte at a time:

Before:
        1.09s user 4.92s system 99% cpu 6.014 total
        0.74s user 5.28s system 99% cpu 6.023 total
        1.03s user 4.97s system 100% cpu 5.991 total

After:
0.79s user 5.17s system 99% cpu 5.993 total
0.79s user 5.17s system 100% cpu 5.957 total
0.84s user 5.11s system 100% cpu 5.942 total

23 years ago[PATCH] correct vm_page_prot on stack pages
Andrew Morton [Sat, 12 Apr 2003 19:56:06 +0000 (12:56 -0700)]
[PATCH] correct vm_page_prot on stack pages

From: David Mosberger <davidm@napali.hpl.hp.com>

The patch below is needed to make it possible to map stack pages
without execution permission (as we do on ia64).

23 years ago[PATCH] don't clear PG_uptodate on ENOSPC
Andrew Morton [Sat, 12 Apr 2003 19:55:43 +0000 (12:55 -0700)]
[PATCH] don't clear PG_uptodate on ENOSPC

If get_block() returns -ENOSPC __block_write_full_page() is currently
clearing PG_uptodate.

Tht doesn't make any sense - failure to allocate space (or an IO error) does
not make the page not uptodate.  It will create pages which are dirty, mapped
into pagetables and not uptodate, which is a nonsensical state.

23 years ago[PATCH] Fix deadlock with ext3+quota
Andrew Morton [Sat, 12 Apr 2003 19:55:21 +0000 (12:55 -0700)]
[PATCH] Fix deadlock with ext3+quota

From: Jan Kara <jack@ucw.cz>

Fixes a deadlock-causing lock-ranking bug between dqio_sem and
journal_start().

It sets up the needed infrastructure so that the quota code's sync_dquot()
operation can call into ext3 and arrange for the transaction start to be
nested outside the taking of dqio_sem.

23 years ago[PATCH] Remove flush_page_to_ram()
Andrew Morton [Sat, 12 Apr 2003 19:55:02 +0000 (12:55 -0700)]
[PATCH] Remove flush_page_to_ram()

From: Hugh Dickins <hugh@veritas.com>

This patch removes the long deprecated flush_page_to_ram.  We have
two different schemes for doing this cache flushing stuff, the old
flush_page_to_ram way and the not so old flush_dcache_page etc. way:
see DaveM's Documentation/cachetlb.txt.  Keeping flush_page_to_ram
around is confusing, and makes it harder to get this done right.

All architectures are updated, but the only ones where it amounts
to more than deleting a line or two are m68k, mips, mips64 and v850.

I followed a prescription from DaveM (though not to the letter), that
those arches with non-nop flush_page_to_ram need to do what it did
in their clear_user_page and copy_user_page and flush_dcache_page.

Dave is consterned that, in the v850 nb85e case, this patch leaves its
flush_dcache_page as was, uses it in clear_user_page and copy_user_page,
instead of making them all flush icache as well.  That may be wrong:
I'm just hesitant to add cruft blindly, changing a flush_dcache macro
to flush icache too; and naively hope that the necessary flush_icache
calls are already in place.  Miles, please let us know which way is
right for v850 nb85e - thanks.

23 years ago[PATCH] remove the test for null waitqueue in __wake_up()
Andrew Morton [Sat, 12 Apr 2003 19:54:42 +0000 (12:54 -0700)]
[PATCH] remove the test for null waitqueue in __wake_up()

I've had a warning in there for 4-5 months and it has never triggered.  I
think it's safe to remove this test.

23 years ago[PATCH] Fix gen_rtc compilation error
Andrew Morton [Sat, 12 Apr 2003 19:54:31 +0000 (12:54 -0700)]
[PATCH] Fix gen_rtc compilation error

From: Geert Uytterhoeven <geert@linux-m68k.org>

It updates include/asm-{generic,parisc}/rtc.h for the recent changes in
drivers/char/genrtc.c and include/asm-{m68k,ppc}/rtc.h.

get_rtc_time() now returns some RTC flags instead of a 0/-1 success/failure
indicator.  These flags include:

   - RTC_BATT_BAD: RTC battery is bad (can be detected on PA-RISC)
   - RTC_24H: Clock runs in 24 hour mode

Most of these flags are the same as drivers/char/rtc.c, but RTC_BATT_BAD is a
new one.

23 years ago[PATCH] radix_tree_delete API improvement
Andrew Morton [Sat, 12 Apr 2003 19:54:20 +0000 (12:54 -0700)]
[PATCH] radix_tree_delete API improvement

radix_tree_delete() currently returns 0 on success, -ENOENT if there was
nothing to delete.

But it is more useful to return the address of the deleted item on success
and NULL if there was no matching item.  It can potentially save a
lookup+delete operation.