Commit Graph

18740 Commits

Author SHA1 Message Date
Richard Mortimer
9eb3394bf2 [SPARC64]: Eliminate race condition reading Hummingbird STICK register
Ensure a consistent value is read from the STICK register by ensuring
that both high and low are read without high changing due to a roll
over of the low register.

Various Debian/SPARC users (myself include) have noticed problems with
Hummingbird based systems. The symptoms are that the system time is
seen to jump forward 3 days, 6 hours, 11 minutes give or take a few
seconds. In many cases the system then hangs some time afterwards.

I've spotted a race condition in the code to read the STICK register.
I could not work out why 3d, 6h, 11m is important but guess that it is
due to the 2^32 jump of STICK (forwards on one read and then the next
read will seem to be backwards) during a timer interrupt. I'm guessing
that a change of -2^32 will get converted to a large unsigned
increment after the arithmetic manipulation between STICK,
nanoseconds, jiffies etc.

I did a test where I modified __hbird_read_stick to artificially
inject rollover faults forcefully every few seconds. With this I saw
the clock jump over 6 times in 12 hours compared to once every month
or so.

Signed-off-by: Richard Mortimer <richm@oldelvet.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-17 15:21:01 -08:00
Linus Torvalds
2664b25051 Linux v2.6.16-rc1 2006-01-16 23:44:47 -08:00
Linus Torvalds
fb60a9fee9 Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block 2006-01-16 23:43:11 -08:00
Alan Cox
f4caf1606d [PATCH] Remove unused code from rioctrl.c (Last for this batch of work)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:31:29 -08:00
Alan Cox
1384cee55d [PATCH] Remove rio_table.c unused code
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:31:28 -08:00
Alan Cox
542ea6c37c [PATCH] Remove unused code from rio_linux.c
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:31:28 -08:00
Alan Cox
283c9d546e [PATCH] Remove unused CHECK code from riocmd.c
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:31:28 -08:00
Alan Cox
8b03de1f66 [PATCH] Remove unused code from rioroute.h
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:31:28 -08:00
Alan Cox
f099bfb708 [PATCH] Remove unused code from rioboot.h
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:31:28 -08:00
Alan Cox
c7306c0287 [PATCH] Remove unused code from rioboot
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:31:28 -08:00
Alan Cox
a6176eeab0 [PATCH] Remove #if 0 and other long dead code from rio_tty
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:31:27 -08:00
Alan Cox
925d70d64b [PATCH] Remove long dead #if 0 code from rio_param
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:31:27 -08:00
Alan Cox
09979236d6 [PATCH] Remove old firmware headers from rio drivers
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:31:27 -08:00
Alan Cox
3918276ce5 [PATCH] Remove rtahw.h from rio driver (unused file)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:31:27 -08:00
Alan Cox
169da21f40 [PATCH] Remove file riscos.h from rio driver (unused file)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:31 -08:00
Alan Cox
a09be029bb [PATCH] Remove file riowinif.h from rio driver (unused file)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:31 -08:00
Alan Cox
69da7f9a63 [PATCH] Remove riotime.h from rio driver (unused file)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:31 -08:00
Alan Cox
8618751503 [PATCH] Remove file riolocks.h from rio driver (unused file)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:31 -08:00
Alan Cox
0d336ceb1e [PATCH] Remove proto.h from rio driver (unused file)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:30 -08:00
Alan Cox
735f88c62e [PATCH] Remove poll.h from rio driver (unused file)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:30 -08:00
Alan Cox
009c4cb8aa [PATCH] Remove mesg.h from rio driver (unused file)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:30 -08:00
Alan Cox
125ca8fb5b [PATCH] Remove mca.h from rio driver (unused file)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:30 -08:00
Alan Cox
67abbfe7de [PATCH] Remove internal firmware building files from rio
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:30 -08:00
Alan Cox
b52a90dbe6 [PATCH] Remove hosthw.h from rio (unused file)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:30 -08:00
Alan Cox
85ae2f9cab [PATCH] Remove formpkt.h from rio (unused file)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:30 -08:00
Alan Cox
bed445d41e [PATCH] Remove enable.h from rio (unused file)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:29 -08:00
Alan Cox
e67f76a6b1 [PATCH] Remove enable.h from rio driver (unused file)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:29 -08:00
Alan Cox
0d23368127 [PATCH] Remove debug.h from rio.h (unused file)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:29 -08:00
Alan Cox
4198d8c368 [PATCH] Remove data.h from rio driver (unused file)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:29 -08:00
Alan Cox
98da212f0d [PATCH] Remove chan.h from rio driver (unused file)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:29 -08:00
Alan Cox
e8a9858aa2 [PATCH] Remove cmd.h from rio driver (unused file)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:29 -08:00
Alan Cox
f504fb59c7 [PATCH] Remove brates.h from rio driver (unused file)
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:30:29 -08:00
Xose Vazquez Perez
4f4e2dc3ce [PATCH] README updated
Replace old information with newer from kernel.org

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:26:01 -08:00
Dmitry Torokhov
a462e9ff52 [PATCH] Fix compile warning in bt8xx module
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:24:10 -08:00
Ingo Molnar
ea13dbc89c [PATCH] kernel/hrtimer.c sparse warning fix
fix the following sparse warning:

 kernel/hrtimer.c:665:34: warning: incorrect type in argument 2 (different address spaces)
 kernel/hrtimer.c:665:34:    expected void const *from
 kernel/hrtimer.c:665:34:    got struct timespec [noderef] *<noident><asn:1>
 kernel/hrtimer.c:664:2: warning: dereference of noderef expression

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:21:12 -08:00
Linus Torvalds
d669af9d5a Merge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb 2006-01-16 23:20:01 -08:00
Ravikiran G Thirumalai
2ddb55f091 [PATCH] x86_64: Fix VSMP build
Patch fixes a build problem with CONFIG_X86_VSMP.  The vSMP bits probably

