]> git.neil.brown.name Git - history.git/log
history.git
21 years agoRemove pointless cast-as-lvalue usage from modedb.c
Linus Torvalds [Mon, 23 Aug 2004 10:59:22 +0000 (03:59 -0700)]
Remove pointless cast-as-lvalue usage from modedb.c

It's evil, people. Don't use that particular gcc extension.
I've yet to meet anybody who could read the resulting code
and tell me what the heck it does.

21 years agoFix up 0/NULL confusion
Linus Torvalds [Mon, 23 Aug 2004 10:58:09 +0000 (03:58 -0700)]
Fix up 0/NULL confusion

21 years agosparse: don't use signed single-bit bitfields.
Linus Torvalds [Mon, 23 Aug 2004 10:57:08 +0000 (03:57 -0700)]
sparse: don't use signed single-bit bitfields.

K&R used to make bitfields unsigned. That hasn't been
true for a long long time..

21 years agoDon't use signed one-bit bitfields.
Linus Torvalds [Mon, 23 Aug 2004 10:10:29 +0000 (03:10 -0700)]
Don't use signed one-bit bitfields.

We assign 0 and 1 to it, but since it's signed, that's
actually already overflowing the poor thing. So make
it unsigned, which is what it really was supposed to be
in the first place.

21 years agoFix i2c-keywest compile
Linus Torvalds [Mon, 23 Aug 2004 10:08:37 +0000 (03:08 -0700)]
Fix i2c-keywest compile

Declare probe _before_ using it. Duh.

21 years agoMerge bk://bk.arm.linux.org.uk/linux-2.6-mmc
Linus Torvalds [Mon, 23 Aug 2004 08:41:23 +0000 (01:41 -0700)]
Merge bk://bk.arm.linux.org.uk/linux-2.6-mmc
into ppc970.osdl.org:/home/torvalds/v2.6/linux

Manual merge of arch/arm/Kconfig conflicts

21 years agoMerge bk://kernel.bkbits.net/davem/sparc-2.6
Linus Torvalds [Mon, 23 Aug 2004 08:08:25 +0000 (01:08 -0700)]
Merge bk://kernel.bkbits.net/davem/sparc-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years agoMerge davem@nuts.davemloft.net:/disk1/BK/sparc-2.6
David S. Miller [Mon, 23 Aug 2004 14:56:17 +0000 (07:56 -0700)]
Merge davem@nuts.davemloft.net:/disk1/BK/sparc-2.6
into kernel.bkbits.net:/home/davem/sparc-2.6

21 years agoMerge davem@nuts.davemloft.net:/disk1/BK/sparc-2.6
David S. Miller [Mon, 23 Aug 2004 14:51:41 +0000 (07:51 -0700)]
Merge davem@nuts.davemloft.net:/disk1/BK/sparc-2.6
into kernel.bkbits.net:/home/davem/sparc-2.6

21 years ago[SPARC64]: Update defconfig.
David S. Miller [Mon, 23 Aug 2004 07:41:35 +0000 (00:41 -0700)]
[SPARC64]: Update defconfig.

21 years ago[SPARC64]: Durrrr, missed signal handling fix from 2.4.x
David S. Miller [Mon, 23 Aug 2004 07:37:11 +0000 (00:37 -0700)]
[SPARC64]: Durrrr, missed signal handling fix from 2.4.x

Passing sigcontext info in UREG_I2, as needed.
I only spotted this because I was diffing 2.4.x
and 2.6.x sparc64 code.

Signed-off-by: David S. Miller <davem@redhat.com>
21 years agoMerge bk://linux-ntfs.bkbits.net/ntfs-2.6
Linus Torvalds [Mon, 23 Aug 2004 07:37:07 +0000 (00:37 -0700)]
Merge bk://linux-ntfs.bkbits.net/ntfs-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years agoMerge cantab.net:/home/src/bklinux-2.6
Anton Altaparmakov [Mon, 23 Aug 2004 11:57:35 +0000 (12:57 +0100)]
Merge cantab.net:/home/src/bklinux-2.6
into cantab.net:/home/src/ntfs-2.6

21 years ago[SPARC64]: Implement little-endian bitops using normal ones.
David S. Miller [Mon, 23 Aug 2004 07:36:20 +0000 (00:36 -0700)]
[SPARC64]: Implement little-endian bitops using normal ones.

Just like s390 and ppc64.

Signed-off-by: David S. Miller <davem@redhat.com>
21 years ago[SPARC64]: Kill bogus __strlen symbol and strncmp inline cruft.
David S. Miller [Mon, 23 Aug 2004 07:35:39 +0000 (00:35 -0700)]
[SPARC64]: Kill bogus __strlen symbol and strncmp inline cruft.

Signed-off-by: David S. Miller <davem@redhat.com>
21 years ago[SPARC64]: Fix bugs in new U1memcpy code.
David S. Miller [Mon, 23 Aug 2004 07:34:58 +0000 (00:34 -0700)]
[SPARC64]: Fix bugs in new U1memcpy code.

- U1copy_from_user needs PREAMBLE since it uses
  explicit ASI_BLK_AIUS references.
- Need to use EX_RETVAL() in U1memcpy.S
- U1memcpy.S can load one 64-bit word too
  many, passing the source buffer boundary
  and thus potentially causing exceptions.

Signed-off-by: David S. Miller <davem@redhat.com>
21 years ago[SPARC64]: Revamped memcpy infrastructure.
David S. Miller [Mon, 23 Aug 2004 07:33:47 +0000 (00:33 -0700)]
[SPARC64]: Revamped memcpy infrastructure.

- Make it easier to maintain the Ultra-I vs. Ultra-III
  memcpy implementations.  Before you had to maintain
  3 different entire copies of the routines.
