Commit graph

71069 commits

Author SHA1 Message Date
Mingming Cao
af1e76d6b3 JBD2: jbd2 slab allocation cleanups
JBD2: Replace slab allocations with page allocations

JBD2 allocate memory for committed_data and frozen_data from slab. However
JBD2 should not pass slab pages down to the block layer. Use page allocator
pages instead. This will also prepare JBD for the large blocksize patchset.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
2007-10-17 18:49:56 -04:00
Mingming Cao
c089d490df JBD: JBD slab allocation cleanups
JBD: Replace slab allocations with page allocations

JBD allocate memory for committed_data and frozen_data from slab. However
JBD should not pass slab pages down to the block layer. Use page allocator pages instead. This will also prepare JBD for the large blocksize patchset.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
2007-10-17 18:49:56 -04:00
Linus Torvalds
d85714d81c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] fix non-numa build
2007-10-17 15:13:42 -07:00
Linus Torvalds
9d8190f87b Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
  9p: remove sysctl
  9p: fix bad kconfig cross-dependency
  9p: soften invalidation in loose_mode
  9p: attach-per-user
  9p: rename uid and gid parameters
  9p: define session flags
  9p: Make transports dynamic
2007-10-17 15:05:58 -07:00
Andrew Morton
7259888e84 [IA64] fix non-numa build
arch/ia64/kernel/machine_kexec.c: In function `arch_crash_save_vmcoreinfo':
arch/ia64/kernel/machine_kexec.c:131: error: `pgdat_list' undeclared (first use in this function)
arch/ia64/kernel/machine_kexec.c:131: error: (Each undeclared identifier is reported only once
arch/ia64/kernel/machine_kexec.c:131: error: for each function it appears in.)
arch/ia64/kernel/machine_kexec.c:134: error: `node_memblk' undeclared (first use in this function)
arch/ia64/kernel/machine_kexec.c:135: error: `NR_NODE_MEMBLKS' undeclared (first use in this function)
arch/ia64/kernel/machine_kexec.c:136: error: invalid application of `sizeof' to incomplete type `node_memblk_s'
arch/ia64/kernel/machine_kexec.c:137: error: dereferencing pointer to incomplete type
arch/ia64/kernel/machine_kexec.c:138: error: dereferencing pointer to incomplete type
make[1]: *** [arch/ia64/kernel/machine_kexec.o] Error 1

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-10-17 14:28:38 -07:00
Linus Torvalds
c2f73fd07d Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
  net: libertas sdio driver
  mmc: at91_mci: cleanup: use MCI_ERRORS
  mmc: possible leak in mmc_read_ext_csd
2007-10-17 14:12:44 -07:00
Pierre Ossman
727c26ed78 net: libertas sdio driver
Add driver for Marvell's Libertas 8385 and 8686 wifi chips.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Acked-by: Dan Williams <dcbw@redhat.com>
2007-10-17 22:51:13 +02:00
Linus Torvalds
d20ead9e86 Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86
* ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86: (114 commits)
  x86: delete vsyscall files during make clean
  kbuild: fix typo SRCARCH in find_sources
  x86: fix kernel rebuild due to vsyscall fallout
  .gitignore update for x86 arch
  x86: unify include/asm/debugreg_32/64.h
  x86: unify include/asm/unwind_32/64.h
  x86: unify include/asm/types_32/64.h
  x86: unify include/asm/tlb_32/64.h
  x86: unify include/asm/siginfo_32/64.h
  x86: unify include/asm/bug_32/64.h
  x86: unify include/asm/mman_32/64.h
  x86: unify include/asm/agp_32/64.h
  x86: unify include/asm/kdebug_32/64.h
  x86: unify include/asm/ioctls_32/64.h
  x86: unify include/asm/floppy_32/64.h
  x86: apply missing DMA/OOM prevention to floppy_32.h
  x86: unify include/asm/cache_32/64.h
  x86: unify include/asm/cache_32/64.h
  x86: unify include/asm/dmi_32/64.h
  x86: unify include/asm/delay_32/64.h
  ...
2007-10-17 13:13:16 -07:00
Sam Ravnborg
88e4d25023 x86: delete vsyscall files during make clean
make clean failed to delete a few files in
x86/kernel. This is because kbuild does not
see the correct/full kernel/Makefile.

As a workaround until the Makefiles are merged specify
the files to be deleted in the common Makefile.

Reported by Mike Galbraith <efault@gmx.de>

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Mike Galbraith <efault@gmx.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 21:56:01 +02:00
Yinghai Lu
f8bea58b6a kbuild: fix typo SRCARCH in find_sources
otherwise get the two copy file list in SRCARCH

