]> git.hungrycats.org Git - linux/log
linux
23 years ago[PATCH] misc devfs_register cleanups
Christoph Hellwig [Sun, 23 Mar 2003 15:59:10 +0000 (07:59 -0800)]
[PATCH] misc devfs_register cleanups

Avoid a bunch of non-NULL first arguments.

23 years ago[PATCH] devfs_mk_dir simplification
Christoph Hellwig [Sun, 23 Mar 2003 15:59:01 +0000 (07:59 -0800)]
[PATCH] devfs_mk_dir simplification

All arguments except the name are unused - remove them and make the
name printf-like to avoid a few snprintf in the surrounding code.

(also fixes compilation to due a superflous endif in dvb core)

23 years ago[PATCH] bring back Al's devfs changes in dv1394
Christoph Hellwig [Sun, 23 Mar 2003 15:58:49 +0000 (07:58 -0800)]
[PATCH] bring back Al's devfs changes in dv1394

Needed to get the only callder of devfs_mk_dir where the first argument
is not NULL back in shape.  Also a nice code cleanup..

23 years agoMerge bk://kernel.bkbits.net/davem/net-2.5
Linus Torvalds [Sun, 23 Mar 2003 15:57:12 +0000 (07:57 -0800)]
Merge bk://kernel.bkbits.net/davem/net-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge bk://kernel.bkbits.net/davem/sparc-2.5
Linus Torvalds [Sun, 23 Mar 2003 15:55:08 +0000 (07:55 -0800)]
Merge bk://kernel.bkbits.net/davem/sparc-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years ago[IPSEC]: Fix bug in xfrm_parse_spi()
Hideaki Yoshifuji [Sun, 23 Mar 2003 15:23:50 +0000 (07:23 -0800)]
[IPSEC]: Fix bug in xfrm_parse_spi()

23 years ago[PATCH] fix typo in compat_ptr
Stephen Rothwell [Sun, 23 Mar 2003 14:52:24 +0000 (06:52 -0800)]
[PATCH] fix typo in compat_ptr

Sorry about that Linus.

23 years ago[SPARC64]: Implement file-offset-in-pte.
David S. Miller [Sun, 23 Mar 2003 14:49:26 +0000 (06:49 -0800)]
[SPARC64]: Implement file-offset-in-pte.

23 years ago[COMPAT]: Fix net/compat.c build.
David S. Miller [Sun, 23 Mar 2003 14:47:13 +0000 (06:47 -0800)]
[COMPAT]: Fix net/compat.c build.

23 years ago[SCTP]: Match ipproto->handler changes for ipv6.
David S. Miller [Sun, 23 Mar 2003 14:38:15 +0000 (06:38 -0800)]
[SCTP]: Match ipproto->handler changes for ipv6.

23 years ago[SPARC64]: Fix typos in uptr changes.
David S. Miller [Sun, 23 Mar 2003 14:15:55 +0000 (06:15 -0800)]
[SPARC64]: Fix typos in uptr changes.

23 years ago[COMPAT] cleanups in net/compat.c and related files
Stephen Rothwell [Sun, 23 Mar 2003 14:07:53 +0000 (06:07 -0800)]
[COMPAT] cleanups in net/compat.c and related files

23 years agoMerge nuts.ninka.net:/home/davem/src/BK/network-2.5
David S. Miller [Sun, 23 Mar 2003 14:04:34 +0000 (06:04 -0800)]
Merge nuts.ninka.net:/home/davem/src/BK/network-2.5
into nuts.ninka.net:/home/davem/src/BK/net-2.5

23 years ago[SPARC64]: Define IDE MAX_HWIFS like x86.
Luis F. Ortiz [Sun, 23 Mar 2003 14:03:58 +0000 (06:03 -0800)]
[SPARC64]: Define IDE MAX_HWIFS like x86.

23 years ago[CRYPTO]: Make use of crypto_exit_ops() during crypto_free_tfm().
James Morris [Sun, 23 Mar 2003 13:47:15 +0000 (05:47 -0800)]
[CRYPTO]: Make use of crypto_exit_ops() during crypto_free_tfm().

23 years ago[IPV6]: Fix BUG 483, do not call crypto_alloc_tfm from illegal context.
Hideaki Yoshifuji [Sun, 23 Mar 2003 13:45:52 +0000 (05:45 -0800)]
[IPV6]: Fix BUG 483, do not call crypto_alloc_tfm from illegal context.

23 years ago[IPV6]: Use ipv6_addr_any() for testing unspecified address.
Hideaki Yoshifuji [Sun, 23 Mar 2003 13:43:24 +0000 (05:43 -0800)]
[IPV6]: Use ipv6_addr_any() for testing unspecified address.