gathered some fuzz on its way to mainline, and safe_halt() which was outside
the #endif (CONFIG_X86_VSMP) somehow got inside the !CONFIG_X86_VSMP condition,
hence being undefined and breaking CONFIG_X86_VSMP builds.  Patch takes
safe_halt() and halt() macros out of the #endif

Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:18:35 -08:00
Matt Tolentino
c09b42404d [PATCH] x86_64: add __meminit for memory hotplug
Add __meminit to the __init lineup to ensure functions default
to __init when memory hotplug is not enabled.  Replace __devinit
with __meminit on functions that were changed when the memory
hotplug code was introduced.

Signed-off-by: Matt Tolentino <matthew.e.tolentino@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:18:35 -08:00
Matt Tolentino
44df75e629 [PATCH] x86_64: add x86-64 support for memory hot-add
Add x86-64 specific memory hot-add functions, Kconfig options,
and runtime kernel page table update functions to make
hot-add usable on x86-64 machines.  Also, fixup the nefarious
conditional locking and exports pointed out by Andi.

Tested on Intel and IBM x86-64 memory hot-add capable systems.

Signed-off-by: Matt Tolentino <matthew.e.tolentino@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:18:35 -08:00
Andi Kleen
8817210d4d [PATCH] x86_64: Flexmap for 32bit and randomized mappings for 64bit
Another try at this.

For 32bit follow the 32bit implementation from Ingo -
mappings are growing down from the end of stack now
and vary randomly by 1GB.

Randomized mappings for 64bit just vary the normal mmap break
by 1TB. I didn't bother implementing full flex mmap for 64bit
because it shouldn't be needed there.

Cc: mingo@elte.hu

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:18:35 -08:00
Andi Kleen
562795fe57 [PATCH] x86_64: Remove elf32_map in 32bit ELF loader
It's identical to the standard elf_map.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:18:35 -08:00
Jan Beulich
f0cf5d1a34 [PATCH] x86_64: eliminate empty_bad_{page,{pte,pmd}_table}
... as they are no longer needed. Since there were hard-coded numbers in the
file, the patch also adds a mechanism to avoid these (otherwise potential
future changes would again and again require adjusting these numbers).

Signed-Off-By: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:18:35 -08:00
Andi Kleen
0addb142af [PATCH] x86_64: Update defconfig
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:18:34 -08:00
NeilBrown
17115e0388 [PATCH] md: Clear clevel whenever level is set.
The 'level' of an md array can be set as either a number of a string.  When
one is set, the other must be marked 'undefined'.  This wasn't being done
in one place: where new arrays are created.

Result: if md1 is a raid1, it is stopped and a raid5 is created there, it
might still appear to be a raid1.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:15:32 -08:00
Chuck Ebbert
4c2645830e [PATCH] elevator=as back-compatibility
As of 2.6.15 you need to use "anticipatory" instead of "as".  Fix that up
so that `elevator=as' still works.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Jens Axboe <axboe@suse.de>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:15:32 -08:00
Lennert Buytenhek
5aeebe01cb [PATCH] cs89x0: credit Dmitry Pervushin
Credit Dmitry Pervushin for the PNX010X platform support.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:15:32 -08:00
Miklos Szeredi
095da6cbb6 [PATCH] fuse: fix bitfield race
Fix race in setting bitfields of fuse_conn.  Spotted by Andrew Morton.

The two fields ->connected and ->mounted were always changed with the
fuse_lock held.  But other bitfields in the same structure were changed
without the lock.  In theory this could lead to losing the assignment of
even the ones under lock.  The chosen solution is to change these two
fields to be a full unsigned type.  The other bitfields aren't "important"
enough to warrant the extra complexity of full locking or changing them to
bitops.

For all bitfields document why they are safe wrt. concurrent
assignments.

Also make the initialization of the 'num_waiting' atomic counter explicit.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:15:31 -08:00
Miklos Szeredi
bacac382fb [PATCH] fuse: update documentation for sysfs
Add documentation for new attributes in sysfs.  Also describe the filesystem.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:15:31 -08:00
Miklos Szeredi
c1aa96a52e [PATCH] fuse: use asynchronous READ requests for readpages
This patch changes fuse_readpages() to send READ requests asynchronously.

This makes it possible for userspace filesystems to utilize the kernel
readahead logic instead of having to implement their own (resulting in double
caching).

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:15:31 -08:00
Miklos Szeredi
361b1eb55e [PATCH] fuse: READ request initialization
Add a separate function for filling in the READ request.  This will make it
possible to send asynchronous READ requests as well as synchronous ones.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:15:31 -08:00