27 Jan, 2011
12 commits
-
All architecture specific rwsem headers carry the same function
prototypes. Just x86 adds asmregparm, which is an empty define on all
other architectures. S390 has a stale rwsem_downgrade_write()
prototype.Remove the duplicates and add the prototypes to linux/rwsem.h
Signed-off-by: Thomas Gleixner
Cc: Peter Zijlstra
Cc: David Howells
Cc: Benjamin Herrenschmidt
Cc: Richard Henderson
Acked-by: Tony Luck
Acked-by: Heiko Carstens
Cc: Paul Mundt
Acked-by: David Miller
Cc: Chris Zankel
LKML-Reference:
Signed-off-by: Thomas Gleixner -
Instead of having the same implementation in each architecture, move
it to linux/rwsem.h and remove the duplicates. It's unlikely that an
arch will ever implement something different, but we can deal with
that when it happens.Signed-off-by: Thomas Gleixner
Cc: Peter Zijlstra
Cc: David Howells
Cc: Benjamin Herrenschmidt
Cc: Matt Turner
Acked-by: Tony Luck
Acked-by: Heiko Carstens
Cc: Paul Mundt
Acked-by: David Miller
Cc: Chris Zankel
LKML-Reference:
Signed-off-by: Thomas Gleixner -
The rwsem initializers and related macros and functions are mostly the
same. Some of them lack the lockdep initializer, but having it in
place does not matter for architectures which do not support lockdep.powerpc, sparc, x86: No functional change
sh, s390: Removes the duplicate init_rwsem (inline and #define)
alpha, ia64, xtensa: Use the lockdep capable init function in
lib/rwsem.c which is just uninlining the init
function for the LOCKDEP=n caseSigned-off-by: Thomas Gleixner
Cc: Peter Zijlstra
Cc: David Howells
Cc: Benjamin Herrenschmidt
Cc: Matt Turner
Acked-by: Tony Luck
Acked-by: Heiko Carstens
Cc: Paul Mundt
Acked-by: David Miller
Cc: Chris Zankel
LKML-Reference: -
The difference between these declarations is the data type of the
count member and the lack of lockdep in some architectures/long is equivivalent to signed long and the #ifdef guarded dep_map
member does not hurt anyone.Signed-off-by: Thomas Gleixner
Cc: Peter Zijlstra
Cc: David Howells
Cc: Benjamin Herrenschmidt
Cc: Matt Turner
Acked-by: Tony Luck
Acked-by: Heiko Carstens
Cc: Paul Mundt
Acked-by: David Miller
Cc: Chris Zankel
LKML-Reference:
Signed-off-by: Thomas Gleixner -
Remove the typedef which has no real reason to be there.
Signed-off-by: Thomas Gleixner
Cc: Peter Zijlstra
Cc: David Howells
Cc: Benjamin Herrenschmidt
Cc: Matt Turner
Cc: Tony Luck
Cc: Heiko Carstens
Cc: Paul Mundt
Cc: David Miller
Cc: Chris Zankel
LKML-Reference: -
All rwsem implementations include the same headers. Include them from
include/linux/rwsem.hSigned-off-by: Thomas Gleixner
Cc: Peter Zijlstra
Cc: David Howells
Cc: Benjamin Herrenschmidt
Cc: Matt Turner
Acked-by: Tony Luck
Acked-by: Heiko Carstens
Cc: Paul Mundt
Acked-by: David Miller
Cc: Chris Zankel
LKML-Reference: -
SPIN_LOCK_UNLOCK is deprecated. Use the lockdep capable variant
instead.Signed-off-by: Thomas Gleixner
Cc: Chris Zankel -
SPIN_LOCK_UNLOCK is deprecated. Use the lockdep capable variant
instead.Signed-off-by: Thomas Gleixner
Cc: Jeff Dike -
SPIN_LOCK_UNLOCK is deprecated. Use the lockdep capable variant
instead.Signed-off-by: Thomas Gleixner
Acked-by: David S. Miller -
SPIN_LOCK_UNLOCK is deprecated. Use the lockdep capable variant
instead.Signed-off-by: Thomas Gleixner
Cc: Ralf Baechle -
SPIN_LOCK_UNLOCK is deprecated. Use the lockdep capable variant
instead.Signed-off-by: Thomas Gleixner
Cc: Jesper Nilsson -
SPIN_LOCK_UNLOCK is deprecated. Use the lockdep capable variant
instead.Signed-off-by: Thomas Gleixner
Cc: Matt Turner
22 Jan, 2011
6 commits
-
* 'fixes-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
x86,percpu: Move out of place 64 bit ops into X86_64 section -
…l/git/tip/linux-2.6-tip
* 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (37 commits)
um: Use generic irq Kconfig
tile: Use generic irq Kconfig
sparc: Use generic irq Kconfig
score: Use generic irq Kconfig
powerpc: Use generic irq Kconfig
parisc: Use generic irq Kconfig
mn10300: Use generic irq Kconfig
microblaze: Use generic irq Kconfig
m68knommu: Use generic irq Kconfig
ia64: Use generic irq Kconfig
frv: Use generic irq Kconfig
blackfin: Use generic irq Kconfig
alpha: Use generic irq Kconfig
genirq: Remove __do_IRQ
m32r: Convert to generic irq Kconfig
m32r: Convert usrv platform irq handling
m32r: Convert opsput_lcdpld irq chip
m32r: Convert opsput lanpld irq chip
m32r: Convert opsput pld irq chip
m32r: Convert opsput irq chip
... -
* 'stable/bug-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
xen: p2m: correctly initialize partial p2m leaf
xen: fix non-ANSI function warning in irq.c -
* 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6:
powerpc/83xx: fix build failures on dt compatible list. -
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (34 commits)
powerpc/mpic: Fix mask/unmask timeout message
powerpc/pseries: Add BNX2=m to defconfig
powerpc: Enable 64kB pages and 1024 threads in pseries config
powerpc: Disable mcount tracers in pseries defconfig
powerpc/boot/dts: Install dts from the right directory
powerpc: machine_check_generic is wrong on 64bit
powerpc: Check RTAS extended log flag before checking length
powerpc: Fix corruption when grabbing FWNMI data
powerpc: Rework pseries machine check handler
powerpc: Don't silently handle machine checks from userspace
powerpc: Remove duplicate debugger hook in machine_check_exception
powerpc: Never halt RTAS error logging after receiving an unrecoverable machine check
powerpc: Don't force MSR_RI in machine_check_exception
powerpc: Print 32 bits of DSISR in show_regs
powerpc/kdump: Disable ftrace during kexec
powerpc/kdump: Move crash_kexec_stop_spus to kdump crash handler
powerpc/kexec: Remove empty ppc_md.machine_kexec_prepare
powerpc/kexec: Don't initialise kexec hooks to default handlers
powerpc/kdump: Remove ppc_md.machine_crash_shutdown
powerpc/kexec: Remove ppc_md.machine_kexec
... -
After changing the p2m mapping to a tree by
commit 58e05027b530ff081ecea68e38de8d59db8f87e0
xen: convert p2m to a 3 level treeand trying to boot a DomU with 615MB of memory, the following crash was
observed in the dump:kernel direct mapping tables up to 26f00000 @ 1ec4000-1fff000
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [] xen_set_pte+0x27/0x60
*pdpt = 0000000000000000 *pde = 0000000000000000Adding further debug statements showed that when trying to set up
pfn=0x26700 the returned mapping was invalid.pfn=0x266ff calling set_pte(0xc1fe77f8, 0x6b3003)
pfn=0x26700 calling set_pte(0xc1fe7800, 0x3)Although the last_pfn obtained from the startup info is 0x26700, which
should in turn not be hit, the additional 8MB which are added as extra
memory normally seem to be ok. This lead to looking into the initial
p2m tree construction, which uses the smaller value and assuming that
there is other code handling the extra memory.When the p2m tree is set up, the leaves are directly pointed to the
array which the domain builder set up. But if the mapping is not on a
boundary that fits into one p2m page, this will result in the last leaf
being only partially valid. And as the invalid entries are not
initialized in that case, things go badly wrong.I am trying to fix that by checking whether the current leaf is a
complete map and if not, allocate a completely new page and copy only
the valid pointers there. This may not be the most efficient or elegant
solution, but at least it seems to allow me booting DomUs with memory
assignments all over the range.BugLink: http://bugs.launchpad.net/bugs/686692
[v2: Redid a bit of commit wording and fixed a compile warning]Signed-off-by: Stefan Bader
Signed-off-by: Konrad Rzeszutek Wilk
21 Jan, 2011
22 commits
-
No functional change.
Signed-off-by: Thomas Gleixner
Cc: Andrew Morton
Cc: Jeff Dike -
No functional change.
Signed-off-by: Thomas Gleixner
Acked-by: Chris Metcalf -
No functional change.
Signed-off-by: Thomas Gleixner
Acked-by: "David S. Miller" -
No functional change
Signed-off-by: Thomas Gleixner
Acked-by: Chen Liqin -
No functional change.
Signed-off-by: Thomas Gleixner
Cc: Benjamin Herrenschmidt -
No functional change.
Signed-off-by: Thomas Gleixner
Cc: Kyle McMartin
Acked-by: James Bottomley -
No functional change.
Signed-off-by: Thomas Gleixner
Acked-by: David Howells -
No functional change.
Signed-off-by: Thomas Gleixner
Acked-by: Michal Simek -
No functional change.
Signed-off-by: Thomas Gleixner
Cc: Greg Ungerer -
No functional change.
Signed-off-by: Thomas Gleixner
Acked-by: Tony Luck -
No functional change.
Signed-off-by: Thomas Gleixner
Acked-by: David Howells -
No functional change.
Signed-off-by: Thomas Gleixner
Cc: Mike Frysinger -
Signed-off-by: Thomas Gleixner
Cc: Richard Henderson -
All architectures are finally converted. Remove the cruft.
Signed-off-by: Thomas Gleixner
Cc: Richard Henderson
Cc: Mike Frysinger
Cc: David Howells
Cc: Tony Luck
Cc: Greg Ungerer
Cc: Michal Simek
Acked-by: David Howells
Cc: Kyle McMartin
Acked-by: Benjamin Herrenschmidt
Cc: Chen Liqin
Cc: "David S. Miller"
Cc: Chris Metcalf
Cc: Jeff Dike -
Use the generic irq Kconfig. Select GENERIC_HARDIRQS_NO_DEPRECATED as
we have converted all irq_chip functions.Signed-off-by: Thomas Gleixner
Cc: Hirokazu Takata
Cc: Paul Mundt -
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.Signed-off-by: Thomas Gleixner
Cc: Hirokazu Takata
Cc: Paul Mundt -
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.Signed-off-by: Thomas Gleixner
Cc: Hirokazu Takata
Cc: Paul Mundt -
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.Signed-off-by: Thomas Gleixner
Cc: Hirokazu Takata
Cc: Paul Mundt -
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.Signed-off-by: Thomas Gleixner
Cc: Hirokazu Takata
Cc: Paul Mundt -
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.Signed-off-by: Thomas Gleixner
Cc: Hirokazu Takata
Cc: Paul Mundt -
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.Signed-off-by: Thomas Gleixner
Cc: Hirokazu Takata
Cc: Paul Mundt -
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.Signed-off-by: Thomas Gleixner
Cc: Hirokazu Takata
Cc: Paul Mundt