- Kill %asi register writing Ultra-I single memcpy loop
  for both user and kernel.  Was not worth it.
- Simplify exception detection and handling enormously.

Signed-off-by: David S. Miller <davem@redhat.com>
21 years agoMerge bk://kernel.bkbits.net/davem/net-2.6
Linus Torvalds [Mon, 23 Aug 2004 07:29:47 +0000 (00:29 -0700)]
Merge bk://kernel.bkbits.net/davem/net-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years ago[SPARC64]: Fix PCI IOMMU invalid iopte handling.
David S. Miller [Mon, 23 Aug 2004 07:28:39 +0000 (00:28 -0700)]
[SPARC64]: Fix PCI IOMMU invalid iopte handling.

Instead of marking them as invalid, point them
at a dummy page.  This handles buggy third-party
bridges that erroneously prefetch sometimes.

Signed-off-by: David S. Miller <davem@redhat.com>
21 years agoMerge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
Linus Torvalds [Mon, 23 Aug 2004 07:24:17 +0000 (00:24 -0700)]
Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years agoMerge bk://kernel.bkbits.net/gregkh/linux/pci-2.6
Linus Torvalds [Mon, 23 Aug 2004 07:22:41 +0000 (00:22 -0700)]
Merge bk://kernel.bkbits.net/gregkh/linux/pci-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

Manual merge of kernel/params.c clashes.

21 years ago[PATCH] Fix posix file locking (9/9)
Trond Myklebust [Mon, 23 Aug 2004 07:14:37 +0000 (00:14 -0700)]
[PATCH] Fix posix file locking (9/9)

NFSv2/v3: Fix up a race in the case where the user presses ^C while a
   process is in the middle of setting up a posix lock. In case the
   server registered our lock, we need to make sure that it gets
   cleaned up during the resulting file close().

Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix posix file locking (8/9)
Trond Myklebust [Mon, 23 Aug 2004 07:14:25 +0000 (00:14 -0700)]
[PATCH] Fix posix file locking (8/9)

VFS: Fix up documentation for the new locking interfaces.

Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix posix file locking (7/9)
Trond Myklebust [Mon, 23 Aug 2004 07:14:14 +0000 (00:14 -0700)]
[PATCH] Fix posix file locking (7/9)

VFS,CIFS,NLM,NFSv4: make filesystems directly responsible for calling
   posix_lock_file() if they need it. This fixes an NFS race whereby
   in case of a server reboot, the recovery thread could re-establish
   a lock that had just been freed.

Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix posix file locking (6/9)
Trond Myklebust [Mon, 23 Aug 2004 07:14:03 +0000 (00:14 -0700)]
[PATCH] Fix posix file locking (6/9)

VFS: get rid of the fl_notify, fl_insert, fl_remove fields from
   struct file_lock. They belong in the new lock_manager_operations
   structure.

Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix posix file locking (5/9)
Trond Myklebust [Mon, 23 Aug 2004 07:13:51 +0000 (00:13 -0700)]
[PATCH] Fix posix file locking (5/9)

NLM: file_lock->fl_owner may live for longer than the pid of the
   original process that created it. Fix NFSv2/v3 client locking code
   to map file_lock->fl_owner into a unique 32-bit number or
   "pseudo-pid".

Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix posix file locking (4/9)
Trond Myklebust [Mon, 23 Aug 2004 07:13:40 +0000 (00:13 -0700)]
[PATCH] Fix posix file locking (4/9)

NLM: fix lockd to use the new posix locking callbacks.

Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix posix file locking (3/9)
Trond Myklebust [Mon, 23 Aug 2004 07:13:29 +0000 (00:13 -0700)]
[PATCH] Fix posix file locking (3/9)

NFSv4 server: fix locking code to use new posix locking callbacks.

Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix posix file locking (2/9)
Trond Myklebust [Mon, 23 Aug 2004 07:13:17 +0000 (00:13 -0700)]
[PATCH] Fix posix file locking (2/9)

VFS: Enable filesystems and to hook certain functions for copying and
   freeing locks using the new struct file_lock_operations.

VFS: Enable lock managers (i.e. lockd) to hook functions for
   comparing lock ownership using the new struct
   lock_manager_operations.

Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix posix file locking (1/9)
Trond Myklebust [Mon, 23 Aug 2004 07:13:06 +0000 (00:13 -0700)]
[PATCH] Fix posix file locking (1/9)

VFS: Fix up posix_same_owner() so that it only uses the
   file_lock->fl_owner field when determining lock equality.

VFS: Fix up posix locking routines to use posix_same_owner() instead
   of rolling their own checks.

Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years agoRun 'indent' on BusLogic driver to keep Alan sane.
Linus Torvalds [Mon, 23 Aug 2004 07:09:50 +0000 (00:09 -0700)]
Run 'indent' on BusLogic driver to keep Alan sane.

He got the "privilege" of cleaning the driver up, and
to keep everybody happy, indent it sanely first.

This is the result of:

        indent -kr -i8 -bri0 -l255 BusLogic.c BusLogic.h

21 years ago[PATCH] More HPT374 driver merge woes
Jindrich Makovicka [Mon, 23 Aug 2004 07:07:18 +0000 (00:07 -0700)]
[PATCH] More HPT374 driver merge woes

There's a misplaced check returning error for
hpt_minimum_revision(dev,8) == TRUE still there, making the previous
fixes useless for the early revision HPT cards.

This fixes it.

21 years agoMerge bk://linux-sam.bkbits.net/kbuild
Linus Torvalds [Mon, 23 Aug 2004 06:48:16 +0000 (23:48 -0700)]
Merge bk://linux-sam.bkbits.net/kbuild
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years ago[PATCH] update SG_IO command table
Jens Axboe [Mon, 23 Aug 2004 06:30:42 +0000 (23:30 -0700)]
[PATCH] update SG_IO command table