for cscope:
C symbol: start_kernel

  File           Function            Line
0 proto.h        <global>              11 extern void start_kernel(void );
1 start_kernel.h <global>              10 extern asmlinkage void __init start_kernel(void );
2 head32.c       i386_start_kernel     37 start_kernel();
3 head32.c       i386_start_kernel     37 start_kernel();
4 head64.c       x86_64_start_kernel   85 start_kernel();
5 head64.c       x86_64_start_kernel   85 start_kernel();
6 head_32.S      options              199 cmpb $0,%cl #the first CPU calls start_kernel
7 head_32.S      options              199 cmpb $0,%cl #the first CPU calls start_kernel
8 enlighten.c    xen_start_kernel    1145 start_kernel();
9 enlighten.c    xen_start_kernel    1145 start_kernel();
a lguest.c       lguest_init         1095 start_kernel();
b main.c         start_kernel         513 asmlinkage void __init start_kernel(void )

after the patch:
C symbol: start_kernel

  File           Function            Line
0 proto.h        <global>              11 extern void start_kernel(void );
1 start_kernel.h <global>              10 extern asmlinkage void __init start_kernel(void );
2 head32.c       i386_start_kernel     37 start_kernel();
3 head64.c       x86_64_start_kernel   85 start_kernel();
4 head_32.S      options              199 cmpb $0,%cl #the first CPU calls start_kernel
5 enlighten.c    xen_start_kernel    1145 start_kernel();
6 lguest.c       lguest_init         1095 start_kernel();
7 main.c         start_kernel         513 asmlinkage void __init start_kernel(void )

Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 21:39:23 +02:00
Eric Van Hensbergen
982c37cfb6 9p: remove sysctl
A sysctl method was added to enable and disable debugging levels.  After
further review, it was decided that there are better approaches to doing this
and the sysctl methodology isn't really desirable.  This patch removes the
sysctl code from 9p.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
2007-10-17 14:35:15 -05:00
Andrew Victor
9e3866b548 mmc: at91_mci: cleanup: use MCI_ERRORS
A small MMC driver cleanup.

Use the defined AT91_MCI_ERRORS in at91_mci_completed_command() instead
of specifying all the error bits individually.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
2007-10-17 21:35:10 +02:00
Florin Malita
00cedfa67b mmc: possible leak in mmc_read_ext_csd
The exception path associated with an invalid ext_csd_struct returns
without freeing ext_csd.

Coverity CID 1909.

Signed-off-by: Florin Malita
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
2007-10-17 21:33:46 +02:00
Eric Van Hensbergen
fb0466c3ae 9p: fix bad kconfig cross-dependency
This patch moves transport dynamic registration and matching to the net
module to prevent a bad Kconfig dependency between the net and fs 9p modules.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
2007-10-17 14:31:07 -05:00
Eric Van Hensbergen
50fd801067 9p: soften invalidation in loose_mode
Loose mode in 9p utilizes the page cache without respecting coherency with
the server.  Any writes previously invaldiated the entire mapping for a file.
This patch softens the behavior to only invalidate the region of the actual
write.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
2007-10-17 14:31:07 -05:00
Latchesar Ionkov
ba17674fe0 9p: attach-per-user
The 9P2000 protocol requires the authentication and permission checks to be
done in the file server. For that reason every user that accesses the file
server tree has to authenticate and attach to the server separately.
Multiple users can share the same connection to the server.

Currently v9fs does a single attach and executes all I/O operations as a
single user. This makes using v9fs in multiuser environment unsafe as it
depends on the client doing the permission checking.

This patch improves the 9P2000 support by allowing every user to attach
separately. The patch defines three modes of access (new mount option
'access'):

- attach-per-user (access=user) (default mode for 9P2000.u)
 If a user tries to access a file served by v9fs for the first time, v9fs
 sends an attach command to the server (Tattach) specifying the user. If
 the attach succeeds, the user can access the v9fs tree.
 As there is no uname->uid (string->integer) mapping yet, this mode works
 only with the 9P2000.u dialect.

- allow only one user to access the tree (access=<uid>)
 Only the user with uid can access the v9fs tree. Other users that attempt
 to access it will get EPERM error.