23 years ago[IPV6]: Use RFC2553 constant variable.
Hideaki Yoshifuji [Sun, 23 Mar 2003 13:41:00 +0000 (05:41 -0800)]
[IPV6]: Use RFC2553 constant variable.

23 years ago[IPV6]: Use "const" qualifier.
Hideaki Yoshifuji [Sun, 23 Mar 2003 13:38:47 +0000 (05:38 -0800)]
[IPV6]: Use "const" qualifier.

23 years ago[IPV6]: Process all extension headers via ipproto->handler.
Mitsuru Kanda [Sun, 23 Mar 2003 13:30:46 +0000 (05:30 -0800)]
[IPV6]: Process all extension headers via ipproto->handler.

23 years ago[PATCH] compat_uptr_t and compat_ptr
Stephen Rothwell [Sun, 23 Mar 2003 12:59:16 +0000 (04:59 -0800)]
[PATCH] compat_uptr_t and compat_ptr

This creates compat_uptr_t (to represent a user mode pointer passed to
the kernel other than as a syscall parameter) and compat_ptr() to
convert it to a kernel pointer.

This fixes a couple of bugs in s390x (where the conversion of pointers
actually does something).

23 years ago[PATCH] convert remaining register_pcmcia_driver users
Christoph Hellwig [Sun, 23 Mar 2003 11:50:03 +0000 (03:50 -0800)]
[PATCH] convert remaining register_pcmcia_driver users

Convert remaining register_pcmcia_driver users to use the new
pcmcia_register_driver interfaces.

23 years ago[PATCH] don't include swap.h in mm.h
Christoph Hellwig [Sun, 23 Mar 2003 11:49:56 +0000 (03:49 -0800)]
[PATCH] don't include swap.h in mm.h

swap.h is basically the header for MM internals instead of the
public API (mm_internal.h would have been a better name..).  Stop
including it in mm.h - this only needs moving one function that
should be in swap.h anyway to the right place and fixing up a bunch
of places using it.

23 years ago[PATCH] cleanup input_register_minor
Christoph Hellwig [Sun, 23 Mar 2003 11:49:48 +0000 (03:49 -0800)]
[PATCH] cleanup input_register_minor

Always pass the input/ prefix to input_register_minor instead of using
the first argument to devfs_register

23 years ago[PATCH] devfs_mk_symlink simplification
Christoph Hellwig [Sun, 23 Mar 2003 11:49:36 +0000 (03:49 -0800)]
[PATCH] devfs_mk_symlink simplification

All devfs_mk_symlink arguments except the from and to strings are
unused.  Bring the prototype in shape.

23 years ago[PATCH] more generic syscall return value type fixes
Ulrich Drepper [Sun, 23 Mar 2003 11:39:43 +0000 (03:39 -0800)]
[PATCH] more generic syscall return value type fixes

It was good to see the syscall return value types being fixed but still
some cases are missing.  I attach a patch which fixes at least those
which cause problems to me in the moment.

23 years ago[PATCH] warning fixes
Andrew Morton [Sun, 23 Mar 2003 11:29:46 +0000 (03:29 -0800)]
[PATCH] warning fixes

- uninitialised var warning in pci_update_resource

- fix jiffy comparison type warnings in parport_pc.c

23 years ago[PATCH] reenable interrupts in parport code
Andrew Morton [Sun, 23 Mar 2003 11:29:38 +0000 (03:29 -0800)]
[PATCH] reenable interrupts in parport code

parport_register_port() does spin_lock_irq() then spin_unlock().

This causes the IDE code to mysteriously go BUG_ON(irqs_disabled()) in a
later initcall.

23 years ago[PATCH] Remove obsolete NFSD syscall varients.
Neil Brown [Sun, 23 Mar 2003 11:29:30 +0000 (03:29 -0800)]
[PATCH] Remove obsolete NFSD syscall varients.

Three varients of the NFSD system call use __kernel_* types in defining
the arg, which is bad: these types should not be exposed to userspace.

Particularly as __kernel_dev_t might change soon.

Two of the varients, getfh and uidmap, are not implemented, getfh is
deprecated and uidmap never was and never will be implemented.

This patch removes (almost) all trace of these two varients, including
all the 32bit-compat system call translators for various 64bit
platforms.

The third varient that uses __kernel_* types, export, is not so easy to
deal with, so it will be kept for later.