Here's a better table of acceptable commands, I've added some more
commands.  Should be pretty complete from the cd/dvd side now.

21 years agoMerge nuts.davemloft.net:/disk1/BK/network-2.6
David S. Miller [Mon, 23 Aug 2004 06:22:28 +0000 (23:22 -0700)]
Merge nuts.davemloft.net:/disk1/BK/network-2.6
into nuts.davemloft.net:/disk1/BK/net-2.6

21 years ago[PATCH] net/Kconfig crc16 warning fix
Andrew Morton [Mon, 23 Aug 2004 06:12:55 +0000 (23:12 -0700)]
[PATCH] net/Kconfig crc16 warning fix

drivers/net/Kconfig:1749:warning: 'select' used by config symbol 'VIA_VELOCITY'

We renamed CONFIG_CRC16.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] CRC16 renaming in VIA Velocity ethernet driver
Andrey Panin [Mon, 23 Aug 2004 06:09:14 +0000 (23:09 -0700)]
[PATCH] CRC16 renaming in VIA Velocity ethernet driver

Signed-off-by: Andrey Panin <pazke@donpac.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] cciss /proc dependency fix
Adrian Bunk [Mon, 23 Aug 2004 06:09:03 +0000 (23:09 -0700)]
[PATCH] cciss /proc dependency fix

cciss uses /proc to hook into the SCSI subsystem.  If you do not build
/proc support into your kernel then you should also disable tape support in
the driver.

Signed-off-by: Adrian Bunk <bunk@fs.tum.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] cciss update 8 maintainers update for HP
Mike Miller [Mon, 23 Aug 2004 06:08:51 +0000 (23:08 -0700)]
[PATCH] cciss update 8 maintainers update for HP

This patch updates the maintainers list for HP drivers.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] cciss: read_ahead bumped to 1024
Mike Miller [Mon, 23 Aug 2004 06:08:39 +0000 (23:08 -0700)]
[PATCH] cciss: read_ahead bumped to 1024

This patch changes our read_ahead to 1024.  This has been shown to increase
performance.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] cciss: pdev->intr fix
Mike Miller [Mon, 23 Aug 2004 06:08:30 +0000 (23:08 -0700)]
[PATCH] cciss: pdev->intr fix

This patch fixes our usage of pdev->intr.  We were truncating it to an unchar.
 We were also reading it before calling pci_enable_device.  This patch fixes
both of those.  Thanks to Bjorn Helgaas for the patch.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] cciss: V100 PCI ID fix again
Mike Miller [Mon, 23 Aug 2004 06:08:19 +0000 (23:08 -0700)]
[PATCH] cciss: V100 PCI ID fix again

Somehow I managed to get the wrong PCI ID in pci_ids.h.  3210 is the
correct PCI ID, 3211 is the subsystem ID.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] cciss: id change for V100 controller
Mike Miller [Mon, 23 Aug 2004 06:08:07 +0000 (23:08 -0700)]
[PATCH] cciss: id change for V100 controller

This patch fixes the vendor ID for our cciss based SATA controller due out
later this year and adds the new PCI ID to pci_ids.h.

Also changes DRIVER_NAME to HP CCISS.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] cciss: cylinder calculation fix
Mike Miller [Mon, 23 Aug 2004 06:07:56 +0000 (23:07 -0700)]
[PATCH] cciss: cylinder calculation fix

This patch fixes our cylinder calculations.  Without his fix the number of
cylinders maxes out at 65535.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] cciss: /proc fixes
Mike Miller [Mon, 23 Aug 2004 06:07:44 +0000 (23:07 -0700)]
[PATCH] cciss: /proc fixes

This patch fixes our output in /proc to display the logical volume sizes and
RAID levels correctly.  Without this patch RAID level will always be 0 and
size may be displayed as 0GB.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] cciss: zero out buffer in passthru ioctls for HP utilities
Mike Miller [Mon, 23 Aug 2004 06:07:33 +0000 (23:07 -0700)]
[PATCH] cciss: zero out buffer in passthru ioctls for HP utilities

This patch addresses a problem with our utilities.  We must zero out the
buffer before copying their data into it to prevent bogus info when switching
between SCSI & SATA or SAS drives.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] cciss: fixes to 32/64-bit conversions
Mike Miller [Mon, 23 Aug 2004 06:07:21 +0000 (23:07 -0700)]
[PATCH] cciss: fixes to 32/64-bit conversions

This patch fixes our usage of copy_to_user.  We were passing in the size of
the address rather than the size of the struct.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix gcc 3.5 compile issue in mm/mempolicy.c
Anton Blanchard [Mon, 23 Aug 2004 06:07:10 +0000 (23:07 -0700)]
[PATCH] Fix gcc 3.5 compile issue in mm/mempolicy.c

Fix another gcc 3.5 compile issue, this time the default_policy prototype
was not marked static whereas the definition was. There is no need for
the prototype, so remove it.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] increase per-user mlock limit default to 32k
Rik van Riel [Mon, 23 Aug 2004 06:06:58 +0000 (23:06 -0700)]
[PATCH] increase per-user mlock limit default to 32k

Since various gnupg users have indicated that gpg wants to mlock 32kB of
memory, I created the patch below that increases the default mlock ulimit
to 32kB.

This is no security problem because it's trivial for processes to lock way
more memory than this in page tables, network buffers, etc.  In fact, since
this patch allows gnupg to mlock to prevent passphrase data from being
swapped out, the security people will probably like it ;)

