]> git.neil.brown.name Git - history.git/log
history.git
23 years ago[PATCH] discontigmem support for ia32 NUMA
Andrew Morton [Tue, 3 Sep 2002 12:34:07 +0000 (05:34 -0700)]
[PATCH] discontigmem support for ia32 NUMA

 - All the support macros which assume a linear mem_map[] have been
   wrapped in !CONFIG_DISCONTIGMEM.  pfn_to_page, page_to_pfn,
   page_to_phys, pmd_page, kern_addr_valid.

 - Move some initialsation macros into setup.h so they can be used in
   the i386 discontig.c (INITRD_START, INITRD_SIZE).

 - Alternate version of the bootmem allocator

 - add i386 discontig support and numaq support.

23 years ago[PATCH] restructure mem_init for ia32 discontigmem
Andrew Morton [Tue, 3 Sep 2002 12:34:00 +0000 (05:34 -0700)]
[PATCH] restructure mem_init for ia32 discontigmem

 - Pull the middle out of one_highpage_init() so that the i386 NUMA
   patch can call it on a per-page basis.

 - Move a few lines out of mem_init() into the new
   set_max_mapnr_init(), which the i386 NUMA code requires.

23 years ago[PATCH] reorganise setup_arch() for ia32 discontigmem
Andrew Morton [Tue, 3 Sep 2002 12:33:56 +0000 (05:33 -0700)]
[PATCH] reorganise setup_arch() for ia32 discontigmem

This restructures setup_arch() for i386 to make it easier to include the
i386 numa changes (for CONFIG_DISCONTIGMEM) I've been working on.  It
also makes setup_arch() easier to read.  A version of this patch is the
in 2.4 aa tree.

This does not depend on the other patches I'm submitting today, but my
discontigmem patch does depend on this one.

I've tested this patch on the following configurations: UP, SMP, SMP
PAE, multiquad, multiquad PAE.

23 years ago[PATCH] convert node/zone_start_paddr to pfns
Andrew Morton [Tue, 3 Sep 2002 12:33:51 +0000 (05:33 -0700)]
[PATCH] convert node/zone_start_paddr to pfns

I've had ia32-discontigmem under test for a month, uneventfully.  Possibly
because I don't have a machine to test it on....

A major part of this work is a general move to convert the low-level
memory management to consistently use pageframe numbers.  It's a bit
schizo at present..

This patch was written by Martin Bligh.  A version of this patch is in
the 2.4 aa tree.

It changes the unsigned longs node_start_paddr and zone_start_paddr to
page frame numbers.  This is necessary because a PAE address is 36 bits
and cannot be represented in an unsigned long.

 - The per-node physical memory start address node_start_paddr becomes
   a pfn, node_start_pfn.

 - The per-zone physical memory start address zone_start_paddr becomes
   a pfn, zone_start_pfn.

 - free_area_init_node() takes a pfn rather than a physical address.

Patricia has tested this patch on the following configurations: UP,
SMP, SMP PAE, multiquad, multiquad PAE, multiquad DISCONTIGMEM,
multiquad DISCONTIGMEM PAE.

23 years ago[PATCH] place rmap locking in rmap-locking.h
Andrew Morton [Tue, 3 Sep 2002 12:33:46 +0000 (05:33 -0700)]
[PATCH] place rmap locking in rmap-locking.h

The rmap locking inlines are causing some header file
dependency/ordering problems - move them out of page-flags.h and into
their own header file.

23 years agoMerge master.kernel.org:/home/davem/BK/sparc-2.5
Linus Torvalds [Tue, 3 Sep 2002 12:33:14 +0000 (05:33 -0700)]
Merge master.kernel.org:/home/davem/BK/sparc-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge master.kernel.org:/home/davem/BK/net-2.5
Linus Torvalds [Tue, 3 Sep 2002 12:26:51 +0000 (05:26 -0700)]
Merge master.kernel.org:/home/davem/BK/net-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years ago[PATCH] 2.5.33 dmi_scan blacklist ibm thinkpad for i2c/sensors
Albert Cranford [Tue, 3 Sep 2002 11:37:22 +0000 (04:37 -0700)]
[PATCH] 2.5.33 dmi_scan blacklist ibm thinkpad for i2c/sensors

This adds IBM thinkpads to a list of mainboards that should not be
scanned by i2c sensors during detection phase.

23 years agoarch/sparc64/kernel/ioctl32.c: Frob cmd in PPPIOCS{PASS,ACTIVE}.
David S. Miller [Tue, 3 Sep 2002 07:56:09 +0000 (00:56 -0700)]
arch/sparc64/kernel/ioctl32.c: Frob cmd in PPPIOCS{PASS,ACTIVE}.