23 years ago[PATCH] Make ide use proper removal-safe list handling (removes endless looping ...
Alan Cox [Sun, 23 Mar 2003 10:07:07 +0000 (02:07 -0800)]
[PATCH] Make ide use proper removal-safe list handling (removes endless looping / hang)

Fix the IDE hang people see with 2.5.65-bk

From Dominik Brodowski <linux@brodo.de>

23 years ago[PATCH] missing config bits for PC9800 audio
Alan Cox [Sun, 23 Mar 2003 10:06:59 +0000 (02:06 -0800)]
[PATCH] missing config bits for PC9800 audio

23 years ago[PATCH] isapnp change
Alan Cox [Sun, 23 Mar 2003 10:06:51 +0000 (02:06 -0800)]
[PATCH] isapnp change

PC9800 uses the ISAPnP protocol but on CBUS not ISA bus. The
current patch is below. I'm wondering if there is a cleaner way we
should do this ?

23 years ago[PATCH] Christoph felt the IDE_HD v PC9800 was ugly
Alan Cox [Sun, 23 Mar 2003 10:06:43 +0000 (02:06 -0800)]
[PATCH] Christoph felt the IDE_HD v PC9800 was ugly

So its now two options

23 years ago[PATCH] PC98 has its own floppy (not yet merged)
Alan Cox [Sun, 23 Mar 2003 10:06:35 +0000 (02:06 -0800)]
[PATCH] PC98 has its own floppy (not yet merged)

23 years ago[PATCH] Achim is now Intel (they bought GDT)
Alan Cox [Sun, 23 Mar 2003 10:06:28 +0000 (02:06 -0800)]
[PATCH] Achim is now Intel (they bought GDT)

I missed the CREDITS change before

23 years ago[PATCH] remove NUL v NULL confusion
Alan Cox [Sun, 23 Mar 2003 10:06:20 +0000 (02:06 -0800)]
[PATCH] remove NUL v NULL confusion

23 years ago[PATCH] Osamu's updates to boot98
Alan Cox [Sun, 23 Mar 2003 10:06:13 +0000 (02:06 -0800)]
[PATCH] Osamu's updates to boot98

[From Osamu Tomita]

23 years ago[PATCH] 3ware fixups from Adam Radford
Alan Cox [Sun, 23 Mar 2003 10:06:04 +0000 (02:06 -0800)]
[PATCH] 3ware fixups from Adam Radford

23 years ago[PATCH] Fix IDE disable_irq() deadlock
Alan Cox [Sun, 23 Mar 2003 10:05:56 +0000 (02:05 -0800)]
[PATCH] Fix IDE disable_irq() deadlock

This fixes one of the long standing IDE hangs on SMP. If you
get an error we disable the IRQ, unfortunately we may be in
the IRQ handler

This change gets us back working but does introduce a small
potential race I need to investigate further and fix up in
a nicer fashion.

IDE should do error handling in a seperate context (as SCSI
does) but not for 2.6.

23 years agoUse '#ifdef' instead of '#if' to test CONFIG_xxxx variables. It works
Linus Torvalds [Sun, 23 Mar 2003 08:56:08 +0000 (00:56 -0800)]
Use '#ifdef' instead of '#if' to test CONFIG_xxxx variables. It works
both ways, but anal compilers will warn about using identifiers that
have never been defined in preprocessor expression statements.

23 years agoMerge bk://kernel.bkbits.net/davem/net-2.5
Linus Torvalds [Sun, 23 Mar 2003 08:24:54 +0000 (00:24 -0800)]
Merge bk://kernel.bkbits.net/davem/net-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years ago[EBTABLES] hold usage count on table module when it contains rules
Bart De Schuymer [Sat, 22 Mar 2003 20:47:08 +0000 (12:47 -0800)]
[EBTABLES] hold usage count on table module when it contains rules

23 years agoMerge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5
David S. Miller [Sat, 22 Mar 2003 20:12:14 +0000 (12:12 -0800)]
Merge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5
into kernel.bkbits.net:/home/davem/net-2.5

23 years ago[IPSEC]: Fix minor mispatch of xfrm splitup patch.
David S. Miller [Sat, 22 Mar 2003 18:54:51 +0000 (10:54 -0800)]
[IPSEC]: Fix minor mispatch of xfrm splitup patch.

23 years ago[IPSEC]: Split up XFRM Subsystem.
Hideaki Yoshifuji [Sat, 22 Mar 2003 18:21:45 +0000 (10:21 -0800)]
[IPSEC]: Split up XFRM Subsystem.

23 years ago[IPSEC] Add initial compression support for pfkey and xfrm_algo.
James Morris [Sat, 22 Mar 2003 18:09:21 +0000 (10:09 -0800)]
[IPSEC] Add initial compression support for pfkey and xfrm_algo.

23 years ago[IPSEC]: Fix SKB alloc len in ip6_build_xmit.
Jon Grimm [Sat, 22 Mar 2003 17:23:43 +0000 (09:23 -0800)]
[IPSEC]: Fix SKB alloc len in ip6_build_xmit.

23 years ago[IPSEC]: IPV6 source address not set correctly in xfrm_state.
Tom Lendacky [Sat, 22 Mar 2003 17:18:02 +0000 (09:18 -0800)]
[IPSEC]: IPV6 source address not set correctly in xfrm_state.

23 years ago[ATM] s/uni driver overwrites 8-/16-bit mode.
Chas Williams [Sat, 22 Mar 2003 17:16:29 +0000 (09:16 -0800)]
[ATM] s/uni driver overwrites 8-/16-bit mode.

23 years ago[ATM] nicstar doesnt count all dropped pdus and powerpc fixup.
Chas Williams [Sat, 22 Mar 2003 17:14:57 +0000 (09:14 -0800)]
[ATM] nicstar doesnt count all dropped pdus and powerpc fixup.

23 years ago[IPSEC]: Fix parsing of 16-bit ipcomp cpi.
James Morris [Sat, 22 Mar 2003 17:13:14 +0000 (09:13 -0800)]
[IPSEC]: Fix parsing of 16-bit ipcomp cpi.

23 years ago[ATM]: cleanup nicstat, suni and idt77105.
Chas Williams [Sat, 22 Mar 2003 17:08:41 +0000 (09:08 -0800)]
[ATM]: cleanup nicstat, suni and idt77105.

23 years agoMerge nuts.ninka.net:/home/davem/src/BK/network-2.5
David S. Miller [Sat, 22 Mar 2003 16:56:56 +0000 (08:56 -0800)]
Merge nuts.ninka.net:/home/davem/src/BK/network-2.5
into nuts.ninka.net:/home/davem/src/BK/net-2.5

23 years agoMerge davem@nuts.ninka.net:/home/davem/src/BK/sparc-2.5
David S. Miller [Sat, 22 Mar 2003 16:04:30 +0000 (08:04 -0800)]
Merge davem@nuts.ninka.net:/home/davem/src/BK/sparc-2.5
into kernel.bkbits.net:/home/davem/sparc-2.5

23 years ago[SPARC64]: Update defconfig.
David S. Miller [Sat, 22 Mar 2003 16:43:25 +0000 (08:43 -0800)]
[SPARC64]: Update defconfig.

23 years ago[SPARC64]: Add image target.
Ben Collins [Sat, 22 Mar 2003 16:38:59 +0000 (08:38 -0800)]
[SPARC64]: Add image target.

23 years ago[SOUND]: Fix timer32.c build by using compat_timespec.
David S. Miller [Sat, 22 Mar 2003 16:30:36 +0000 (08:30 -0800)]
[SOUND]: Fix timer32.c build by using compat_timespec.

23 years ago[FB FFB/CG6]: Fix image->data const typing.
David S. Miller [Sat, 22 Mar 2003 16:28:16 +0000 (08:28 -0800)]
[FB FFB/CG6]: Fix image->data const typing.

23 years ago[FB]: 64-bit cfbimgblt.c changes do not even build.
David S. Miller [Sat, 22 Mar 2003 16:24:26 +0000 (08:24 -0800)]
[FB]: 64-bit cfbimgblt.c changes do not even build.

23 years ago[SOUND]: Fix rawmidi32 build by using compat_timespec.
David S. Miller [Sat, 22 Mar 2003 16:13:23 +0000 (08:13 -0800)]
[SOUND]: Fix rawmidi32 build by using compat_timespec.

23 years ago[SOUND]: Fix ioctl32 build by using compat_timespec.
David S. Miller [Sat, 22 Mar 2003 16:11:56 +0000 (08:11 -0800)]
[SOUND]: Fix ioctl32 build by using compat_timespec.

23 years ago[VT]: vc_pos needs to be unsigned long.
David S. Miller [Sat, 22 Mar 2003 16:01:27 +0000 (08:01 -0800)]
[VT]: vc_pos needs to be unsigned long.

23 years ago[FB SBUS]: sbuslib.c needs linux/mm.h
David S. Miller [Sat, 22 Mar 2003 15:57:10 +0000 (07:57 -0800)]
[FB SBUS]: sbuslib.c needs linux/mm.h

23 years ago[SOUND]: Fix build of SBUS code in memalloc.c.
David S. Miller [Sat, 22 Mar 2003 15:55:35 +0000 (07:55 -0800)]
[SOUND]: Fix build of SBUS code in memalloc.c.

23 years ago[PATCH] ptrace_notify() locking
Andrew Morton [Sat, 22 Mar 2003 15:35:58 +0000 (07:35 -0800)]
[PATCH] ptrace_notify() locking

Spotted by Dawson Engler.

recalc_signpending() needs tsk->sighand->siglock.

23 years ago[PATCH] remove the "half of memory" limit on mlock() and
Andrew Morton [Sat, 22 Mar 2003 15:35:51 +0000 (07:35 -0800)]
[PATCH] remove the "half of memory" limit on mlock() and

It seems pretty pointless and people do complain about it occasionally.

23 years ago[PATCH] More syscalls-returning-long
Andrew Morton [Sat, 22 Mar 2003 15:35:43 +0000 (07:35 -0800)]
[PATCH] More syscalls-returning-long

From: Robert Love <rml@tech9.net>

Additional work to make syscalls return longs.

23 years ago[PATCH] Make arch-independent syscalls return long
Andrew Morton [Sat, 22 Mar 2003 15:35:35 +0000 (07:35 -0800)]
[PATCH] Make arch-independent syscalls return long

From: "Randy.Dunlap" <randy.dunlap@verizon.net>

Fix up various syscalls to return longs, as x86_64 and ia64 (at least)
require.

23 years ago[PATCH] fix .text.exit error in OSS awe_wave.c
Andrew Morton [Sat, 22 Mar 2003 15:35:27 +0000 (07:35 -0800)]
[PATCH] fix .text.exit error in OSS awe_wave.c

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

I got a .exit.text error in 2.5.65.

The problem is that in sound/oss/awe_wave.c the __init function
_attach_awe calls the __exit function awe_release_region.

The following patch that removes the __exit from awe_release_region
fixes it.

23 years ago[PATCH] sync_filesystems commentary and latency fix
Andrew Morton [Sat, 22 Mar 2003 15:35:20 +0000 (07:35 -0800)]
[PATCH] sync_filesystems commentary and latency fix

- Add some commentary to this function

- Add a mutex to prevent new callers of sync_filesytems() from DoSing
  currently-running caller.

23 years ago[PATCH] make list.h barriers smp-only
Andrew Morton [Sat, 22 Mar 2003 15:35:13 +0000 (07:35 -0800)]
[PATCH] make list.h barriers smp-only

From: Dipankar Sarma <dipankar@in.ibm.com>

This patch makes the list macros use smp-only version of the barriers,
no need to hurt UP performance.

23 years ago[PATCH] ext3: fix use-after-free bug
Andrew Morton [Sat, 22 Mar 2003 15:35:06 +0000 (07:35 -0800)]
[PATCH] ext3: fix use-after-free bug

ext3_writepage() calls ext3_journal_stop(), which dereferences the affected
inode.

It does this _after_ writing the page out, which is illegal.  The IO can
complete, the page can be repeased from the inode and the inode can be freed
up.

It's a long-standing bug.  It has been reported happening on preemptible
kernels, where the timing window is larger.

Fix that up by teaching ext3_journal_stop to locate the superblock via the
journal structure, not via the inode.

This means that ext3_journal_stop() does not need the inode argument at all.

Also uninline the affected functions.  It saves 5.5 kbytes.

Also remove the setting of sb->s_dirt in ext3_journal_stop().  That was an
awkward way of telling sys_sync() that the filesystem needs a commit, and
with the ext3_sync_fs() that is no longer needed.

23 years ago[PATCH] pagecache accounting speedup
Andrew Morton [Sat, 22 Mar 2003 15:34:59 +0000 (07:34 -0800)]
[PATCH] pagecache accounting speedup

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

This is the second half of the vm_enough_memory() speedup.

When overcommit_memory != 1, vm_enough_memory() calls get_page_state() to
calculate the amount of used pagecache.  It does this on every call to
sys_brk().

get_page_state() is really expensive on SMP.

So the patch arranges for pagecache accounting to be in a global atomic_t,
with per-cpu batching and approximate accounting to amortise the cost of the
global atomic.

The nr_pagecache field of /proc/vmstat is removed.

23 years ago[PATCH] simplify the timer lockup avoidance code
Andrew Morton [Sat, 22 Mar 2003 15:34:50 +0000 (07:34 -0800)]
[PATCH] simplify the timer lockup avoidance code

From: george anzinger <george@mvista.com>

The recently-added code which avoids a lockup when a timer handler re-adds
the timer right now can be simplified.

If we change __run_timers() to increment base->timer_jiffies _before_ running
the timers, then any re-additions will not be inserted in the list which
__run_timers is presently walking.

23 years ago[PATCH] timer simplification
Andrew Morton [Sat, 22 Mar 2003 15:34:43 +0000 (07:34 -0800)]
[PATCH] timer simplification

From: george anzinger <george@mvista.com>

Remove the `index' field from the timer structures.  It contains the same
info as the timer_jiffies field.

So just use the base->timer_jiffies field directly.

23 years ago[PATCH] dev_t [3/3]: major.h cleanups
Andrew Morton [Sat, 22 Mar 2003 15:34:35 +0000 (07:34 -0800)]
[PATCH] dev_t [3/3]: major.h cleanups

Patch from Andries.Brouwer@cwi.nl

The third patch removes the last occurrences of MAX_BLKDEV and MAX_CHRDEV and
sorts the majors in major.h.  It also updates the definition of
SCSI_DISK_MAJOR.

23 years ago[PATCH] dev_t [2/3] - remove MAX_CHRDEV
Andrew Morton [Sat, 22 Mar 2003 15:34:28 +0000 (07:34 -0800)]
[PATCH] dev_t [2/3] - remove MAX_CHRDEV

Patch from Andries.Brouwer@cwi.nl

The actual patch for today is this part.  I already quoted most of this on
the list earlier this week.

In order not to have to change all drivers, I did

+int register_chrdev(unsigned int major, const char *name,
+                   struct file_operations *fops)
+{
+       return register_chrdev_region(major, 0, 256, name, fops);
+}

so that the old register_chrdev registers a single major and 256 minors.
Later this can be changed (but see my letter to Al last week).

The only driver that is tricky is the tty driver.  Here some major cleanup
happened - all tty specific stuff disappeared from char_dev.c, and tty uses
the actual register_chrdev_region() call.

There is a race in register_chrdev_region() that I did not worry about: when
two dynamic majors 0 are registered simultaneously, one of them will be first
and the other one gets -EBUSY.  If this is a problem, the code there will
have to be uglified a little.  I didn't do that because it disappears again
in a subsequent patch.

23 years ago[PATCH] dev_t [1/3]: kill cdev
Andrew Morton [Sat, 22 Mar 2003 15:34:20 +0000 (07:34 -0800)]
[PATCH] dev_t [1/3]: kill cdev

Patch from Andries.Brouwer@cwi.nl

Now that 2.5.65 is out, the next dev_t patch.  It was a bit large and
unreadable, so I split it into three clean pieces.  Afterwards, since many
people ask for this, a fourth patch that actually changes the type of dev_t
(not to be applied yet, that is just for playing).

The first patch is the cdev-kill patch that I sent out earlier.  It is no use
having two forms of chardev registration in the source, and my version of the
path of small modifications does not pass through this version, although the
final result will not be that different.  So, kill cdev_cachep,
cdev_cache_init, cdfind, cdget, cdput, inode->i_cdev, struct char_device.
All of this is dead code today.

The second patch removes MAX_CHRDEV.

The third patch polishes linux/major.h.

23 years ago[PATCH] mwave oops fixes
Andrew Morton [Sat, 22 Mar 2003 15:34:13 +0000 (07:34 -0800)]
[PATCH] mwave oops fixes

The mwave driver oopses if you do not have the hardware installed.  It is
running device_unregister() and device_remove_file() against things whch were
never created.

23 years ago[PATCH] make the bdevname() API sane
Andrew Morton [Sat, 22 Mar 2003 15:34:05 +0000 (07:34 -0800)]
[PATCH] make the bdevname() API sane

bdevname returns a pointer to a static string.  Change it so that the caller
passes in the buffer.

23 years ago[PATCH] register_blkdev() fixes
Andrew Morton [Sat, 22 Mar 2003 15:33:57 +0000 (07:33 -0800)]
[PATCH] register_blkdev() fixes

- It was racy, if two threads try to register a blockdev with major=0 they
  could both choose the same major for different devices.

  Fix that by extending the coverage of the rwsem.

- kmalloced local variable `p' was leaking on an error path.

23 years ago[PATCH] __bdevname atomicity fix
Andrew Morton [Sat, 22 Mar 2003 15:33:50 +0000 (07:33 -0800)]
[PATCH] __bdevname atomicity fix

This function was recently converted to use rwsem locking.  But it is called
from interrupts in (at least) buffer_io_error().

And we do want a function like this to be robust and atomic.  So convert it
to use spinlocking.

23 years ago[PATCH] remove lock_kernel() from readdir implementations.
Andrew Morton [Sat, 22 Mar 2003 15:33:43 +0000 (07:33 -0800)]
[PATCH] remove lock_kernel() from readdir implementations.

Filesystems which are using generic_file_llseek() do not need lock_kernel()
in their readir implementations.  All operations (including llseek) are
serialised by the directory's i_sem.

Just fix ext2 and ext3 for now.  Others may need locking between readdir and
who-knows-what.

23 years ago[PATCH] speed up vm_enough_memory()
Andrew Morton [Sat, 22 Mar 2003 15:33:34 +0000 (07:33 -0800)]
[PATCH] speed up vm_enough_memory()

This function is called a lot.  Every brk().  The atomic_add() against a
global counter hurts on large SMP machines.

The patch simply reduces the rate at which that atomic operation is
performed, by accumulating a per-cpu count which is spilled into the global
counter when the local counter overflows.

It trades off efficiency for a little inaccuracy.

I tried various implementations involving kmalloc_percpu() and open-coded
per-cpu arrays in a generic "per-cpu counter" thing.  They all were
surprisingly sucky - the additional cache misses involved in walking the more
complex data structures really showed up.

23 years ago[PATCH] remove lock_kernel() from inode_setattr's
Andrew Morton [Sat, 22 Mar 2003 15:33:27 +0000 (07:33 -0800)]
[PATCH] remove lock_kernel() from inode_setattr's

vmtruncate() does not need lock_kernel().  And lock_kernel() is not taken by
other vmtruncate() callers.

23 years ago[PATCH] Implement a/c/time speedup in ext2 & ext3
Andrew Morton [Sat, 22 Mar 2003 15:33:20 +0000 (07:33 -0800)]
[PATCH] Implement a/c/time speedup in ext2 & ext3

Turn on MS_ONE_SECOND in ext2 and ext3.

23 years ago[PATCH] inode a/c/mtime modification speedup
Andrew Morton [Sat, 22 Mar 2003 15:33:13 +0000 (07:33 -0800)]
[PATCH] inode a/c/mtime modification speedup

For some filesystems (ext3, reiserfs at least), ->dirty_inode() is very
expensive.  The kernel is currently calling mark_inode_dirty() at up to 1000
times/sec/inode.  But there is no need to do this if the filesystem cannot
store high-resolution times on-disk.

This patch restores the optimisation of only dirtying the filesystem inode
when its on-disk representation has actually changed.

The filesystem will set the MS_ONE_SECOND flag in sb->s_flags to indicate
that it wishes to receive this treatment.

The patch does reduce the call rate to ext3_mark_inode_dirty() from 1000/sec
to 1/sec, but it doesn't make much difference at all to performance because
we're calling ext3_mark_inode_dirty() from other callsites as well.  Those
can be optimised too.

23 years ago[PATCH] ppc64 support for file file-offset-in-pte
Andrew Morton [Sat, 22 Mar 2003 15:33:05 +0000 (07:33 -0800)]
[PATCH] ppc64 support for file file-offset-in-pte

ppc64 support for file file-offset-in-pte

23 years ago[PATCH] x86_64: support for file offsets in pte's
Andrew Morton [Sat, 22 Mar 2003 15:32:58 +0000 (07:32 -0800)]
[PATCH] x86_64: support for file offsets in pte's

Path from Andi Kleen <ak@muc.de>

Add x86_64 support for file offsets in pte's.

23 years ago[PATCH] filemap_populate speedup
Andrew Morton [Sat, 22 Mar 2003 15:32:49 +0000 (07:32 -0800)]
[PATCH] filemap_populate speedup

filemap_populate() is currently doing page-at-a-time synchronous I/O.  Add a
call to do_page_cache_readahead() in there so we do a big slurp of IO first.

This is minimal - a lot of the filemap_populate() code can be
rationalised yet.

23 years ago[PATCH] Make nonlinear mappings fully pageable
Andrew Morton [Sat, 22 Mar 2003 15:32:42 +0000 (07:32 -0800)]
[PATCH] Make nonlinear mappings fully pageable

This patch requires arch support.  I have patches for ia32, ppc64 and x86_64.
Other architectures will break.  It is a five-minute fix.  See

http://mail.nl.linux.org/linux-mm/2003-03/msg00174.html

for implementation details.

Patch from: Ingo Molnar <mingo@elte.hu>

the attached patch, against BK-curr, is a preparation to make
remap_file_pages() usable on swappable vmas as well.  When 'swapping out'
shared-named mappings the page offset is written into the pte.

it takes one bit from the swap-type bits, otherwise it does not change the
pte layout - so it should be easy to adapt any other architecture to this
change as well.  (this patch does not introduce the protection-bits-in-pte
approach used in my previous patch.)

On 32-bit pte sizes with an effective usable pte range of 29 bits, this
limits mmap()-able file size to 4096 * 2^29 == 2 TBs.  If the usable range is
smaller, then the maximum mmap() size is reduced as well.  The worst-case i
found (PPC) was 2 hw-reserved bits in the swap-case, which limits us to 1 TB
filesize.  Is there any other hw that has an even worse ratio of sw-usable
pte bits?

this mmap() limit can be eliminated by simply not converting the swapped out
pte to a file-pte, but clearning it and falling back to the linear mapping
upon swapin.  This puts the limit into remap_file_pages() alone, but i really
hope no-one wants to use remap_file_pages() on a 32-bit platform, on a larger
than 1-2 TB file.

sys_remap_file_pages() is now enforcing the 'prot' parameter to be zero.
This restriction might be lifted in the future - i really hope we can have
more flexible remapping once 64-bit platforms are commonplace - eg.  things
like memory debuggers could just use the permission bits directly, instead of
creating many small vmas.

i've tested swappable nonlinear ptes and they are swapped out/in
correctly.

some other changes in -A0 relative to 2.5.63-BK:

 - slightly smarter TLB flushing in install_page(). This is still only a
   stupid helper functions - a more efficient 'walk the pagecache tree
   and pagetable at once and use TLB-gather' implementation is preferred.

 - cleanup: pass on pgprot_t instead of unsigned long prot.

 - some sanity checks to make sure file_pte() rules are followed.

 - do not reduce the vma's default protection to PROT_NONE when using
   remap_file_pages() on it. With swappable ptes this is now safe.

23 years ago[PATCH] fix powerbook media bay
Paul Mackerras [Sat, 22 Mar 2003 13:34:35 +0000 (05:34 -0800)]
[PATCH] fix powerbook media bay

This patch fixes a couple of bugs and compile errors in the powerbook
media bay driver.  It was getting initialized after the IDE subsystem,
whereas it needs to be initialized before so that the IDE subsystem
can see the CD-ROM drive in the bay.

23 years ago[PATCH] update mac53c94 scsi driver
Paul Mackerras [Sat, 22 Mar 2003 13:34:28 +0000 (05:34 -0800)]
[PATCH] update mac53c94 scsi driver

This patch updates the mac53c94 scsi HBA driver, used on older
powermacs, to correspond with the recent scsi subsystem changes, to
use the PCI DMA API, to not panic, and to use a spinlock instead of
save_flags/restore_flags/cli/sti.

23 years ago[PATCH] update MESH scsi driver
Paul Mackerras [Sat, 22 Mar 2003 13:34:21 +0000 (05:34 -0800)]
[PATCH] update MESH scsi driver

This patch updates the `mesh' scsi driver used on older powermacs to
correspond with recent changes in the scsi subsystem (things like
using cmd->device->id instead of cmd->target).

23 years ago[PATCH] update via-pmu driver
Paul Mackerras [Sat, 22 Mar 2003 13:34:14 +0000 (05:34 -0800)]
[PATCH] update via-pmu driver

This patch forward-ports various fixes to the driver for the PMU
(power manager unit) on powermacs and powerbooks from 2.4, and in
particular, some improvements to the battery charge calculations.

From Ben Herrenschmidt.

23 years ago[PATCH] SMP-safe macserial driver
Paul Mackerras [Sat, 22 Mar 2003 13:34:05 +0000 (05:34 -0800)]
[PATCH] SMP-safe macserial driver

The patch below removes the uses of save_flags/restore_flags/cli
etc. from the macserial driver and replaces them with a spinlock.

23 years ago[PATCH] update via-cuda driver
Paul Mackerras [Sat, 22 Mar 2003 13:33:58 +0000 (05:33 -0800)]
[PATCH] update via-cuda driver

This patch updates the CUDA driver (the power/reset/ADB controller on
older powermacs) to fix some SMP issues and to match the 2.4 version
of the driver.

From Ben Herrenschmidt.

23 years ago[PATCH] update macintosh-specific headers
Paul Mackerras [Sat, 22 Mar 2003 13:33:50 +0000 (05:33 -0800)]
[PATCH] update macintosh-specific headers

This patch updates include/linux/adb.h and include/linux/pmu.h with
some additional definitions that we need on powermacs and powerbooks.

23 years agoMerge bk://ppc.bkbits.net/for-linus-ppc
Linus Torvalds [Sat, 22 Mar 2003 13:31:12 +0000 (05:31 -0800)]
Merge bk://ppc.bkbits.net/for-linus-ppc
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoPPC32: Further 8260 update; one file was missed in the previous commit.
Allen Curtis [Mon, 24 Mar 2003 03:03:14 +0000 (14:03 +1100)]
PPC32: Further 8260 update; one file was missed in the previous commit.