This gets the new per-user mlock limit a bit more testing, too.

Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] rlimit-based mlocks for unprivileged users
Rik van Riel [Mon, 23 Aug 2004 06:06:46 +0000 (23:06 -0700)]
[PATCH] rlimit-based mlocks for unprivileged users

Here is the last agreed-on patch that lets normal users mlock pages up to
their rlimit.  This patch addresses all the issues brought up by Chris and
Andrea.

From: Chris Wright <chrisw@osdl.org>

Couple more nits.

The default lockable amount is one page now (first patch is was 0).  Why
don't we keep it as 0, with the CAP_IPC_LOCK overrides in place?  That way
nothing is changed from user perspective, and the rest of the policy can be
done by userspace as it should.

This patch breaks in one scenario.  When ulimit == 0, process has
CAP_IPC_LOCK, and does SHM_LOCK.  The subsequent unlock or destroy will
corrupt the locked_shm count.

It's also inconsistent in handling user_can_mlock/CAP_IPC_LOCK interaction
betwen shm_lock and shm_hugetlb.

SHM_HUGETLB can now only be done by the shm_group or CAP_IPC_LOCK.
Not any can_do_mlock() user.

Double check of can_do_mlock isn't needed in SHM_LOCK path.

Interface names user_can_mlock and user_substract_mlock could be better.

Incremental update below.  Ran some simple sanity tests on this plus my
patch below and didn't find any problems.

* Make default RLIM_MEMLOCK limit 0.
* Move CAP_IPC_LOCK check into user_can_mlock to be consistent
  and fix but with ulimit == 0 && CAP_IPC_LOCK with SHM_LOCK.
* Allow can_do_mlock() user to try SHM_HUGETLB setup.
* Remove unecessary extra can_do_mlock() test in shmem_lock().
* Rename user_can_mlock to user_shm_lock and user_subtract_mlock
  to user_shm_unlock.
* Use user instead of current->user to fit in 80 cols on SHM_LOCK.

Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] readahead fixes
Ram Pai [Mon, 23 Aug 2004 06:06:34 +0000 (23:06 -0700)]
[PATCH] readahead fixes

Here is a consolidated readahead patch that takes care of the performance
regression seen with multiple threaded writes to the same file descriptor.

The patch does the following:

1. Instead of calculating the average count of sequential
access in the read patterns, it calculates the
average amount of hits in the current window.
2. This average is used to guide the size of the next current
window.
3. Since the field serial_cnt in the ra structure does not
  make sense with the introduction of the new logic,
I have renamed that field as currnt_wnd_hit.

This patch will help the read patterns that are not neccessarily sequential
but have sufficient locality.  However it may regress random workload.

Results:

1. Berkley Shands has reported great performance with this
patch.
2. iozone showed negligible effect on various read patterns.
3. DSS workload saw neglible change.
4. Sysbench saw a small improvement.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] readahead: simplify recent fixes
Ram Pai [Mon, 23 Aug 2004 06:06:22 +0000 (23:06 -0700)]
[PATCH] readahead: simplify recent fixes

Ok I have enclosed the results for the recent readahead fixes.  The summary
is: there is no significant improvement or decrease in performance of (DSS
workload, iozone, sysbench) The increase or decrease is in the margin of
errors.

I have enclosed a patch that partially backs off Miklos's fix.  Shane
Shrybman correctly pointed out that the real fix is to set ra->average
value to max/2 when we move from readahead-off mode to readahead-on mode.
The other part of Miklos's fix becomes irrelevent.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] mark LOOP_CHANGE_FD as an ULONG compat ioctl
Arjan van de Ven [Mon, 23 Aug 2004 06:06:11 +0000 (23:06 -0700)]
[PATCH] mark LOOP_CHANGE_FD as an ULONG compat ioctl

LOOP_CHANGE_FD is an ULONG compatible ioctl, basically same calling
convention as LOOP_SET_FD; mark it as such in the compat ioctl list.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] awe_wave (OSS): too much __exit
Randy Dunlap [Mon, 23 Aug 2004 06:05:59 +0000 (23:05 -0700)]
[PATCH] awe_wave (OSS): too much __exit

'make buildcheck' indicates that these functions should not be in an __exit
section, so undo that.  Yes, they can be called from .text.

Signed-off-by: Randy Dunlap <rddunlap@osdl.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fix might-sleep-in-atomic while dumping elf
Zou Nanhai [Mon, 23 Aug 2004 06:05:48 +0000 (23:05 -0700)]
[PATCH] fix might-sleep-in-atomic while dumping elf

Here is a patch to fix a problem of might-sleep-in-atomic which David
Mosberger mentioned at
http://www.gelato.unsw.edu.au/linux-ia64/0407/10526.html

On IA64 platform, a might-sleep-in-atomic warning raise while dumping a
multi-thread process.  That is because elf_core_dump holds the tasklist_lock
before the kernel does a access_process_vm in elf_core_copy_task_regs,

This patch detached elf_core_copy_task_regs function from inside
tasklist_lock to remove the warning.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fix compiling oldconfig with gcc-3.5
Thierry Vignaud [Mon, 23 Aug 2004 06:05:36 +0000 (23:05 -0700)]
[PATCH] fix compiling oldconfig with gcc-3.5

fix compiling oldconfig with gcc-3.5:

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] aio.c: rename 'struct timeout' to 'struct aio_timeout'
Iñaky Pérez-González [Mon, 23 Aug 2004 06:05:25 +0000 (23:05 -0700)]
[PATCH] aio.c: rename 'struct timeout' to 'struct aio_timeout'

This patch renames fs/aio.c:'struct timeout' to 'struct aio_timeout'.  The
rationale behind this decision is this type is used only inside the
aforementioned aio.c file and being the type name very generic, it is
likely to cause namespace conflicts in the future.