- do all operations as a single user (access=any) (default for 9P2000)
 V9fs does a single attach and all operations are done as a single user.
 If this mode is selected, the v9fs behavior is identical with the current
 one.

Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
2007-10-17 14:31:07 -05:00
Latchesar Ionkov
bd32b82df9 9p: rename uid and gid parameters
Change the names of 'uid' and 'gid' parameters to the more appropriate
'dfltuid' and 'dfltgid'.  This also sets the default uid/gid to -2
(aka nfsnobody)

Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
2007-10-17 14:31:07 -05:00
Latchesar Ionkov
2405669b25 9p: define session flags
Create more general flags field in the v9fs_session_info struct and move the
'extended' flag as a bit in the flags.

Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
2007-10-17 14:31:07 -05:00
Eric Van Hensbergen
a80d923e13 9p: Make transports dynamic
This patch abstracts out the interfaces to underlying transports so that
new transports can be added as modules.  This should also allow kernel
configuration of transports without ifdef-hell.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
2007-10-17 14:31:07 -05:00
Sam Ravnborg
b381a14288 x86: fix kernel rebuild due to vsyscall fallout
Fix rebuild of kernel when there is no changes.
This happened for i386.
Using make V=2 hinted that the output files were
not assigned to targets - fixed by this patch.

Reported by: Boaz Harrosh <bharrosh@panasas.com>

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 21:19:23 +02:00
Denis V. Lunev
9e447a7f1f .gitignore update for x86 arch
This patch:
- makes .gitignore files visible to git
- makes arch/x86/kernel/vsyscall_32.lds and arch/i386/boot invisible

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 21:19:04 +02:00
Linus Torvalds
c56ec76392 Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block
* 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block:
  [BLOCK] blk_rq_map_sg() next_sg fixup
  Revert "[SCSI] Remove full sg table memset()"
2007-10-17 11:56:06 -07:00
Thomas Gleixner
21ebddd3ef x86: unify include/asm/debugreg_32/64.h
Almost identical except for the extra DR_LEN_8 and the different
DR_CONTROL_RESERVED defines.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Conflicts:

	include/asm-x86/Kbuild
2007-10-17 20:35:37 +02:00
Thomas Gleixner
3f0bde8353 x86: unify include/asm/unwind_32/64.h
32bit has an extra UNW_FP define, which does not hurt.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:32:38 +02:00
Thomas Gleixner
9d256ff51c x86: unify include/asm/types_32/64.h
Mostly the same. Make the few exceptions conditional.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Conflicts:

	include/asm-x86/types_32.h
2007-10-17 20:32:07 +02:00
Thomas Gleixner
01749f6d6d x86: unify include/asm/tlb_32/64.h
Same file, except for whitespace, comment formatting.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:26:18 +02:00
Thomas Gleixner
f16ee28854 x86: unify include/asm/siginfo_32/64.h
Same file, except for the 64bit PREAMBLE_SIZE define.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:26:17 +02:00
Thomas Gleixner
68fdc55c48 x86: unify include/asm/bug_32/64.h
Same file, except for whitespace, comment formatting and the
.long/.quad delta which can be solved by a define.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:26:16 +02:00
Thomas Gleixner
5c8eec5019 x86: unify include/asm/mman_32/64.h
Same file, except for the extra 64bit MAP_32BIT define, which does not hurt
for 32 bit compiles.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:26:15 +02:00
Thomas Gleixner
c4ac82a881 x86: unify include/asm/agp_32/64.h
The 32bit D(n) debug addon can be made exclusive for 32 bit compiles.
Otherwise all the same.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:26:13 +02:00
Thomas Gleixner
35cc46119d x86: unify include/asm/kdebug_32/64.h
The 64 bit variant has additional function prototypes which do no harm
for 32 bit.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:26:12 +02:00
Thomas Gleixner
612d26a72a x86: unify include/asm/ioctls_32/64.h
Same file, except for whitespace and comment formatting.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:26:11 +02:00
Thomas Gleixner
b515e4767f x86: unify include/asm/floppy_32/64.h
Same file, except for whitespace, comment formatting and:

32-bit: if((unsigned int) addr >= (unsigned int) high_memory)
64-bit: if((unsigned long) addr >= (unsigned long) high_memory)

where the latter can be used safely for both.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Conflicts:
	include/asm-x86/floppy_32.h
	include/asm-x86/floppy_64.h
2007-10-17 20:24:56 +02:00
Thomas Gleixner
2dc27f01ec x86: apply missing DMA/OOM prevention to floppy_32.h
commit 554d284ba9 added _GPF_NORETRY
to floppy_64.h to prevent OOM killer on floppy DMA allocations.

Apply the same to the 32 bit variant.

Found during the attempt to unify the _32/_64 variants. Seperate commit
to document the resulting code change.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:22 +02:00
Thomas Gleixner
106619c440 x86: unify include/asm/cache_32/64.h
Same file, except for whitespace, comment formatting and the two variants
of fb_is_primary_device()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:21 +02:00
Thomas Gleixner
1f7afb08a5 x86: unify include/asm/cache_32/64.h
Same file, except for whitespace, comment formatting and:

32-bit:	unsigned long *virt_addr = va;
64-bit: unsigned int *virt_addr = va;

Both can be safely replaced by:
	u32 i, *virt_addr = va;

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:19 +02:00
Thomas Gleixner
327c21bc3d x86: unify include/asm/dmi_32/64.h
Unification, so we have these things in one file.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:18 +02:00
Thomas Gleixner
f1ea05466a x86: unify include/asm/delay_32/64.h
Same file, except for whitespace, comment formatting and the extra
function prototype usc_tsc_delay() in _32.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:17 +02:00
Thomas Gleixner
9bfa23df56 x86: unify include/asm/cache_32/64.h
Same file, except for whitespace, comment formatting and the extra
defines in _64, which are conditional on VSMP anyway.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:15 +02:00
Thomas Gleixner
b2bba72c10 x86: unify include/asm/cacheflush_32/64.h
Same file, except for whitespace, comment formatting and the extra
DEBUG_PAGE_ALLOC function in _32.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:14 +02:00
Thomas Gleixner
0b4dc7c352 x86: unify include/asm/auxvec_32/64.h
Same file, except for whitespace, comment formatting and the
AT_SYSINFO define for 32bit

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:13 +02:00
Thomas Gleixner
17d36707dd x86: unify include/asm/agp_32/64.h
Same file, except for whitespace, comment formatting and the
usage of wbinvd() instead of asm volatile("wbinvd":::"memory"), which is
the same.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:12 +02:00
Thomas Gleixner
003a46cfff x86: unify some more trivial include/asm-x86/ 32/64 variants
Scripted unification.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:10 +02:00
Roland Dreier
217d115cd5 x86: merge some trivially mergeable headers
Merge errno.h, resource.h, rtc.h, sections.h, serial.h and sockios.h,
where i386 and x86_64 have no or only trivial comment/include guard
differences.

Build tested on both 32-bit and 64-bit, and booted on 64-bit.

[tglx: fixup Kbuild as well]

Signed-off-by: Roland Dreier <roland@digitalvampire.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:09 +02:00
Brian Gerst
020bd9f1c7 x86: trivial header merges
Merge 32/64-bit headers that simply redirect to asm-generic

[tglx: fixup Kbuild as well]

Signed-off-by: Brian Gerst <bgerst@didntduck.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:08 +02:00
Roland McGrath
c65916fe35 x86: vdso linker script cleanup
I can't see the reason ".  = VDSO_PRELINK + 0x900;" was ever there in
the linker script for the x86_64 vDSO.  I can't find anything that
depends on this magic offset, or that should care at all about the
particular location of of the .data section (all from vvar.c) in the
vDSO image.  If it is really desireable to place .data at 0x900, then it
should be after all the other sections so they fill in the space up to
0x900.

This removes the 0x900 magic and cleans up the output sections generally
in the vDSO linker script.  This saves a few hundred bytes in the size
of the vDSO file, bringing it back well under 4kb total so that its vma
only needs one page.

Signed-off-by: Roland McGrath <roland@redhat.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:06 +02:00
Luiz Fernando N. Capitulino
de8aacbe6a x86: convert mm_context_t semaphore to a mutex
convert mm_context_t semaphore to a mutex.

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:05 +02:00
Jan Beulich
32c464f5d9 x86: multi-byte single instruction NOPs
Add support for and use the multi-byte NOPs recently documented to be
available on all PentiumPro and later processors.

This patch only applies cleanly on top of the "x86: misc.
constifications" patch sent earlier.

[ tglx: arch/x86 adaptation ]

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

 arch/x86/kernel/alternative.c  |   23 ++++++++++++++++++++++-
 include/asm-x86/processor_32.h |   22 ++++++++++++++++++++++
 include/asm-x86/processor_64.h |   22 ++++++++++++++++++++++
 3 files changed, 66 insertions(+), 1 deletion(-)
2007-10-17 20:17:04 +02:00
Andi Kleen
c861eff88c x86: remove duplicated vsyscall nsec update
Spotted by Chuck Ebbert

[ tglx: arch/x86 adaptation ]

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:02 +02:00
Ingo Molnar
b93b6ca3bf i386: remove unnecessary code
Oleg Nesterov pointed out that the set_fs() calls in setup_frame()
and setup_rt_frame() were superfluous.

[ tglx: arch/x86 adaptation ]

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Chuck Ebbert <76306.1226@compuserve.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:17:01 +02:00