23 years agoMerge nuts.ninka.net:/home/davem/src/BK/network-2.5
David S. Miller [Tue, 3 Sep 2002 07:49:04 +0000 (00:49 -0700)]
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 nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5
David S. Miller [Tue, 3 Sep 2002 07:47:25 +0000 (00:47 -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[PATCH] bad: schedule() with irqs disabled!
Robert Love [Tue, 3 Sep 2002 05:43:11 +0000 (22:43 -0700)]
[PATCH] bad: schedule() with irqs disabled!

OK, Linus, you are right... there are enough instances of this we are
not going to find them all (although I suspect Andrew's slab.c fixes
will cover most of the cases).  Further, I think we can should actually
purposely call preempt_schedule() in certain cases after interrupt
reenable to check for reschedules...

Let's just make it a rule "no preemption if interrupts are off" and
enforce that.

23 years ago[PATCH] flag type cleanup
Robert Love [Tue, 3 Sep 2002 05:43:06 +0000 (22:43 -0700)]
[PATCH] flag type cleanup

This fixes various instances of the interrupt flag variable not being
the proper `unsigned long', most notably kernel/softirq.c ...

23 years agoMerge home.transmeta.com:/home/torvalds/v2.5/linux
Linus Torvalds [Tue, 3 Sep 2002 05:41:02 +0000 (22:41 -0700)]
Merge home.transmeta.com:/home/torvalds/v2.5/linux
into home.transmeta.com:/home/torvalds/v2.5/sigio

23 years ago[PATCH] sigio/sigurg cleanup for 2.5.32
James Morris [Tue, 3 Sep 2002 05:40:11 +0000 (22:40 -0700)]
[PATCH] sigio/sigurg cleanup for 2.5.32

This is a cleanup of the sigio/sigurg code.

Summary:
  o Removed sk->proc, SIGURG now sent via vfs, credentials checked
    during delivery.
  o SIOCSPGRP etc. ioctls use vfs, and work now for SIGIO as well
    as SIGURG.
  o Removed socket fcntl code.
  o Consolidate lsm file_set_fowner() hooks.
  o Fixed fowner race.
  o Fixed associated mainline memory leak in fcntl_dirnotify().

23 years ago[PATCH] duplicate declaration of pci_lock
Geert Uytterhoeven [Tue, 3 Sep 2002 05:38:35 +0000 (22:38 -0700)]
[PATCH] duplicate declaration of pci_lock

Kill duplicate declaration of pci_lock

23 years agoMerge two similar fixes
Linus Torvalds [Tue, 3 Sep 2002 05:34:30 +0000 (22:34 -0700)]
Merge two similar fixes

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.make
Linus Torvalds [Tue, 3 Sep 2002 05:32:18 +0000 (22:32 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.make
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.isdn
Linus Torvalds [Tue, 3 Sep 2002 05:31:20 +0000 (22:31 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.isdn
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge master.kernel.org:/home/davem/BK/net-2.5
Linus Torvalds [Tue, 3 Sep 2002 05:20:36 +0000 (22:20 -0700)]
Merge master.kernel.org:/home/davem/BK/net-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge kiwi:v2.5/linux into home.transmeta.com:/home/torvalds/v2.5/linux
Linus Torvalds [Tue, 3 Sep 2002 05:19:25 +0000 (22:19 -0700)]
Merge kiwi:v2.5/linux into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoFix floppy driver end_request() handling - it used to do insane
Linus Torvalds [Tue, 3 Sep 2002 05:08:18 +0000 (22:08 -0700)]
Fix floppy driver end_request() handling - it used to do insane
contortions instead of just calling "end_that_request_first()" with
the proper sector count.

23 years agoMajor partial request completion boo-boo in the bio layer.
Linus Torvalds [Tue, 3 Sep 2002 03:53:35 +0000 (20:53 -0700)]
Major partial request completion boo-boo in the bio layer.

This was _bad_. Major floppy corruption, and possibly the reason
for other block device corruption for any driver that generated
partial results for a block device request.

23 years agoarch/sparc64/lib/VIScsum.S: Fix endianness bugs in previous change.
David S. Miller [Mon, 2 Sep 2002 21:48:26 +0000 (14:48 -0700)]
arch/sparc64/lib/VIScsum.S: Fix endianness bugs in previous change.

23 years agodrivers/net/ppp_generic.c: Revert my idiotic unaligned SKB changes.
David S. Miller [Mon, 2 Sep 2002 21:29:32 +0000 (14:29 -0700)]
drivers/net/ppp_generic.c: Revert my idiotic unaligned SKB changes.

23 years agoarch/sparc64/lib/VIScsum.S: Do not use VIS on oddly aligned buffer.
David S. Miller [Mon, 2 Sep 2002 21:26:03 +0000 (14:26 -0700)]
arch/sparc64/lib/VIScsum.S: Do not use VIS on oddly aligned buffer.

23 years agoFix sonipi driver to not do __FUNCTION__ pasting.
Linus Torvalds [Mon, 2 Sep 2002 20:55:23 +0000 (13:55 -0700)]
Fix sonipi driver to not do __FUNCTION__ pasting.

23 years agoinclude/linux/ptrace.h: fix includes
Kai Germaschewski [Mon, 2 Sep 2002 09:45:52 +0000 (04:45 -0500)]
include/linux/ptrace.h: fix includes

ptrace.h needs struct task_struct, so we need to include <linux/sched.h>.

23 years agodrivers/char/sonypi.h: Fix __FUNCTION__ usage
Kai Germaschewski [Mon, 2 Sep 2002 09:41:12 +0000 (04:41 -0500)]
drivers/char/sonypi.h: Fix __FUNCTION__ usage

23 years agonet/ipv4/tcp_output.c: Fix crashes due to bugs in TSO.
Alexey Kuznetsov [Mon, 2 Sep 2002 09:26:26 +0000 (02:26 -0700)]
net/ipv4/tcp_output.c: Fix crashes due to bugs in TSO.

23 years agokbuild: fix ACPI Config.in breakage
Kai Germaschewski [Mon, 2 Sep 2002 09:25:33 +0000 (04:25 -0500)]
kbuild: fix ACPI Config.in breakage

Christoph Hellwig:

bools don't have depencies, only dep_bools do.  Use three-space indents.

23 years agokbuild: Fix export-objs
Kai Germaschewski [Mon, 2 Sep 2002 09:24:32 +0000 (04:24 -0500)]
kbuild: Fix export-objs

Fix various Makefiles to really list the objects which use EXPORT_SYMBOL.

Patch by "Lightweight Patch Manager".

23 years agoISDN: Remove __NO_VERSION__
Kai Germaschewski [Mon, 2 Sep 2002 09:15:39 +0000 (04:15 -0500)]
ISDN: Remove __NO_VERSION__

#define __NO_VERSION__ has been unnecessary for a long time, so here it
goes...

(Rusty Russell)

23 years agoISDN: One last ISDN designated initializer
Kai Germaschewski [Mon, 2 Sep 2002 08:56:02 +0000 (03:56 -0500)]
ISDN: One last ISDN designated initializer

(by Rusty Russell)

23 years agoISDN: cleanups / overflow check
Kai Germaschewski [Mon, 2 Sep 2002 08:50:25 +0000 (03:50 -0500)]
ISDN: cleanups / overflow check

Based on work done by Solar Designer for 2.2

23 years agoISDN: Fix __FUNCTION__ usage
Kai Germaschewski [Mon, 2 Sep 2002 08:38:58 +0000 (03:38 -0500)]
ISDN: Fix __FUNCTION__ usage

23 years agokbuild: Remove CONFIG_DEVFS_FS from arch/ia64/config.in
Kai Germaschewski [Mon, 2 Sep 2002 08:25:19 +0000 (03:25 -0500)]
kbuild: Remove CONFIG_DEVFS_FS from arch/ia64/config.in

Defining CONFIG_DEVFS_FS in two different places does not work correctly.
Nobody objected on linux-ia64, so I just removed the statements
unconditionally enabling devfs on IA64/SNI.

Pointed out by Greg Banks.

23 years agoarch/sparc64/kernel/ioctl32.c: Translate PPPIOCS{PASS,ACTIVE}
David S. Miller [Sun, 1 Sep 2002 19:59:04 +0000 (12:59 -0700)]
arch/sparc64/kernel/ioctl32.c: Translate PPPIOCS{PASS,ACTIVE}

23 years agodrivers/net/ppp_generic.c: Allocate right length in unaligned SKB fix.
David S. Miller [Sun, 1 Sep 2002 10:41:07 +0000 (03:41 -0700)]
drivers/net/ppp_generic.c: Allocate right length in unaligned SKB fix.

23 years ago[PATCH] Re: 2.5.33 PNPBIOS does not compile
Ray Lee [Sun, 1 Sep 2002 08:58:09 +0000 (01:58 -0700)]
[PATCH] Re: 2.5.33 PNPBIOS does not compile

I don't know if the current form is harmless or not, but it is
definitely incorrect.  The patch below corrects the compile failure, as
well as the multi-statement macro defines used in bare if statements;
please apply.

23 years ago[PATCH] remove BUG_ON(p->ptrace) in release_task()
Hirofumi Ogawa [Sun, 1 Sep 2002 03:51:25 +0000 (20:51 -0700)]
[PATCH] remove BUG_ON(p->ptrace) in release_task()

The BUG_ON(p->ptrace) will be called if the CLONE_DETACH process is
traced.  This patch removes BUG_ON(p->ptrace), and also removes a
workaround for it in sys_wait4().

23 years agoMerge master.kernel.org:/home/davem/BK/net-2.5
Linus Torvalds [Sun, 1 Sep 2002 03:44:09 +0000 (20:44 -0700)]
Merge master.kernel.org:/home/davem/BK/net-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge master.kernel.org:/home/davem/BK/sparc-2.5
Linus Torvalds [Sun, 1 Sep 2002 03:41:47 +0000 (20:41 -0700)]
Merge master.kernel.org:/home/davem/BK/sparc-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agonet/sctp/sm_make_chunk.c: Fix typo.
Nicholas Miell [Sat, 31 Aug 2002 16:26:59 +0000 (09:26 -0700)]
net/sctp/sm_make_chunk.c: Fix typo.

23 years agonet/ipv4/netfilter/ip_nat_helper.c: Fix __FUNCTION__ pasting.
David S. Miller [Sat, 31 Aug 2002 16:08:28 +0000 (09:08 -0700)]
net/ipv4/netfilter/ip_nat_helper.c: Fix __FUNCTION__ pasting.

23 years agonet/ipv4/netfilter/ipfwadm_core.c: Fix build bustage when debugging is enabled.
James Morris [Sat, 31 Aug 2002 16:07:11 +0000 (09:07 -0700)]
net/ipv4/netfilter/ipfwadm_core.c: Fix build bustage when debugging is enabled.

23 years agonet/ipv6/af_inet6.c: Fix __FUNCTION__ pasting.
James Morris [Sat, 31 Aug 2002 16:06:11 +0000 (09:06 -0700)]
net/ipv6/af_inet6.c: Fix __FUNCTION__ pasting.

23 years agoMerge nuts.ninka.net:/home/davem/src/BK/network-2.5
David S. Miller [Sat, 31 Aug 2002 16:04:15 +0000 (09:04 -0700)]
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[SPARC]: Fix build breakage.
David S. Miller [Sat, 31 Aug 2002 15:36:40 +0000 (08:36 -0700)]
[SPARC]: Fix build breakage.
- Update for PCI config space access api changes
- Handle new do_fork args
- Delete SET/CLEAR TID handling from copy_thread
- Update arch/sparc64/defconfig

23 years agoDe-queue the floppy request late, so that the higher levels
Linus Torvalds [Sat, 31 Aug 2002 15:01:13 +0000 (08:01 -0700)]
De-queue the floppy request late, so that the higher levels
know the floppy driver is busy.

23 years agoMerge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5
David S. Miller [Sat, 31 Aug 2002 14:30:46 +0000 (07:30 -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 agodrivers/net/ppp_generic.c: Fix skb_put len arg when copying unaligned skb.
David S. Miller [Sat, 31 Aug 2002 14:03:06 +0000 (07:03 -0700)]
drivers/net/ppp_generic.c: Fix skb_put len arg when copying unaligned skb.

23 years agoLinux v2.5.33 v2.5.33
Linus Torvalds [Sat, 31 Aug 2002 08:07:38 +0000 (01:07 -0700)]
Linux v2.5.33

23 years agoClean up insane floppy driver CURRENT handling, make the
Linus Torvalds [Sat, 31 Aug 2002 08:00:16 +0000 (01:00 -0700)]
Clean up insane floppy driver CURRENT handling, make the
driver remove the ftont of the queue from the request list
and cache it in 'current_req'.

This simplifies the driver and should be a lot more robust.

Still, I'll probably go blind just for _looking_ at the dang
sources of this thing. Whee.

23 years agoMake block device initialization initialize the request queue
Linus Torvalds [Sat, 31 Aug 2002 07:58:00 +0000 (00:58 -0700)]
Make block device initialization initialize the request queue
pointer before the device is opened.

This should finally fix the 2.5.x floppy driver.

23 years agoCall con_init_devfs() to initialize VT subsystem for devfs.
Linus Torvalds [Sat, 31 Aug 2002 04:22:42 +0000 (21:22 -0700)]
Call con_init_devfs() to initialize VT subsystem for devfs.

23 years agoMerge http://linux-ntfs.bkbits.net/ntfs-2.5
Linus Torvalds [Sat, 31 Aug 2002 04:03:08 +0000 (21:03 -0700)]
Merge http://linux-ntfs.bkbits.net/ntfs-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge cantab.net:/usr/src/bklinux-2.5 into cantab.net:/usr/src/ntfs-2.5
Anton Altaparmakov [Sat, 31 Aug 2002 14:42:10 +0000 (15:42 +0100)]
Merge cantab.net:/usr/src/bklinux-2.5 into cantab.net:/usr/src/ntfs-2.5

23 years agoMerge cantab.net:/usr/src/bklinux-2.5 into cantab.net:/usr/src/ntfs-2.5
Anton Altaparmakov [Sat, 31 Aug 2002 06:42:30 +0000 (07:42 +0100)]
Merge cantab.net:/usr/src/bklinux-2.5 into cantab.net:/usr/src/ntfs-2.5

23 years ago[PATCH] Fix panic if pnpbios is enabled and speed up its check in
Luca Barbieri [Sat, 31 Aug 2002 03:21:42 +0000 (20:21 -0700)]
[PATCH] Fix panic if pnpbios is enabled and speed up its check in

This fixes the pnpbios CS check to check for the correct values (it
wasn't up to date with the various GDT reshuffles), moves it inside the
kernel mode check, modifies it so that it takes less instructions and
marks it with unlikely().

Note that the 2.5.32 version of this check will cause the kernel to
always panic since it checks for the kernel segments and will thus
decide to jump to the pnpbios fault handler without being in pnpbios.
pnpbios_core.c instead seems to use the correct values.

23 years ago[PATCH] ptrace exit fix
Daniel Jacobowitz [Sat, 31 Aug 2002 02:52:25 +0000 (19:52 -0700)]
[PATCH] ptrace exit fix

Gotta ptrace_unlink before calling release_task, and instead of fiddling
with the real_parent directly.

23 years agoACPI: fix needed due to previous pci_ops change
Greg Kroah-Hartman [Fri, 30 Aug 2002 15:33:07 +0000 (08:33 -0700)]
ACPI: fix needed due to previous pci_ops change

23 years agoarch/sparc64/kernel/ioctl32.c: Handle SIOCDEVPRIVATE transparently.
David S. Miller [Fri, 30 Aug 2002 11:40:23 +0000 (04:40 -0700)]
arch/sparc64/kernel/ioctl32.c: Handle SIOCDEVPRIVATE transparently.

23 years agodrivers/net/ppp_generic.c: Fix byte-aligned packets, nearly every arch csum_partial...
David S. Miller [Fri, 30 Aug 2002 11:34:54 +0000 (04:34 -0700)]
drivers/net/ppp_generic.c: Fix byte-aligned packets, nearly every arch csum_partial cannot handle this.

23 years agonet/core/dst.c: asm/bitops.h --> linux/bitops.h
David S. Miller [Fri, 30 Aug 2002 11:20:36 +0000 (04:20 -0700)]
net/core/dst.c: asm/bitops.h --> linux/bitops.h

23 years ago[NETFILTER]: Fix OOPS in ipt_ULOG
Harald Welte [Fri, 30 Aug 2002 10:51:47 +0000 (03:51 -0700)]
[NETFILTER]: Fix OOPS in ipt_ULOG
- If an iptables rule is using --ulog-nlgroup with a
value greated than 4, we crash
- Remove a memory leak when someone throws packets at
the ulog netlink socket

23 years ago[IGMP]: Make ip_mc_dec_group return void.
David S. Miller [Fri, 30 Aug 2002 10:47:30 +0000 (03:47 -0700)]
[IGMP]: Make ip_mc_dec_group return void.

23 years agonet/ipv4/netfilter/ipchains_core.c: Fix MODULE_LICENSE
Carl-Daniel Hailfinger [Fri, 30 Aug 2002 10:43:29 +0000 (03:43 -0700)]
net/ipv4/netfilter/ipchains_core.c: Fix MODULE_LICENSE

23 years agoinclude/net/tcp.h: Use ____cacheline_aligned
Thiemo Seufer [Fri, 30 Aug 2002 10:41:32 +0000 (03:41 -0700)]
include/net/tcp.h: Use ____cacheline_aligned

23 years agoinclude/asm-sparc64/hardirq.h: Comment fix.
Skip Ford [Fri, 30 Aug 2002 10:40:23 +0000 (03:40 -0700)]
include/asm-sparc64/hardirq.h: Comment fix.

23 years agoMAINTAINERS: Update NETFILTER entry.
Harald Welte [Fri, 30 Aug 2002 10:37:44 +0000 (03:37 -0700)]
MAINTAINERS: Update NETFILTER entry.

23 years agoThe SCSI layer should _not_ try to decide about non-existent
Linus Torvalds [Fri, 30 Aug 2002 09:59:19 +0000 (02:59 -0700)]
The SCSI layer should _not_ try to decide about non-existent
partitions. The higher layers do a better job of it.

23 years ago[PATCH] PATCH - md - Fix a typo in a recent patchset for raid5
Neil Brown [Fri, 30 Aug 2002 09:00:04 +0000 (02:00 -0700)]
[PATCH] PATCH - md - Fix a typo in a recent patchset for raid5

23 years ago[PATCH] PATCH - kNFSd - More small fixes for TCP nfsd
Neil Brown [Fri, 30 Aug 2002 09:00:00 +0000 (02:00 -0700)]
[PATCH] PATCH - kNFSd - More small fixes for TCP nfsd

sk_inuse should be bigger than "char" as we can
have more than 255 server threads.  Due to the way the count
is used, this is unlikely to actually cause a problem, but it
should nonetheless be fixed.

Also, two printk generate more noise than we would like,
so turn them into dprintk (debugging printk).

23 years ago[PATCH] sock_writeable not appropriate for TCP sockets, for 2.5.32
Chuck Lever [Fri, 30 Aug 2002 08:58:33 +0000 (01:58 -0700)]
[PATCH] sock_writeable not appropriate for TCP sockets, for 2.5.32

sock_writeable determines whether there is space in a socket's output
buffer.  socket write_space callbacks use it to determine whether to wake
up those that are waiting for more output buffer space.

however, sock_writeable is not appropriate for TCP sockets.  because the
RPC layer's write_space callback uses it for TCP sockets, the RPC layer
hammers on sock_sendmsg with dozens of write requests that are only a few
hundred bytes long when it is trying to send a large write RPC request.
this patch adds logic to the RPC layer's write_space callback that
properly handles TCP sockets.

patch reviewed by Trond and Alexey.

23 years ago[PATCH] prevent oops in xprt_lock_write, against 2.5.32
Chuck Lever [Fri, 30 Aug 2002 08:58:29 +0000 (01:58 -0700)]
[PATCH] prevent oops in xprt_lock_write, against 2.5.32

when several RPC requests want to reconnect a TCP transport socket at
once, xprt_lock_write serializes the tasks to prevent multiple socket
connects.  however, TCP connects are always done by a RPC child task that
has no request slot.  xprt_lock_write can oops if there is no request slot
allocated to the invoking RPC task.  reviewed and accepted by Trond.

the xprt_lock_write changes are not yet in 2.4, so this patch does not
apply to 2.4.

23 years ago[PATCH] TLS boot-initialization bugfix on SMP, 2.5.32-BK
Ingo Molnar [Fri, 30 Aug 2002 08:56:43 +0000 (01:56 -0700)]
[PATCH] TLS boot-initialization bugfix on SMP, 2.5.32-BK

This fixes a bad TLS initialization bug found by Andi Kleen.  x86/SMP
only worked due to luck.

23 years ago[PATCH] scheduler fixes, 2.5.32-BK
Ingo Molnar [Fri, 30 Aug 2002 08:56:01 +0000 (01:56 -0700)]
[PATCH] scheduler fixes, 2.5.32-BK

This adds two scheduler related fixes:

 - changes the migration code to use struct completion. Andrew pointed out
   that there might be a small window in where the up() touches the
   semaphore while the waiting task goes on and frees its stack. And
   completion is more suited for this kind of stuff anyway.

 - removes two unneeded exports, pointed out by Andrew.

23 years ago[PATCH] clone-cleanup 2.5.32-BK
Ingo Molnar [Fri, 30 Aug 2002 08:55:56 +0000 (01:55 -0700)]
[PATCH] clone-cleanup 2.5.32-BK

This moves CLONE_SETTID and CLONE_CLEARTID handling into kernel/fork.c,
where it belongs.  [the CLONE_SETTLS is x86-specific and thus remains in
the per-arch process.c] This makes support for these two new flags much
easier: architectures only have to pass in the user_tid pointer.

23 years ago[PATCH] include/asm-i386/msr.h
Dominik Brodowski [Fri, 30 Aug 2002 08:54:06 +0000 (01:54 -0700)]
[PATCH] include/asm-i386/msr.h

It would be helpful if these msr.h #defines could get in.

23 years ago[PATCH] efi.h move
David Mosberger [Fri, 30 Aug 2002 08:52:33 +0000 (01:52 -0700)]
[PATCH] efi.h move

It makes no sense to keep efi.h as an ia64-specific header (there really
are x86 machines coming out with optional EFI BIOS support).

23 years agoMerge http://lia64.bkbits.net/to-linus-2.5
Linus Torvalds [Fri, 30 Aug 2002 08:51:31 +0000 (01:51 -0700)]
Merge http://lia64.bkbits.net/to-linus-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years ago[PATCH] ext3 __FUNCTION__ pasting fix
Andrew Morton [Fri, 30 Aug 2002 08:49:35 +0000 (01:49 -0700)]
[PATCH] ext3 __FUNCTION__ pasting fix

Fix a __FUNCTION__ paste in revoke.c

23 years ago[PATCH] O_DIRECT for ext3
Andrew Morton [Fri, 30 Aug 2002 08:49:31 +0000 (01:49 -0700)]
[PATCH] O_DIRECT for ext3

O_DIRECT support for ext3.

It works OK in all journalling modes.

Updates to the file metadata and inode are journalled as usual.

If the system crashes during an appending O_DIRECT write then journal
recovery will truncate the written-to file back to the length which it
had on entry to that write.

If the system crashes during a file overwrite to existing blocks then
the file contents will be an unknown mixture of old and new.

If the system crashes during a file overwrite which instantiates new
blocks in the middle of the file then there is a possibility of
uninitialised disk blocks being present in the file post-recovery.

23 years ago[PATCH] fix an ext3 deadlock
Andrew Morton [Fri, 30 Aug 2002 08:49:26 +0000 (01:49 -0700)]
[PATCH] fix an ext3 deadlock

mpage_writepages() does a lock_page() on pages to be written back, even
when it is being used for page reclaim writeback.

This is normally OK, because the page is unlocked quickly - pages are
unlocked during writeback and nobody should be performing __GFP_FS
allocations inside lock_page().

But it has introduced a ranking problem in ext3:

generic_file_write
->lock_page
  ->ext3_prepare_write
    ->journal_start (waits for a commit)

versus

ext3_create()
->journal_start()
  ->ext3_new_inode(GFP_KERNEL)
    ->page reclaim
      ->mpage_writepages
        ->lock_page (locks up, transaction is held open)

Maybe sometime, I'll have to turn mpage_writepages' lock_page into a
trylock if the caller is PF_MEMALLOC.  But for now, let's make ext3's
inside-transaction allocations use GFP_NOFS.  There is only one of them.

23 years ago[PATCH] writeback correctness and efficiency changes
Andrew Morton [Fri, 30 Aug 2002 08:49:22 +0000 (01:49 -0700)]
[PATCH] writeback correctness and efficiency changes

This is a performance and correctness fix against the writeback paths.

The writeback code has competing requirements.  Sometimes it is used
for "memory cleansing": kupdate, bdflush, writer throttling, page
allocator writeback, etc.  And sometimes this same code is used for
data integrity pruposes: fsync, msync, fdatasync, sync, umount, various
other kernel-internal uses.

The problem is: how to handle a dirty buffer or page which is currently
under writeback.

For memory cleansing, we just want to skip that buffer/page and go onto
the next one.  But for sync, we must wait on the old writeback and then
start new writeback.

mpage_writepages() is current correct for cleansing, but incorrect for
sync.  block_write_full_page() is currently correct for sync, but
inefficient for cleansing.

The fix is fairly simple.

- In mpage_writepages(), don't skip the page is it's a sync
operation.

- In block_write_full_page(), skip the buffer if it is a sync
operation.  And return -EAGAIN to tell the caller that the writeout
didn't work out.  The caller must then set the page dirty again and
move it onto mapping->dirty_pages.

This is an extension of the writepage API: writepage can now return
EAGAIN.  There are only three callers, and they have been updated.

fail_writepage() and ext3_writepage() were actually doing this by
hand.  They have been changed to return -EAGAIN.  NTFS will want to
be able to return -EAGAIN from its writepage as well.

- A sticky question is: how to tell the writeout code which mode it
is operating in?  Cleansing or sync?

It's such a tiny code change that I didn't have the heart to go and
propagate a `mode' argument down every instance of writepages() and
writepage() in the kernel.  So I passed it in via current->flags.

Incidentally, the occurrence of a locked-and-dirty buffer in
block_write_full_page() is fairly rare: normally the collision avoidance
happens at the address_space level, via PageWriteback.  But some
mappings (blockdevs, ext3 files, etc) have their dirty buffers written
out via submit_bh().  It is these buffers which can stall
block_write_full_page().

This wart will be pretty intrusive to fix.  ext3 needs to become fully
page-based (ugh.  It's a block-based journalling filesystem, and pages
are unnatural).  blockdev mappings are still written out by buffers
because that's how filesystems use them.  Putting _all_ metadata
(indirects, inodes, superblocks, etc) into standalone address_spaces
would fix that up.

- filemap_fdatawrite() sets PF_SYNC.  So filemap_fdatawrite() is the
kernel function which will start writeback against a mapping for
"data integrity" purposes, whereas the unexported, internal-only
do_writepages() is the writeback function which is used for memory
cleansing.  This difference is the reason why I didn't consolidate
those functions ages ago...

- Lots of code paths had a bogus extra call to filemap_fdatawait(),
which I previously added in a moment of weak-headedness.  They have
all been removed.

23 years ago[PATCH] batched freeing of anon pages
Andrew Morton [Fri, 30 Aug 2002 08:49:17 +0000 (01:49 -0700)]
[PATCH] batched freeing of anon pages

A reworked version of the batched page freeing and lock amortisation
for VMA teardown.

It walks the existing 507-page list in the mmu_gather_t in 16-page
chunks, drops their refcounts in 16-page chunks, and de-LRUs and
frees any resulting zero-count pages in up-to-16 page chunks.

23 years ago[PATCH] put_page() consolidation
Andrew Morton [Fri, 30 Aug 2002 08:49:13 +0000 (01:49 -0700)]
[PATCH] put_page() consolidation

Clean up put_page() and page_cache_release().  It's pretty simple now:

#define page_cache_get(page)           get_page(page)
#define page_cache_release(page)       put_page(page)

23 years ago[PATCH] remove pagevec_lru_del()
Andrew Morton [Fri, 30 Aug 2002 08:49:08 +0000 (01:49 -0700)]
[PATCH] remove pagevec_lru_del()

it was only being used in invalidate_inode_pages(), and from there,
pagevec_release() does the same thing.

23 years ago[PATCH] debug check in put_page_testzero()
Andrew Morton [Fri, 30 Aug 2002 08:49:04 +0000 (01:49 -0700)]
[PATCH] debug check in put_page_testzero()

As suggested by Daniel - it's a bug to run put_page_testzero
against a zero-ref page.

23 years ago[PATCH] MAINTAINERS patch
Ingo Molnar [Fri, 30 Aug 2002 08:45:57 +0000 (01:45 -0700)]
[PATCH] MAINTAINERS patch

please apply this patch (Robert ACK-ed it). While there is a preemptible
kernel entry already, i think listing this at the scheduler entry is
justfied, preemption has a number of scheduler interactions.

23 years ago[PATCH] ldt-fix-2.5.32-A3
Ingo Molnar [Fri, 30 Aug 2002 08:45:53 +0000 (01:45 -0700)]
[PATCH] ldt-fix-2.5.32-A3

this is an updated version of the LDT fixes. It fixes the following kinds
of problems:

 - fix a possible gcc optimization causing a race causing the loading of a
   corrupt LDT descriptor upon context switch. [this fix got simplified
   over previous versions.]

 - remove an unconditional OOM printk, and there's no need to set ->size
   in the OOM path.

 - fix preemption bugs, load_LDT()/clear_LDT() was not preemption-safe,
   when it was used outside of spinlocks.

the context-switch race is the following. 'LDT modification' is the
following operation: the seg->ldt pointer is modified, then seg->size is
modified. In theory gcc is free to reschedule the two modifications, and
first modify ->size, then ->ldt. Thus if this modification is not
synchronized with context-switches, another thread might see a temporary
state of the new ->size [which was increased], but still the old pointer.
Ie.:

CPU0 CPU1

pc->size = newsize;
load_LDT(); // (oldptr, newsize)
pc->ldt = newptr;

the corrupt LDT is loaded until the SMP cross-call is sent, leaving the
window open for many usecs.

the fix is to put a wmb() after ->ldt modifications. [this is also in
preparation of not-write-ordered SMP x86 designs.]

23 years agoMerge bk://linux-input.bkbits.net/linux-input
Linus Torvalds [Fri, 30 Aug 2002 08:43:13 +0000 (01:43 -0700)]
Merge bk://linux-input.bkbits.net/linux-input
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoIgnore error 0xff - 'general error' in AUX wire test in i8042.c,
Vojtech Pavlik [Fri, 30 Aug 2002 13:22:23 +0000 (15:22 +0200)]
Ignore error 0xff - 'general error' in AUX wire test in i8042.c,
some mainboards (Andrew Morton's Dell) report that even everything
is okay with AUX. Also remove a check for very old AMI i8042's, which
could generate false positives on modern buggy mainboards.

23 years agoMerge bk://jfs.bkbits.net/linux-2.5
Linus Torvalds [Fri, 30 Aug 2002 08:42:01 +0000 (01:42 -0700)]
Merge bk://jfs.bkbits.net/linux-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years ago[PATCH] oss/gus_card.c - convert cli to spinlocks
Peter Wächtler [Fri, 30 Aug 2002 08:31:22 +0000 (01:31 -0700)]
[PATCH] oss/gus_card.c - convert cli to spinlocks

23 years ago[PATCH] oss/nm256.h - convert cli to spinlocks
Peter Wächtler [Fri, 30 Aug 2002 08:31:18 +0000 (01:31 -0700)]
[PATCH] oss/nm256.h - convert cli to spinlocks

23 years ago[PATCH] oss/pas2_card.c - convert cli to spinlocks
Peter Wächtler [Fri, 30 Aug 2002 08:31:14 +0000 (01:31 -0700)]
[PATCH] oss/pas2_card.c - convert cli to spinlocks

23 years ago[PATCH] oss/vwsnd.c - convert cli to spinlocks
Peter Wächtler [Fri, 30 Aug 2002 08:31:08 +0000 (01:31 -0700)]
[PATCH] oss/vwsnd.c - convert cli to spinlocks

23 years ago[PATCH] oss/trident.c - convert cli to spinlocks
Peter Wächtler [Fri, 30 Aug 2002 08:31:03 +0000 (01:31 -0700)]
[PATCH] oss/trident.c - convert cli to spinlocks