I actually found it while working on an extended schedule_timeout()- like
API used by robust mutexes but usable by anyone.  There I declared a
'struct timeout' and aio.c complained about it.  I could have also renamed
the struct for the schedule_timeout() like API, but being the aio.c one
specific to the file, I thought it might make more sense to rename the
later.

Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix netpoll cleanup on abort without dev
Matt Mackall [Mon, 23 Aug 2004 06:05:13 +0000 (23:05 -0700)]
[PATCH] Fix netpoll cleanup on abort without dev

If netpoll attempts to use a device without polling support, it will oops
when shutting down.  This adds a check that we've actually attached to a
device.

Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] IS_ERR() unlikeliness cleanup
Andrew Morton [Mon, 23 Aug 2004 06:05:01 +0000 (23:05 -0700)]
[PATCH] IS_ERR() unlikeliness cleanup

Remove now-unneeded open-coded unlikelies around IS_ERR().

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] mark IS_ERR as unlikely()
Andrew Morton [Mon, 23 Aug 2004 06:04:49 +0000 (23:04 -0700)]
[PATCH] mark IS_ERR as unlikely()

It seems fair to assume that it is always unlikely that IS_ERR will return
true.

This patch changes the gcc-3.4-generated kernel text by ~500 bytes (less) so
it's fair to assume that the compiler is indeed propagating unlikeliness out
of inline functions.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] DIO pages-in-io accounting fix
Badari Pulavarty [Mon, 23 Aug 2004 06:04:37 +0000 (23:04 -0700)]
[PATCH] DIO pages-in-io accounting fix

I found one more accounting inconsistency with dio_pages_in_io.  This is a
day-one bug and I started hitting it on latest -mm due to the recent
changes to dio_pages_in_io calculations to be exact.

If the file is badly fragmented (no contiguous blocks at all), and the user
buffer is not page aligned - we need to create IO for each disk block with
2 pages.  (bio with 2 vecs).

dio_bio_add_page() should not decrement dio_pages_in_io for every add page.
 It should only decrement, it only if its done with that page and moving on
to next page.  (since dio_pages_in_io represent how many actual pages we
are operating on).

Here is the patch to fix this accounting.  Without this patch, we will hit
BUG() in dio_new_bio() with O_DIRECT on filesystems.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] direct-io: size the BIOs more accurately
Badari Pulavarty [Mon, 23 Aug 2004 06:04:26 +0000 (23:04 -0700)]
[PATCH] direct-io: size the BIOs more accurately

We're being lazy when calculating the size of the needed BIO, allocating
two extra pages to cope with funny alignments.

Change that to be exact, thus allocating smaller BIOs someties.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] IPMI driver updates
Corey Minyard [Mon, 23 Aug 2004 06:04:14 +0000 (23:04 -0700)]
[PATCH] IPMI driver updates

Some people found some bugs and some missing functions in the IPMI driver,
so I have patching things together for the next release.  The attached
patch moves to version 33 of the driver and contains:

* SMBIOS table support for specifying register spacing.  This allows
  non-contiguous registers to be specified and some machines do
  this.
* ACPI table updates to support all the possible register sizes and
  bit offsets into the registers for the IPMI information.
* Support for command line parameters to specify register
  spacing, sizes, and bit offsets.
* Support for power control with IPMI.  This allows a halt to
  power down a machine with IPMI.
* A fix for a race condition with interrupts enabled on an
  SMP machine.  A lock was released then reclaimed, but
  there was code later that assumed that had not happened.
* A fix for protecting the driver against bad responses from
  the controller chip.  In the past, the driver had assumed that
  the controller chip would not give it bad data.  This has
  turned out to be a bad assumption
* ACPI interrupt handlers now return a return value, adjust
  accordingly.

Thank you to all the people who helped me with this.

Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] IPMI Watchdog handling updates
Corey Minyard [Mon, 23 Aug 2004 06:04:02 +0000 (23:04 -0700)]
[PATCH] IPMI Watchdog handling updates

Makes the IPMI watchdog more consistent with the other watchdog drivers.

I have tested this and it seems to work correctly.  I also added docs for
the interface change.

- support disabling watchdog by writing 'V' to device.
- unify printk()
- use atomic bit operations on ipmi_wdog_open

Signed-off-by: Arkadiusz Miskiewicz <arekm@pld-linux.org>
Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] nbd: fix struct request race condition
Paul Clements [Mon, 23 Aug 2004 06:03:50 +0000 (23:03 -0700)]
[PATCH] nbd: fix struct request race condition

Here's a patch to fix a race condition in nbd that was causing struct
request corruption (requests were being freed while still in use).  This
patch improves on the previous one, which admittedly was a bit dodgy, using
struct request's ref_count field (I should have listened to Jens in the
first place :).  This should fix all the corner cases related to struct
request usage/freeing in nbd.  My stress tests do a lot better with this
patch applied.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] sparc: remove undefined symbol
William Lee Irwin III [Mon, 23 Aug 2004 06:03:39 +0000 (23:03 -0700)]
[PATCH] sparc: remove undefined symbol

Nuke the real undefined symbol in sparc32.  This is the only real hit from
ldchk on sparc32; the rest are all btfixup-related (Sam Ravnborg and I are
working on addressing that).

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] kill UDF registration/unregistration messages
Sean Neakums [Mon, 23 Aug 2004 06:03:27 +0000 (23:03 -0700)]
[PATCH] kill UDF registration/unregistration messages

This patch kills two printks from UDF that announce its registration and
unregistration.  Since one can determine which filesystems are present by
examining /proc/filesystems, these messages strike me as noise.

Signed-off-by: Sean Neakums <sneakums@zork.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] new device driver to enable the IBM Multiport Serial Adapter
Janice M. Girouard [Mon, 23 Aug 2004 06:03:16 +0000 (23:03 -0700)]
[PATCH] new device driver to enable the IBM Multiport Serial Adapter

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] cdrom event notification fixes
Jens Axboe [Mon, 23 Aug 2004 06:03:04 +0000 (23:03 -0700)]
[PATCH] cdrom event notification fixes

A few fixes related to cdrom media event notification.  These are from
Alexander Kern <alex.kern@gmx.de>

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] knfsd: fix server permission handling
Neil Brown [Mon, 23 Aug 2004 06:02:52 +0000 (23:02 -0700)]
[PATCH] knfsd: fix server permission handling

Fix a problem wherein device nodes on a ro-exported mount cannot be opened
read/write.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] kNFSd: fix race with flushing nfsd cache.
Neil Brown [Mon, 23 Aug 2004 06:02:41 +0000 (23:02 -0700)]
[PATCH] kNFSd: fix race with flushing nfsd cache.

To purge an nfsd-authentication cache, we set the flush time to later than
last-refresh time in the cache and call cache_flush.  The easiest way to
find 'later than last-refresh' is 'now+1'.

This has two problems.

  1/ if the time-of-day clock has gone bacwards, some entries might not
     be purged
  2/ if a new entry is added in the same second as cache_purge ran, it will
     get ignored.

To resolve these issues, we set the flushtime to the maximum possible time
before calling cache_flush, and then set it back to the minimum time
afterwards.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] kNFSd: fix two xdr-encode bugs for readdirplus reply
Neil Brown [Mon, 23 Aug 2004 06:02:30 +0000 (23:02 -0700)]
[PATCH] kNFSd: fix two xdr-encode bugs for readdirplus reply

More fall-out from the change to allow multi-page replies to readdir
requests.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] kNFSd: minor memory leak fix.
Neil Brown [Mon, 23 Aug 2004 06:02:18 +0000 (23:02 -0700)]
[PATCH] kNFSd: minor memory leak fix.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] kNFSd: get rid of open_private_file
Neil Brown [Mon, 23 Aug 2004 06:02:07 +0000 (23:02 -0700)]
[PATCH] kNFSd: get rid of open_private_file

This is only used by nfsd to save one kmalloc, and the code is not always
kept up-to-date with dentry_open, so just get rid of it.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] kNFSd: fix brokenness with fsid= export option
Bruce Allan [Mon, 23 Aug 2004 06:01:55 +0000 (23:01 -0700)]
[PATCH] kNFSd: fix brokenness with fsid= export option

Bruce Allan says:
The user-specified fsid= export option still doesn't work after the
changes made 5 months ago.  Below is a patch against 2.6.7 through
the recent 2.6.8-rc2-bk13.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] nfsd: ACL support for the NFSv4 server
Neil Brown [Mon, 23 Aug 2004 06:01:43 +0000 (23:01 -0700)]
[PATCH] nfsd: ACL support for the NFSv4 server

Server-side support for the limited portion of the NFSv4 ACL protocol necessary
to support POSIX ACLs.  Will return an error on an attempt to set any ACL that
doesn't map to a POSIX ACL.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] nfsd: POSIX<->NFSv4 acl translation for nfsd
Neil Brown [Mon, 23 Aug 2004 06:01:32 +0000 (23:01 -0700)]
[PATCH] nfsd: POSIX<->NFSv4 acl translation for nfsd

Code to translate between Linux's POSIX ACLs and NFSv4 ACLs.  Since NFSv4 ACLs
are fundamentally richer, we are able to translate any POSIX ACL to NFSv4, but
can only map NFSv4 ACLs that follow a certain format; see
http://www.citi.umich.edu/u/marius/draft-eriksen-nfsv4-acl-02.txt for details
of the mapping.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] nfsd: basic v4 ACL definitions
Neil Brown [Mon, 23 Aug 2004 06:01:20 +0000 (23:01 -0700)]
[PATCH] nfsd: basic v4 ACL definitions

Basic v4 acl definitions, to be used by server ACL implementation

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] nfsd: fix ip_map cache reference count leak.
Neil Brown [Mon, 23 Aug 2004 06:01:08 +0000 (23:01 -0700)]
[PATCH] nfsd: fix ip_map cache reference count leak.

Fix a leak: when auth_unix_lookup sets CACHE_NEGATIVE, it should also
auth_domain_put() the reference it holds in ipm->m_client, since setting
CACHE_NEGATIVE prevents ip_map_put() from putting the reference itself.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] nfsd: simplify auth_domain_lookup
Neil Brown [Mon, 23 Aug 2004 06:00:59 +0000 (23:00 -0700)]
[PATCH] nfsd: simplify auth_domain_lookup

The interface between the auth_domain and the cache code is messy; the
auth_domain code is the only real user of the full 11-argument
DefineCacheLookup, and does weird stuff with it (like passing in through one
of the arguments a bit of code with a conditional return).

We could further parametrize DefineCacheLookup, but I think it's already too
complicated.

My solution is to just ignore DefineCacheLookup and write the
auth_domain_lookup function from scratch.  It's actually a pretty short
function (much simpler than DefineCacheLookup itself), and it's much easier to
read this short function than it is to read some special-cased
DefineCacheLookup to verify that it does what it says it does....

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] nfsd: make cache_init initialize reference count to 1
Neil Brown [Mon, 23 Aug 2004 06:00:47 +0000 (23:00 -0700)]
[PATCH] nfsd: make cache_init initialize reference count to 1

Presumably anyone creating a new cache entry is going to want a reference on
that cache; and indeed every caller of cache_init increments the reference
count immediately afterwards.  So may as well make cache_init set an initial
reference count of 1.

Also, note that cache_init initializes the flags; callers don't need to.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] nfsd: nfsd is missing a put_group_info in the auth_null
Neil Brown [Mon, 23 Aug 2004 06:00:36 +0000 (23:00 -0700)]
[PATCH] nfsd: nfsd is missing a put_group_info in the auth_null

nfsd is missing a put_group_info in the auth_null case.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] nfsd: force server-side TCP when NFSv4 enabled
Neil Brown [Mon, 23 Aug 2004 06:00:24 +0000 (23:00 -0700)]
[PATCH] nfsd: force server-side TCP when NFSv4 enabled

NFSv4 should really run over TCP, and clients will expect that; so there's no
point letting people build kernels that support NFSv4 without also supporting
server-side TCP.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Concurrent O_SYNC write support
Andrew Morton [Mon, 23 Aug 2004 06:00:13 +0000 (23:00 -0700)]
[PATCH] Concurrent O_SYNC write support

In databases it is common to have multiple threads or processes performing
O_SYNC writes against different parts of the same file.

Our performance at this is poor, because each writer blocks access to the
file by waiting on I/O completion while holding i_sem: everything is
serialised.

The patch improves things by moving the writing and waiting outside i_sem.
So other threads can get in and submit their I/O and permit the disk
scheduler to optimise the IO patterns better.

Also, the O_SYNC writer only writes and waits on the pages which he wrote,
rather than writing and waiting on all dirty pages in the file.

The reason we haven't been able to do this before is that the required walk
of the address_space page lists is easily livelockable without the i_sem
serialisation.  But in this patch we perform the waiting via a radix-tree
walk of the affected pages.  This cannot be livelocked.

The sync of the inode's metadata is still performed inside i_sem.  This is
because it is list-based and is hence still livelockable.  However it is
usually the case that databases are overwriting existing file blocks and
there will be no dirty buffers attached to the address_space anyway.

The code is careful to ensure that the IO for the pages and the IO for the
metadata are nonblockingly scheduled at the same time.  This is am improvemtn
over the current code, which will issue two separate write-and-wait cycles:
one for metadata, one for pages.

Note from Suparna:
Reworked to use the tagged radix-tree based writeback infrastructure.

Signed-off-by: Suparna Bhattacharya <suparna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] filemap_fdatawrite range interface
Suparna Bhattacharya [Mon, 23 Aug 2004 06:00:01 +0000 (23:00 -0700)]
[PATCH] filemap_fdatawrite range interface

Range based equivalent of filemap_fdatawrite for O_SYNC writers (to go with
writepages range support added to mpage_writepages).  If both <start> and
<end> are zero, then it defaults to writing back all of the mapping's dirty
pages.

Signed-off-by: Suparna Bhattacharya <suparna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] mpage writepages range limit fix
Suparna Bhattacharya [Mon, 23 Aug 2004 05:59:50 +0000 (22:59 -0700)]
[PATCH] mpage writepages range limit fix

Safeguard to make sure we break out of pagevec_lookup_tag loop if we are
beyond the specified range.

Signed-off-by: Suparna Bhattacharya <suparna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix writeback page range to use exact limits
Suparna Bhattacharya [Mon, 23 Aug 2004 05:59:38 +0000 (22:59 -0700)]
[PATCH] Fix writeback page range to use exact limits

wait_on_page_writeback_range shouldn't wait for pages beyond the specified
range.  Ideally, the radix-tree-lookup could accept an end_index parameter so
that it doesn't return the extra pages in the first place, but for now we just
add a few extra checks to skip such pages.

Signed-off-by: Suparna Bhattacharya <suparna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Writeback page range hint
Andrew Morton [Mon, 23 Aug 2004 05:59:27 +0000 (22:59 -0700)]
[PATCH] Writeback page range hint

Modify mpage_writepages to optionally only write back dirty pages within a
specified range in a file (as in the case of O_SYNC).  Cheat a little to avoid
changes to prototypes of aops - just put the <start, end> hint into the
writeback_control struct instead.  If <start, end> are not set, then default
to writing back all the mapping's dirty pages.

Signed-off-by: Suparna Bhattacharya <suparna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] token based thrashing control
Rik van Riel [Mon, 23 Aug 2004 05:59:16 +0000 (22:59 -0700)]
[PATCH] token based thrashing control

The following experimental patch implements token based thrashing
protection, using the algorithm described in:

http://www.cs.wm.edu/~sjiang/token.htm

When there are pageins going on, a task can grab a token, that protects the
task from pageout (except by itself) until it is no longer doing heavy
pageins, or until the maximum hold time of the token is over.

If the maximum hold time is exceeded, the task isn't eligable to hold the
token for a while more, since it wasn't doing it much good anyway.

I have run a very unscientific benchmark on my system to test the
effectiveness of the patch, timing how a 230MB two-process qsbench run
takes, with and without the token thrashing protection present.

normal 2.6.8-rc6: 6m45s
2.6.8-rc6 + token: 4m24s

This is a quick hack, implemented without having talked to the inventor of
the algorithm.  He's copied on the mail and I suspect we'll be able to do
better than my quick implementation ...

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] alpha: print the symbol of pc and ra during Oops
Aneesh Kumar [Mon, 23 Aug 2004 05:59:03 +0000 (22:59 -0700)]
[PATCH] alpha: print the symbol of pc and ra during Oops

The below patch add the symbol information of the pc and ra to the Oops
message.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] rcu: abstracted RCU dereferencing
Dipankar Sarma [Mon, 23 Aug 2004 05:58:51 +0000 (22:58 -0700)]
[PATCH] rcu: abstracted RCU dereferencing

Use abstracted RCU API to dereference RCU protected data.  Hides barrier
details.  Patch from Paul McKenney.

This patch introduced an rcu_dereference() macro that replaces most uses of
smp_read_barrier_depends().  The new macro has the advantage of explicitly
documenting which pointers are protected by RCU -- in contrast, it is
sometimes difficult to figure out which pointer is being protected by a given
smp_read_barrier_depends() call.

Signed-off-by: Paul McKenney <paulmck@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] rcu: document RCU api
Dipankar Sarma [Mon, 23 Aug 2004 05:58:39 +0000 (22:58 -0700)]
[PATCH] rcu: document RCU api

Patch from Paul for additional documentation of api.

Updated based on feedback, and to apply to 2.6.8-rc3.  I will be adding more
detailed documentation to the Documentation directory in a separate patch.

Signed-off-by: Paul McKenney <paulmck@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] rcu: use call_rcu_bh() in route cache
Dipankar Sarma [Mon, 23 Aug 2004 05:58:28 +0000 (22:58 -0700)]
[PATCH] rcu: use call_rcu_bh() in route cache

Use call_rcu_bh() in route cache.  This allows faster grace periods and avoids
dst cache overflows during DoS testing.

This patch uses the call_rcu_bh() api in route cache code to facilitate
quicker RCU grace periods.  Quicker grace periods avoid overflow of dst cache
in heavily loaded routers as seen in Robert Olsson's testing.

Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] rcu: introduce call_rcu_bh()
Dipankar Sarma [Mon, 23 Aug 2004 05:58:16 +0000 (22:58 -0700)]
[PATCH] rcu: introduce call_rcu_bh()

Introduces call_rcu_bh() to be used when critical sections are mostly in
softirq context.

This patch introduces a new api - call_rcu_bh().  This is to be used for RCU
callbacks for whom the critical sections are mostly in softirq context.  These
callbacks consider completion of a softirq handler to be a quiescent state.
So, in order to make reader critical sections safe in process context,
rcu_read_lock_bh() and rcu_read_unlock_bh() must be used.  Use of softirq
handler completion as a quiescent state speeds up RCU grace periods and
prevents too many callbacks getting queued up in softirq-heavy workloads like
network stack.

Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] rcu: fix spaces in rcupdate.h
Dipankar Sarma [Mon, 23 Aug 2004 05:58:04 +0000 (22:58 -0700)]
[PATCH] rcu: fix spaces in rcupdate.h

Somehow spaces replaced tabs in rcupdate.h and I would like to keep
everything clean.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] rcu: clean up code
Dipankar Sarma [Mon, 23 Aug 2004 05:57:53 +0000 (22:57 -0700)]
[PATCH] rcu: clean up code

Avoids per_cpu calculations and also prepares for call_rcu_bh().

At OLS, Rusty had suggested getting rid of many per_cpu() calculations in RCU
code and making the code simpler.  I had already done that for the rcu-softirq
patch earlier, so I am splitting that into two patch.  This first patch cleans
up the macros and uses pointers to the rcu per-cpu data directly to manipulate
the callback queues.  This is useful for the call-rcu-bh patch (to follow)
which introduces a new RCU mechanism - call_rcu_bh().  Both generic and
softirq rcu can then use the same code, they work different global and percpu
data.

Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] RCU: low latency rcu
Dipankar Sarma [Mon, 23 Aug 2004 05:57:42 +0000 (22:57 -0700)]
[PATCH] RCU: low latency rcu

This patch makes RCU callbacks friendly to scheduler.  It helps low latency
by limiting the number of callbacks invoked per tasklet handler.  Since we
cannot schedule during a single softirq handler, this reduces size of
non-preemptible section significantly, specially under heavy RCU updates.
The limiting is done through a kernel parameter rcupdate.maxbatch which is
the maximum number of RCU callbacks to invoke during a single tasklet
handler.

Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] RCU - cpu offline fix
Dipankar Sarma [Mon, 23 Aug 2004 05:57:30 +0000 (22:57 -0700)]
[PATCH] RCU - cpu offline fix

This fixes the RCU cpu offline code which was broken by singly-linked RCU
changes.  Nathan pointed out the problems and submitted a patch for this.
This is an optimal fix - no need to iterate through the list of callbacks,
just use the tail pointers and attach the list from the dead cpu.

Signed-off-by: Nathan Lynch <nathanl@austin.ibm.com>
Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] RCU - cpu-offline-cleanup
Dipankar Sarma [Mon, 23 Aug 2004 05:57:19 +0000 (22:57 -0700)]
[PATCH] RCU - cpu-offline-cleanup

There is a series of patches in my tree and these 3 are the first ones that
should probably be merged down the road.  Descriptions are on top of the
patches.  Please include them in -mm.

A lot of RCU code will be cleaned up later in order to support
call_rcu_bh(), the separate RCU interface that considers softirq handler
completion a quiescent state.

This patch:

Minor cleanup of the hotplug code to remove #ifdef in cpu event notifier
handler.  If CONFIG_HOTPLUG_CPU is not defined, CPU_DEAD case will be
optimized off.

Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] prio_tree: iterator + vma_prio_tree_next cleanup
Rajesh Venkatasubramanian [Mon, 23 Aug 2004 05:57:07 +0000 (22:57 -0700)]
[PATCH] prio_tree: iterator + vma_prio_tree_next cleanup

Currently we have:

while ((vma = vma_prio_tree_next(vma, root, &iter,
                                        begin, end)) != NULL)
do_something_with(vma);

Then iter,root,begin,end are all transfered unchanged to various functions.
 This patch hides them in struct iter instead.

It slightly lessens source, code size, and stack usage.  Patch compiles and
tested lightly.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Rajesh Venkatasubramanian <vrajesh@umich.edu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>