]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agomarkers: comment marker_synchronize_unregister() on data dependency
Wu Fengguang [Thu, 27 Nov 2008 08:14:44 +0000 (16:14 +0800)]
markers: comment marker_synchronize_unregister() on data dependency

Add document and comments on marker_synchronize_unregister(): it
should be called before freeing resources that the probes depend on.

Based on comments from Lai Jiangshan and Mathieu Desnoyers.

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Reviewed-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years ago[ARM] versatile: remove IRQ mask definitions
Russell King [Fri, 28 Nov 2008 15:42:42 +0000 (15:42 +0000)]
[ARM] versatile: remove IRQ mask definitions

These definitions are unused and serve no purpose with genirq.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agoMerge branch 'highmem' into devel
Russell King [Fri, 28 Nov 2008 15:39:02 +0000 (15:39 +0000)]
Merge branch 'highmem' into devel

Conflicts:

arch/arm/mach-clps7500/include/mach/memory.h

17 years ago[ARM] remove a common set of __virt_to_bus definitions
Nicolas Pitre [Sat, 6 Sep 2008 01:53:30 +0000 (21:53 -0400)]
[ARM] remove a common set of __virt_to_bus definitions

Let's provide an overridable default instead of having every machine
class define __virt_to_bus and __bus_to_virt to the same thing.  What
most platforms are using is bus_addr == phys_addr so such is the default.

One exception is ebsa110 which has no DMA what so ever, so the actual
definition is not important except only for proper compilation.  Also
added a comment about the special footbridge bus translation.

Let's also remove comments alluding to set_dma_addr which is not
(and should not) be commonly used.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] unconditionally define __virt_to_phys and __phys_to_virt
Nicolas Pitre [Fri, 5 Sep 2008 20:05:14 +0000 (16:05 -0400)]
[ARM] unconditionally define __virt_to_phys and __phys_to_virt

There is no machine class overriding this.  If non linear translations
are implemented again for some machines then this could be restored at
that time.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] remove bogus #ifdef CONFIG_HIGHMEM in show_pte()
Nicolas Pitre [Thu, 11 Sep 2008 15:52:02 +0000 (11:52 -0400)]
[ARM] remove bogus #ifdef CONFIG_HIGHMEM in show_pte()

The restriction on !CONFIG_HIGHMEM is unneeded since page tables are
currently never allocated with highmem pages, and actually disable PTE
dump whenever highmem is configured.  Let's have a dynamic test to better
describe the current limitation instead.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] prevent the vmalloc cmdline argument from eating all memory
Nicolas Pitre [Fri, 19 Sep 2008 14:43:06 +0000 (10:43 -0400)]
[ARM] prevent the vmalloc cmdline argument from eating all memory

Commit 8d5796d2ec6b5a4e7a52861144e63af438d6f8f7 allows for the vmalloc
area to be resized from the kernel cmdline.  Make sure it cannot overlap
with RAM entirely.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] mem_init() cleanups
Nicolas Pitre [Wed, 17 Sep 2008 18:50:42 +0000 (14:50 -0400)]
[ARM] mem_init() cleanups

Make free_area() arguments pfn based, and return number of freed pages.
This will simplify highmem initialization later.

Also, codepages, datapages and initpages are actually codesize, datasize
and initsize.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] split highmem into its own memory bank
Nicolas Pitre [Tue, 2 Sep 2008 15:44:21 +0000 (11:44 -0400)]
[ARM] split highmem into its own memory bank

Doing so will greatly simplify the bootmem initialization code as each
bank is therefore entirely lowmem or highmem with no crossing between
those zones.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] rationalize memory configuration code some more
Nicolas Pitre [Mon, 6 Oct 2008 17:24:40 +0000 (13:24 -0400)]
[ARM] rationalize memory configuration code some more

Currently there are two instances of struct meminfo: one in
kernel/setup.c marked __initdata, and another in mm/init.c with
permanent storage.  Let's keep only the later to directly populate
the permanent version from arm_add_memory().

Also move common validation tests between the MMU and non-MMU cases
into arm_add_memory() to remove some duplication.  Protection against
overflowing the membank array is also moved in there in order to cover
the kernel cmdline parsing path as well.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] fix a couple clear_user_highpage assembly constraints
Nicolas Pitre [Tue, 4 Nov 2008 07:42:27 +0000 (02:42 -0500)]
[ARM] fix a couple clear_user_highpage assembly constraints

In all cases the kaddr is assigned an input register even though it is
modified in the assembly code.  Let's assign a new variable to the
modified value and mark those inline asm with volatile otherwise they
get optimized away because the output variable is otherwise not used.

Also fix a few conversion errors in copypage-feroceon.c and
copypage-v4mc.c.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agoALSA: ac97 - Remove EXPERIMENTAL from CONFIG_SND_AC97_POWER_SAVE
Takashi Iwai [Fri, 28 Nov 2008 14:29:01 +0000 (15:29 +0100)]
ALSA: ac97 - Remove EXPERIMENTAL from CONFIG_SND_AC97_POWER_SAVE

It's mature enough now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Remove EXPERIMENTAL from CONFIG_SND_HDA_POWER_SAVE
Takashi Iwai [Fri, 28 Nov 2008 14:27:11 +0000 (15:27 +0100)]
ALSA: hda - Remove EXPERIMENTAL from CONFIG_SND_HDA_POWER_SAVE

It's mature enough now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoaperture_64.c: clarify that too small aperture is valid reason for this code
Pavel Machek [Wed, 26 Nov 2008 16:15:27 +0000 (17:15 +0100)]
aperture_64.c: clarify that too small aperture is valid reason for this code

Impact: update comment

Clarify that too small aperture is valid reason for this code.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoi2c-parport: Fix misplaced parport_release call
Jean Delvare [Fri, 28 Nov 2008 14:24:39 +0000 (15:24 +0100)]
i2c-parport: Fix misplaced parport_release call

We shouldn't release the parallel port until we are actually done with
it.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Remove i2c clients in reverse order
Jean Delvare [Fri, 28 Nov 2008 14:24:38 +0000 (15:24 +0100)]
i2c: Remove i2c clients in reverse order

i2c clients should be removed in reverse order compared to the probe
(actually: bind) order. This matters when several clients depend on
each other.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Tested-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
17 years agoi2c/isp1301_omap: Build fixes
David Brownell [Fri, 28 Nov 2008 14:24:38 +0000 (15:24 +0100)]
i2c/isp1301_omap: Build fixes

Build fixes for isp1301_omap; no behavior changes:

  - fix incorrect probe() signature (it changed many months ago)
  - provide missing functions on H3 and H4 boards
  - "sparse" fixes (static, NULL-vs-0)

The H3 build bits subset some of the stuff that was previously in
the OMAP tree but never went to mainline.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoALSA: hda - Don't export symbols when built-in kernel
Takashi Iwai [Fri, 28 Nov 2008 14:17:06 +0000 (15:17 +0100)]
ALSA: hda - Don't export symbols when built-in kernel

The global functions in hda_codec.c and other core parts are only
for HD-audio codec and controller drivers.  When the HD-audio driver
is built in kernel, all stuff have to be statically linked, thus
we don't need any exports.

This patch introduces a conditional macro to do export only
when needed.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoHID: Apple ALU wireless keyboards are bluetooth devices
Jan Scholz [Wed, 26 Nov 2008 14:33:45 +0000 (15:33 +0100)]
HID: Apple ALU wireless keyboards are bluetooth devices

While parsing 'hid_blacklist' in the apple alu wireless keyboard is not found.
This happens because in the blacklist it is declared with HID_USB_DEVICE
although the keyboards are really bluetooth devices.  The same holds for
'apple_devices' list.

This patch fixes it by changing HID_USB_DEVICE to HID_BLUETOOTH_DEVICE in those
two lists.

Signed-off-by: Jan Scholz <Scholz@fias.uni-frankfurt.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
17 years agoALSA: hda - Check MODULE instead of CONFIG_SND_HDA_INTEL_MODULE
Takashi Iwai [Fri, 28 Nov 2008 14:07:37 +0000 (15:07 +0100)]
ALSA: hda - Check MODULE instead of CONFIG_SND_HDA_INTEL_MODULE

Checking MODULE is more generic.
Also a cosmetic comment change.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agox86: ret_from_fork - get rid of jump back
Ingo Molnar [Thu, 27 Nov 2008 13:41:21 +0000 (14:41 +0100)]
x86: ret_from_fork - get rid of jump back

Impact: remove dead code

If we take a closer look at the rff_trace/rff_action ret_from_fork code,
we have to realize that it does all the wrong things: for example it
checks the TIF flag - while later on jumping back to the ret-from-syscall
path - duplicating the check needlessly.

But checking for _TIF_SYSCALL_TRACE is completely unnecessary here because
we clear that flag for every freshly forked task. So the whole "tracing"
code here, for which there is a out of line jump optimization that makes
it even harder to read, is in reality completely dead code ...

Reported-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Tested-by: Cyrill Gorcunov <gorcunov@gmail.com>
17 years agoMerge branch 'x86/debug' into x86/irq
Ingo Molnar [Fri, 28 Nov 2008 14:00:37 +0000 (15:00 +0100)]
Merge branch 'x86/debug' into x86/irq

We merge this branch because x86/debug touches code that we started
cleaning up in x86/irq. The two branches started out independent,
but as unexpected amount of activity went into x86/irq, they became
dependent. Resolve that by this cross-merge.

17 years agox86: entry_64.S - trivial: space, comments fixup
Cyrill Gorcunov [Thu, 27 Nov 2008 18:10:08 +0000 (21:10 +0300)]
x86: entry_64.S - trivial: space, comments fixup

Impact: cleanup

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoALSA: oxygen: add Claro halo support
Clemens Ladisch [Wed, 26 Nov 2008 09:37:23 +0000 (10:37 +0100)]
ALSA: oxygen: add Claro halo support

Add support for the HT-Omega Claro halo (XT).

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Add quirk for Sony VAIO VGN-SR19XN
Takashi Iwai [Fri, 28 Nov 2008 13:46:28 +0000 (14:46 +0100)]
ALSA: hda - Add quirk for Sony VAIO VGN-SR19XN

Added model=sony-assamd for Sony VAIO VGN-SR19XN with ALC262 codec.
Reference: Novell bnc#450080
https://bugzilla.novell.com/show_bug.cgi?id=450080

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Clear codec->proc_widget_hook at reset
Takashi Iwai [Fri, 28 Nov 2008 13:36:23 +0000 (14:36 +0100)]
ALSA: hda - Clear codec->proc_widget_hook at reset

Clear the remaining pointer at snd_hda_codec_reset() to avoid Oops.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Add IDT/STAC-specific proc output
Takashi Iwai [Fri, 28 Nov 2008 13:35:16 +0000 (14:35 +0100)]
ALSA: hda - Add IDT/STAC-specific proc output

Added power-map and analog-loopback information to proc output for
IDT/STAC codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agox86: uv bau interrupt -- use proper interrupt number
Cyrill Gorcunov [Wed, 26 Nov 2008 21:02:10 +0000 (00:02 +0300)]
x86: uv bau interrupt -- use proper interrupt number

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Acked-by: Cliff Wickman <cpw@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agopowerpc/ppc32: static ftrace fixes for PPC32
Steven Rostedt [Wed, 26 Nov 2008 20:54:46 +0000 (15:54 -0500)]
powerpc/ppc32: static ftrace fixes for PPC32

Impact: fix for PowerPC 32 code

There were some early init code that was not safe for static
ftrace to boot on my PowerBook. This code must only use relative
addressing, and static mcount performs a compare of the
ftrace_trace_function pointer, and gets that with an absolute address.
In the early init boot up code, this will cause a fault.

This patch removes tracing from the files containing the offending
functions.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agopowerpc: ftrace, use create_branch
Steven Rostedt [Tue, 25 Nov 2008 22:06:19 +0000 (14:06 -0800)]
powerpc: ftrace, use create_branch

Impact: clean up

Paul Mackerras pointed out that the code to determine if the branch
can reach the destination is incorrect. Michael Ellerman suggested
to pull out the code from create_branch and use that.

Simply using create_branch is probably the best.

Reported-by: Michael Ellerman <michael@ellerman.id.au>
Reported-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agopowerpc: ftrace, added missing icache flush
Steven Rostedt [Tue, 25 Nov 2008 18:22:48 +0000 (10:22 -0800)]
powerpc: ftrace, added missing icache flush

Impact: fix to PowerPC code modification

After modifying code it is essential to flush the icache. This patch
adds the missing flush.

Reported-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agopowerpc: ftrace, fix cast aliasing and add code verification
Steven Rostedt [Tue, 25 Nov 2008 14:39:18 +0000 (06:39 -0800)]
powerpc: ftrace, fix cast aliasing and add code verification

Impact: clean up and robustness addition

This patch addresses the comments made by Paul Mackerras.
It removes the type casting between unsigned int and unsigned char
pointers, and replaces them with a use of all unsigned int.

Verification that the jump is indeed made to a trampoline has also
been added.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agopowerpc: ftrace, do nothing in mcount call for dyn ftrace
Steven Rostedt [Thu, 20 Nov 2008 21:18:55 +0000 (13:18 -0800)]
powerpc: ftrace, do nothing in mcount call for dyn ftrace

Impact: quicken mcount calls that are not replaced by dyn ftrace

Dynamic ftrace no longer does on the fly recording of mcount locations.
The mcount locations are now found at compile time. The mcount
function no longer needs to store registers and call a stub function.
It can now just simply return.

Since there are some functions that do not get converted to a nop
(.init sections and other code that may disappear), this patch should
help speed up that code.

Also, the stub for mcount on PowerPC 32 can not be a simple branch
link register like it is on PowerPC 64. According to the ABI specification:

"The _mcount routine is required to restore the link register from
 the stack so that the profiling code can be inserted transparently,
 whether or not the profiled function saves the link register itself."

This means that we must restore the link register that was used
to make the call to mcount.  The minimal mcount function for PPC32
ends up being:

 mcount:
        mflr    r0
        mtctr   r0
        lwz     r0, 4(r1)
        mtlr    r0
        bctr

Where we move the link register used to call mcount into the
ctr register, and then restore the link register from the stack.
Then we use the ctr register to jump back to the mcount caller.
The r0 register is free for us to use.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoftrace: improve documentation
walimis [Fri, 28 Nov 2008 04:21:19 +0000 (12:21 +0800)]
ftrace: improve documentation

Impact: extend documentation with notice of using wild cards correctly

We know that we can use wild cards to set set_ftrace_filter, but there's
problem when using them naively such as:

   echo h* > /debug/tracing/set_ftrace_filter

If there are files named with "h" prefix in current directory,
echo "h*" will echo these filenames to set_ftrace_filter, not the
intended "h*".

For example:

  $ cat /debug/tracing/available_filter_functions |grep ^hr |wc -l
  23
  $ ls
  $ touch hraa hrdd
  $ ls
  hraa  hrdd
  $ echo hr* > /debug/tracing/set_ftrace_filter
  $ cat /debug/tracing/set_ftrace_filter

No output in /debug/tracing/set_ftrace_filter!

If we use '' to escape wild cards, it works:

  $ ls
  hraa  hrdd
  $ echo "hr*" > /debug/tracing/set_ftrace_filter
  $ cat /debug/tracing/set_ftrace_filter |wc -l
  23

This problem can lead to unexpected result if current directory has a
lot of files.

Signed-off-by: walimis <walimisdev@gmail.com>
Acked-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: move GART specific stuff from iommu.h to gart.h
Joerg Roedel [Thu, 27 Nov 2008 17:39:15 +0000 (18:39 +0100)]
x86: move GART specific stuff from iommu.h to gart.h

Impact: cleanup

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoALSA: hda - Remove unused proc entry in hda_bus struct
Takashi Iwai [Fri, 28 Nov 2008 11:57:38 +0000 (12:57 +0100)]
ALSA: hda - Remove unused proc entry in hda_bus struct

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Add codec-specific proc hook
Takashi Iwai [Fri, 28 Nov 2008 11:55:36 +0000 (12:55 +0100)]
ALSA: hda - Add codec-specific proc hook

Added a hook for proc outputs of codec-specific stuff.

Moved realtek-specific coeff output into patch_realtek.c as well.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agosoftirq: remove useless function __local_bh_enable
Liming Wang [Fri, 28 Nov 2008 01:52:40 +0000 (09:52 +0800)]
softirq: remove useless function __local_bh_enable

Impact: remove unused code

__local_bh_enable has been replaced with _local_bh_enable.
As comments says "it always nests inside local_bh_enable() sections"
has not been valid now. Also there is no reason to use __local_bh_enable
anywhere, so we can remove this useless function.

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoftrace: improve seq_operation of ftrace
Liming Wang [Fri, 28 Nov 2008 04:13:21 +0000 (12:13 +0800)]
ftrace: improve seq_operation of ftrace

Impact: make ftrace position computing more sane

First remove useless ->pos field. Then we needn't check seq_printf
in .show like other place.

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Reviewed-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agopkt_sched: fix sparse warning
Hannes Eder [Fri, 28 Nov 2008 11:06:46 +0000 (03:06 -0800)]
pkt_sched: fix sparse warning

Impact: make global function static

Fix the following sparse warning:

  net/sched/sch_api.c:192:14: warning: symbol 'qdisc_match_from_root' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonetlink: allow empty nested attributes
Patrick McHardy [Fri, 28 Nov 2008 11:05:19 +0000 (03:05 -0800)]
netlink: allow empty nested attributes

validate_nla() currently doesn't allow empty nested attributes. This
makes userspace code unnecessarily complicated when starting and ending
the nested attribute is done by generic upper level code and the inner
attributes are dumped by a module.

Add a special case to accept empty nested attributes. When the nested
attribute is non empty, the same checks as before are performed.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotracing, alpha: fix build: add missing #ifdef CONFIG_STACKTRACE
Török Edwin [Fri, 28 Nov 2008 09:17:56 +0000 (11:17 +0200)]
tracing, alpha: fix build: add missing #ifdef CONFIG_STACKTRACE

There are architectures that still have no stacktrace support.

Signed-off-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6
David S. Miller [Fri, 28 Nov 2008 10:19:15 +0000 (02:19 -0800)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6

Conflicts:

net/netfilter/nf_conntrack_netlink.c

17 years agotracing/function-graph-tracer: more output tweaks
Ingo Molnar [Fri, 28 Nov 2008 08:55:16 +0000 (09:55 +0100)]
tracing/function-graph-tracer: more output tweaks

Impact: prettify the output some more

Before:

0)           |     sys_read() {
0)      0.796 us |   fget_light();
0)           |       vfs_read() {
0)           |         rw_verify_area() {
0)           |           security_file_permission() {
------------8<---------- thread sshd-1755 ------------8<----------

After:

 0)               |  sys_read() {
 0)      0.796 us |    fget_light();
 0)               |    vfs_read() {
 0)               |      rw_verify_area() {
 0)               |        security_file_permission() {
 ------------------------------------------
 | 1)  migration/0--1  =>  sshd-1755
 ------------------------------------------

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotracing/function-graph-tracer: adjustments of the trace informations
Frederic Weisbecker [Thu, 27 Nov 2008 23:42:46 +0000 (00:42 +0100)]
tracing/function-graph-tracer: adjustments of the trace informations

Impact: increase the visual qualities of the call-graph-tracer output

This patch applies various trace output formatting changes:

 - CPU is now a decimal number, followed by a parenthesis.

 - Overhead is now on the second column (gives a good visibility)

 - Cost is now on the third column, can't exceed 9999.99 us. It is
   followed by a virtual line based on a "|" character.

 - Functions calls are now the last column on the right. This way, we
   haven't dynamic column (which flow is harder to follow) on its right.

 - CPU and Overhead have their own option flag. They are default-on but you
   can disable them easily:

      echo nofuncgraph-cpu > trace_options
      echo nofuncgraph-overhead > trace_options

TODO:

_ Refactoring of the thread switch output.
_ Give a default-off option to output the thread and its pid on each row.
_ Provide headers
_ ....

Here is an example of the new trace style:

0)           |             mutex_unlock() {
0)      0.639 us |           __mutex_unlock_slowpath();
0)      1.607 us |         }
0)           |             remove_wait_queue() {
0)      0.616 us |           _spin_lock_irqsave();
0)      0.616 us |           _spin_unlock_irqrestore();
0)      2.779 us |         }
0)      0.495 us |         n_tty_set_room();
0) ! 9999.999 us |       }
0)           |           tty_ldisc_deref() {
0)      0.615 us |         _spin_lock_irqsave();
0)      0.616 us |         _spin_unlock_irqrestore();
0)      2.793 us |       }
0)           |           current_fs_time() {
0)      0.488 us |         current_kernel_time();
0)      0.495 us |         timespec_trunc();
0)      2.486 us |       }
0) ! 9999.999 us |     }
0) ! 9999.999 us |   }
0) ! 9999.999 us | }
0)           |     sys_read() {
0)      0.796 us |   fget_light();
0)           |       vfs_read() {
0)           |         rw_verify_area() {
0)           |           security_file_permission() {
0)      0.488 us |         cap_file_permission();
0)      1.720 us |       }
0)      3.  4 us |     }
0)           |         tty_read() {
0)      0.488 us |       tty_paranoia_check();
0)           |           tty_ldisc_ref_wait() {
0)           |             tty_ldisc_try() {
0)      0.615 us |           _spin_lock_irqsave();
0)      0.615 us |           _spin_unlock_irqrestore();
0)      5.436 us |         }
0)      6.427 us |       }

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agodecnet: compile fix for removal of byteorder wrapper
Harvey Harrison [Fri, 28 Nov 2008 07:04:13 +0000 (23:04 -0800)]
decnet: compile fix for removal of byteorder wrapper

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoALSA: hda - Fix build error with CONFIG_SND_HDA_POWER_SAVE
Takashi Iwai [Fri, 28 Nov 2008 06:22:18 +0000 (07:22 +0100)]
ALSA: hda - Fix build error with CONFIG_SND_HDA_POWER_SAVE

Moved power_save field initialization inside a proper ifdef
to fix a build error without CONFIG_SND_HDA_POWER_SAVE.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Lachlan McIlroy [Fri, 28 Nov 2008 04:23:52 +0000 (15:23 +1100)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6

17 years ago[ARM] clearpage: provide our own clear_user_highpage()
Russell King [Fri, 31 Oct 2008 16:32:19 +0000 (16:32 +0000)]
[ARM] clearpage: provide our own clear_user_highpage()

For similar reasons as copy_user_page(), we want to avoid the
additional kmap_atomic if it's unnecessary.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] copypage: provide our own copy_user_highpage()
Russell King [Fri, 31 Oct 2008 15:08:35 +0000 (15:08 +0000)]
[ARM] copypage: provide our own copy_user_highpage()

We used to override the copy_user_page() function.  However, this
is not only inefficient, it also causes additional complexity for
highmem support, since we convert from a struct page to a kernel
direct mapped address and back to a struct page again.

Moreover, with highmem support, we end up pointlessly setting up
kmap entries for pages which we're going to remap.  So, push the
kmapping down into the copypage implementation files where it's
required.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] copypage: convert assembly files to C
Russell King [Fri, 31 Oct 2008 13:08:02 +0000 (13:08 +0000)]
[ARM] copypage: convert assembly files to C

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agoMerge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa...
Russell King [Thu, 27 Nov 2008 23:50:31 +0000 (23:50 +0000)]
Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6

17 years agoAllow architectures to override copy_user_highpage()
Russell King [Thu, 27 Nov 2008 11:13:58 +0000 (11:13 +0000)]
Allow architectures to override copy_user_highpage()

With aliasing VIPT cache support, the ARM implementation of
clear_user_page() and copy_user_page() sets up a temporary kernel space
mapping such that we have the same cache colour as the userspace page.
This avoids having to consider any userspace aliases from this operation.

However, when highmem is enabled, kmap_atomic() have to setup mappings.
The copy_user_highpage() and clear_user_highpage() call these functions
before delegating the copies to copy_user_page() and clear_user_page().

The effect of this is that each of the *_user_highpage() functions setup
their own kmap mapping, followed by the *_user_page() functions setting
up another mapping.  This is rather wasteful.

Thankfully, copy_user_highpage() can be overriden by architectures by
defining __HAVE_ARCH_COPY_USER_HIGHPAGE.  However, replacement of
clear_user_highpage() is more difficult because its inline definition
is not conditional.  It seems that you're expected to define
__HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE and provide a replacement
__alloc_zeroed_user_highpage() implementation instead.

The allocation itself is fine, so we don't want to override that.  What
we really want to do is to override clear_user_highpage() with our own
version which doesn't kmap_atomic() unnecessarily.

Other VIPT architectures (PARISC and SH) would also like to override
this function as well.

Acked-by: Hugh Dickins <hugh@veritas.com>
Acked-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agoixgbe: section fixes
Al Viro [Thu, 27 Nov 2008 23:34:07 +0000 (15:34 -0800)]
ixgbe: section fixes

ixgbe_init_interrupt_scheme() is called from ixgbe_resume().  Build that
with CONFIG_PM and without CONFIG_HOTPLUG and you've got a problem.
Several helpers called by it also are misannotated __devinit.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosctp: fix missing label when PROC_FS=n
Randy Dunlap [Thu, 27 Nov 2008 23:30:53 +0000 (15:30 -0800)]
sctp: fix missing label when PROC_FS=n

Fix missing label when CONFIG_PROC_FS=n:

net/sctp/protocol.c: In function 'sctp_proc_init':
net/sctp/protocol.c:106: error: label 'out_nomem' used but not defined
make[3]: *** [net/sctp/protocol.o] Error 1

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoudf: Fix BUG_ON() in destroy_inode()
Jan Kara [Tue, 23 Sep 2008 16:24:08 +0000 (18:24 +0200)]
udf: Fix BUG_ON() in destroy_inode()

udf_clear_inode() can leave behind buffers on mapping's i_private list (when
we truncated preallocation). Call invalidate_inode_buffers() so that the list
is properly cleaned-up before we return from udf_clear_inode(). This is ugly
and suggest that we should cleanup preallocation earlier than in clear_inode()
but currently there's no such call available since drop_inode() is called under
inode lock and thus is unusable for disk operations.

Signed-off-by: Jan Kara <jack@suse.cz>
17 years ago[ARM] pxa/palmtx: misc fixes to use generic GPIO API
Marek Vasut [Thu, 20 Nov 2008 16:34:57 +0000 (17:34 +0100)]
[ARM] pxa/palmtx: misc fixes to use generic GPIO API

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years agoALSA: hda - Modularize HD-audio driver
Takashi Iwai [Thu, 27 Nov 2008 14:47:11 +0000 (15:47 +0100)]
ALSA: hda - Modularize HD-audio driver

Split the monolithc HD-audio driver into several pieces:
 - snd-hda-intel   HD-audio PCI controller driver; loaded via udev
 - snd-hda-codec   HD-audio codec bus driver
 - snd-hda-codec-* Specific HD-audio codec drivers

When built as modules, snd-hda-codec (that is invoked by snd-hda-intel)
looks up the codec vendor ID and loads the corresponding codec module
automatically via request_module().

When built in a kernel, each codec drivers are statically hooked up
before probing the PCI.

This patch adds appropriate EXPORT_SYMBOL_GPL()'s and the module
information for each driver, and driver-linking codes between
codec-bus and codec drivers.

TODO:
  - Avoid EXPORT_SYMBOL*() when built-in kernel
  - Restore __devinit appropriately depending on the condition

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: sound/pci/mixart/mixart.c: Add missing snd_card_free
Julia Lawall [Thu, 27 Nov 2008 14:40:40 +0000 (15:40 +0100)]
ALSA: sound/pci/mixart/mixart.c: Add missing snd_card_free

The function snd_mixart_create creates a link between mgr and card that
allows snd_mixart_free to free card as well.  But if snd_mixart_create
fails, then the link has not been created and card has to be freed explicitly.

The semantic match that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@r exists@
local idexpression x;
statement S,S1;
position p1,p2,p3;
expression E,E1;
type T,T1;
expression *ptr != NULL;
@@

(
 if ((x@p1 = snd_card_new(...)) == NULL) S
|
 x@p1 = snd_card_new(...);
)
 ... when != snd_card_free(...,(T)x,...)
     when != if (...) { <+... snd_card_free(...,(T)x,...) ...+> }
     when != true x == NULL || ...
     when != x = E
     when != E = (T)x
     when any
(
 if (x == NULL || ...) S1
|
 if@p2 (...) {
  ... when != snd_card_free(...,(T1)x,...)
      when != if (...) { <+... snd_card_free(...,(T1)x,...) ...+> }
      when != x = E1
      when != E1 = (T1)x
(
  return \(0\|<+...x...+>\|ptr\);
|
  return@p3 ...;
)
}
)

@ script:python @
p1 << r.p1;
p3 << r.p3;
@@

print "* file: %s snd_card_new: %s return: %s" % (p1[0].file,p1[0].line,p3[0].line)

// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Fix creation of automatic capture mixers
Takashi Iwai [Thu, 27 Nov 2008 14:25:34 +0000 (15:25 +0100)]
ALSA: hda - Fix creation of automatic capture mixers

Fixed a wrong boundary check of num_adc_nids in set_capture_mixer()
in patch_realtek.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Fix PCM reconfigure
Takashi Iwai [Thu, 27 Nov 2008 13:17:01 +0000 (14:17 +0100)]
ALSA: hda - Fix PCM reconfigure

The reconfiguration of PCM affected all PCM streams on the bus, but
this this should be done rather only for the target codec.

This patch does the following:
- introduce bitmap indicating the PCM device usages on a hda_bus
- refactor the PCM build functions
- fix __devinit prefix in some fucntions
- add a proper ifdef around HDA-reconfig-specific functions

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoMerge branch 'for-rmk' of git://linux-arm.org/linux-2.6 into devel
Russell King [Thu, 27 Nov 2008 12:42:48 +0000 (12:42 +0000)]
Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 into devel

17 years agoMerge branch 'clps7500' into devel
Russell King [Thu, 27 Nov 2008 12:39:43 +0000 (12:39 +0000)]
Merge branch 'clps7500' into devel

Conflicts:

arch/arm/Kconfig

17 years agoMerge branches 'core' and 'clks' into devel
Russell King [Thu, 27 Nov 2008 12:39:14 +0000 (12:39 +0000)]
Merge branches 'core' and 'clks' into devel

17 years ago[ARM] sa1100: match clock by dev_name(dev)
Russell King [Sat, 8 Nov 2008 20:48:27 +0000 (20:48 +0000)]
[ARM] sa1100: match clock by dev_name(dev)

Continuing the move away from implementations which give an excuse
for other bad implementations, convert SA1100 to lookup its singular
clock by dev_name(dev) rather than by id.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] pxa: don't pass a consumer clock name for devices with unique clocks
Russell King [Tue, 11 Nov 2008 17:52:32 +0000 (17:52 +0000)]
[ARM] pxa: don't pass a consumer clock name for devices with unique clocks

Where devices only have one consumer, passing a consumer clock ID
has no real benefit.  Remove it.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] pxa: convert to clkdev and match clocks by struct device where possible
Russell King [Sat, 8 Nov 2008 20:25:21 +0000 (20:25 +0000)]
[ARM] pxa: convert to clkdev and match clocks by struct device where possible

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] versatile: convert to clkdev and lookup clocks by device name
Russell King [Sat, 8 Nov 2008 20:13:53 +0000 (20:13 +0000)]
[ARM] versatile: convert to clkdev and lookup clocks by device name

People often point to the Integrator/Versatile/Realview
implementations to justify using the consumer name as the sole
selector for clocks.

Eliminate this excuse by changing the Versatile implementation, so
it provides a better example of how it should be done.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] integrator: convert to clkdev and lookup clocks by device name
Russell King [Sat, 8 Nov 2008 20:08:08 +0000 (20:08 +0000)]
[ARM] integrator: convert to clkdev and lookup clocks by device name

People often point to the Integrator/Versatile/Realview
implementations to justify using the consumer name as the sole
selector for clocks.

Eliminate this excuse by changing the Integrator implementation, so
it provides a better example of how it should be done.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] realview: convert to clkdev and lookup clocks by device name
Russell King [Sat, 8 Nov 2008 20:05:55 +0000 (20:05 +0000)]
[ARM] realview: convert to clkdev and lookup clocks by device name

People often point to the Integrator/Versatile/Realview
implementations to justify using the consumer name as the sole
selector for clocks.

Eliminate this excuse by changing the Realview implementation, so
it provides a better example of how it should be done.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] clkdev: add generic clkdev infrastructure
Russell King [Sun, 9 Nov 2008 16:32:46 +0000 (16:32 +0000)]
[ARM] clkdev: add generic clkdev infrastructure

Add some generic infrastructure to assist looking up struct clks
for the ARM architecture.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] clps7500: remove support
Russell King [Tue, 28 Oct 2008 09:43:54 +0000 (09:43 +0000)]
[ARM] clps7500: remove support

The CLPS7500 platform has not built since 2.6.22-git7 and there
seems to be no interest in fixing it.  So, remove the platform
support.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] Arrange for platforms to select appropriate CPU support
Russell King [Sun, 26 Oct 2008 10:55:14 +0000 (10:55 +0000)]
[ARM] Arrange for platforms to select appropriate CPU support

Rather than:

config CPU_BLAH
bool
depends on ARCH_FOO || MACH_BAR
default y if ARCH_FOO || MACH_BAR

arrange for ARCH_FOO and MACH_BAR to select CPU_BLAH directly.

Acked-by: Nicolas Pitre <nico@marvell.com>
Acked-by: Andrew Victor <linux@maxim.org.za>
Acked-by: Brian Swetland <swetland@google.com>
Acked-by: Eric Miao <eric.miao@marvell.com>
Acked-by: Nicolas Bellido <ml@acolin.be>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] remove memzero()
Russell King [Mon, 27 Oct 2008 11:24:09 +0000 (11:24 +0000)]
[ARM] remove memzero()

As suggested by Andrew Morton, remove memzero() - it's not supported
on other architectures so use of it is a potential build breaking bug.
Since the compiler optimizes memset(x,0,n) to __memzero() perfectly
well, we don't miss out on the underlying benefits of memzero().

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agox86: entry_64.S - use ENTRY to define child_rip
Cyrill Gorcunov [Wed, 26 Nov 2008 19:17:00 +0000 (22:17 +0300)]
x86: entry_64.S - use ENTRY to define child_rip

child_rip is called not by its name but indirectly
rather so make it global and aligned.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Acked-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: entry_64.S - use X86_EFLAGS_IF instead of hardcoded number
gorcunov@gmail.com [Wed, 26 Nov 2008 19:17:02 +0000 (22:17 +0300)]
x86: entry_64.S - use X86_EFLAGS_IF instead of hardcoded number

Impact: cleanup

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Acked-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: always define DECLARE_PCI_UNMAP* macros
Joerg Roedel [Thu, 20 Nov 2008 19:49:56 +0000 (20:49 +0100)]
x86: always define DECLARE_PCI_UNMAP* macros

Impact: fix boot crash on AMD IOMMU if CONFIG_GART_IOMMU is off

Currently these macros evaluate to a no-op except the kernel is compiled
with GART or Calgary support. But we also need these macros when we have
SWIOTLB, VT-d or AMD IOMMU in the kernel. Since we always compile at
least with SWIOTLB we can define these macros always.

This patch is also for stable backport for the same reason the SWIOTLB
default selection patch is.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoALSA: hda - Move power_save option to hda_intel.c
Takashi Iwai [Thu, 27 Nov 2008 11:43:28 +0000 (12:43 +0100)]
ALSA: hda - Move power_save option to hda_intel.c

Move power_save option into hda_intel.c, and make a field in hda_bus,
instead of keeping module parameters in separate files.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - make some functions static
Takashi Iwai [Thu, 27 Nov 2008 11:40:13 +0000 (12:40 +0100)]
ALSA: hda - make some functions static

Minor clean ups: move snd_hda_codecs_inuse() into hda_intel.c and
make static.  Also, make snd_hda_query_supported_pcm() static
as it's used only in hda_codec.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoi386: get rid of the use of KPROBE_ENTRY / KPROBE_END
Alexander van Heukelum [Mon, 24 Nov 2008 14:38:45 +0000 (15:38 +0100)]
i386: get rid of the use of KPROBE_ENTRY / KPROBE_END

entry_32.S is now the only user of KPROBE_ENTRY / KPROBE_END,
treewide. This patch reorders entry_64.S and explicitly generates
a separate section for functions that need the protection. The
generated code before and after the patch is equal.

The KPROBE_ENTRY and KPROBE_END macro's are removed too.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86_64: get rid of the use of KPROBE_ENTRY / KPROBE_END
Alexander van Heukelum [Mon, 24 Nov 2008 12:24:28 +0000 (13:24 +0100)]
x86_64: get rid of the use of KPROBE_ENTRY / KPROBE_END

Impact: clean up assembly macros and annotations - with some object impact

entry_64.S is the only user of KPROBE_ENTRY / KPROBE_END on
x86_64. This patch reorders entry_64.S and explicitly generates
a separate section for functions that need the protection. The
generated code before and after the patch is equal.

Implicitly changing sections in assembly files makes it more
difficult to follow why the assembler is doing certain things.
For example,

.p2align 5
KPROBE_ENTRY(...)

was not doing what you would expect. Other section changes
(__ex_table, .fixup, .init.rodata) are done explicitly already.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Acked-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind...
Russell King [Thu, 27 Nov 2008 11:13:10 +0000 (11:13 +0000)]
Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

17 years ago[S390] Update default configuration.
Martin Schwidefsky [Thu, 27 Nov 2008 10:05:59 +0000 (11:05 +0100)]
[S390] Update default configuration.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Fix alignment of initial kernel stack.
Heiko Carstens [Thu, 27 Nov 2008 10:05:58 +0000 (11:05 +0100)]
[S390] Fix alignment of initial kernel stack.

We need an alignment of 16384 bytes for the initial kernel stack if
the kernel is configured for 16384 bytes stacks but the linker script
currently guarantees only an alignment of 8192 bytes.

So fix this and simply use THREAD_SIZE as alignment value which will
always do the right thing.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] pgtable.h: Fix oops in unmap_vmas for KVM processes
Christian Borntraeger [Thu, 27 Nov 2008 10:05:57 +0000 (11:05 +0100)]
[S390] pgtable.h: Fix oops in unmap_vmas for KVM processes

When running several kvm processes with lots of memory overcommitment,
we have seen an oops during process shutdown:
------------[ cut here ]------------
Kernel BUG at 0000000000193434 [verbose debug info unavailable]
addressing exception: 0005 [#1] PREEMPT SMP
Modules linked in: kvm sunrpc qeth_l2 dm_mod qeth ccwgroup
CPU: 10 Not tainted 2.6.28-rc4-kvm-bigiron-00521-g0ccca08-dirty #8
Process kuli (pid: 14460, task: 0000000149822338, ksp: 0000000024f57650)
Krnl PSW : 0704e00180000000 0000000000193434 (unmap_vmas+0x884/0xf10)
R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 EA:3
Krnl GPRS: 0000000000000002 0000000000000000 000000051008d000 000003e05e6034e0
           00000000001933f6 00000000000001e9 0000000407259e0a 00000002be88c400
           00000200001c1000 0000000407259608 0000000407259e08 0000000024f577f0
           0000000407259e09 0000000000445fa8 00000000001933f6 0000000024f577f0
Krnl Code: 0000000000193426eb22000c000d sllg %r2,%r2,12
           000000000019342ca7180000 lhi %r1,0
           0000000000193430b2290012 iske %r1,%r2
          >0000000000193434a7110002 tmll %r1,2
           0000000000193438a7840006 brc 8,193444
           000000000019343c9602c000 oi 0(%r12),2
           000000000019344096806000 oi 0(%r6),128
           0000000000193444a7110004 tmll %r1,4
Call Trace:
([<00000000001933f6>] unmap_vmas+0x846/0xf10)
[<0000000000199680>] exit_mmap+0x210/0x458
[<000000000012a8f8>] mmput+0x54/0xfc
[<000000000012f714>] exit_mm+0x134/0x144
[<000000000013120c>] do_exit+0x240/0x878
[<00000000001318dc>] do_group_exit+0x98/0xc8
[<000000000013e6b0>] get_signal_to_deliver+0x30c/0x358
[<000000000010bee0>] do_signal+0xec/0x860
[<0000000000112e30>] sysc_sigpending+0xe/0x22
[<000002000013198a>] 0x2000013198a
INFO: lockdep is turned off.
Last Breaking-Event-Address:
[<00000000001a68d0>] free_swap_and_cache+0x1a0/0x1a4
<4>---[ end trace bc19f1d51ac9db7c ]---

The faulting instruction is the storage key operation (iske) in
ptep_rcp_copy (called by pte_clear, called by unmap_vmas). iske
reads dirty and reference bit information for a physical page and
requires a valid physical address. Since we are in pte_clear, we
cannot rely on the pte containing a valid address. Fortunately we
dont need these information in pte_clear - after all there is no
mapping. The best fix is to remove the needless call to ptep_rcp_copy
that contains the iske.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] fix/cleanup sched_clock
Christian Borntraeger [Thu, 27 Nov 2008 10:05:56 +0000 (11:05 +0100)]
[S390] fix/cleanup sched_clock

CONFIG_PRINTK_TIME reveals that sched_clock has a wrong offset during boot:
..
[    0.000000]   Movable zone: 0 pages used for memmap
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 775679
[    0.000000] Kernel command line: dasd=4b6c root=/dev/dasda1 ro noinitrd
[    0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
[6920575.975232] console [ttyS0] enabled
[6920575.987586] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[6920575.991404] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
..

The s390 implementation of sched_clock uses the store clock instruction and
subtracts jiffies_timer_cc.
jiffies_timer_cc is a local variable in arch/s390/kernel/time.c and only used
for sched_clock and monotonic clock. For historical reasons there is an offset
on that value. With todays code this offset is unnecessary. By removing that
offset we can get a sched_clock which returns the nanoseconds after time_init.
This improves CONFIG_PRINTK_TIME.

Since sched_clock is the only user, I have also renamed jiffies_timer_cc to
sched_clock_base_cc. In addition, the local variable init_timer_cc is redundant
and can be romved as well.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] fix system call parameter functions.
Martin Schwidefsky [Thu, 27 Nov 2008 10:05:55 +0000 (11:05 +0100)]
[S390] fix system call parameter functions.

syscall_get_nr() currently returns a valid result only if the call
chain of the traced process includes do_syscall_trace_enter(). But
collect_syscall() can be called for any sleeping task, the result of
syscall_get_nr() in general is completely bogus.

To make syscall_get_nr() work for any sleeping task the traps field
in pt_regs is replace with svcnr - the system call number the process
is executing. If svcnr == 0 the process is not on a system call path.

The syscall_get_arguments and syscall_set_arguments use regs->gprs[2]
for the first system call parameter. This is incorrect since gprs[2]
may have been overwritten with the system call number if the call
chain includes do_syscall_trace_enter. Use regs->orig_gprs2 instead.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years agotracing/function-graph-tracer: enhancements for the trace output
Frederic Weisbecker [Thu, 27 Nov 2008 00:46:33 +0000 (01:46 +0100)]
tracing/function-graph-tracer: enhancements for the trace output

Impact: enhance the output of the graph-tracer

This patch applies some ideas of Ingo Molnar and Steven Rostedt.

* Output leaf functions in one line with parenthesis, semicolon and duration
  output.

* Add a second column (after cpu) for an overhead sign.
  if duration > 100 us, "!"
  if duration > 10 us, "+"
  else " "

* Print output in us with remaining nanosec: u.n

* Print duration on the right end, following the indentation of the functions.
  Use also visual clues: "-" on entry call (no duration to output) and "+" on
  return (duration output).

The name of the tracer has been fixed as well: function-branch becomes
function_branch.

Here is an example of the new output:

CPU[000]           dequeue_entity() {                    -
CPU[000]             update_curr() {                    -
CPU[000]               update_min_vruntime();                    + 0.512 us
CPU[000]             }                                + 1.504 us
CPU[000]             clear_buddies();                    + 0.481 us
CPU[000]             update_min_vruntime();                    + 0.504 us
CPU[000]           }                                + 4.557 us
CPU[000]           hrtick_update() {                    -
CPU[000]             hrtick_start_fair();                    + 0.489 us
CPU[000]           }                                + 1.443 us
CPU[000] +       }                                + 14.655 us
CPU[000] +     }                                + 15.678 us
CPU[000] +   }                                + 16.686 us
CPU[000]     msecs_to_jiffies();                    + 0.481 us
CPU[000]     put_prev_task_fair();                    + 0.504 us
CPU[000]     pick_next_task_fair();                    + 0.482 us
CPU[000]     pick_next_task_rt();                    + 0.504 us
CPU[000]     pick_next_task_fair();                    + 0.481 us
CPU[000]     pick_next_task_idle();                    + 0.489 us
CPU[000]     _spin_trylock();                    + 0.655 us
CPU[000]     _spin_unlock();                    + 0.609 us

CPU[000]  ------------8<---------- thread bash-2794 ------------8<----------

CPU[000]               finish_task_switch() {                    -
CPU[000]                 _spin_unlock_irq();                    + 0.722 us
CPU[000]               }                                + 2.369 us
CPU[000] !           }                                + 501972.605 us
CPU[000] !         }                                + 501973.763 us
CPU[000]           copy_from_read_buf() {                    -
CPU[000]             _spin_lock_irqsave();                    + 0.670 us
CPU[000]             _spin_unlock_irqrestore();                    + 0.699 us
CPU[000]             copy_to_user() {                    -
CPU[000]               might_fault() {                    -
CPU[000]                 __might_sleep();                    + 0.503 us
CPU[000]               }                                + 1.632 us
CPU[000]               __copy_to_user_ll();                    + 0.542 us
CPU[000]             }                                + 3.858 us
CPU[000]             tty_audit_add_data() {                    -
CPU[000]               _spin_lock_irq();                    + 0.609 us
CPU[000]               _spin_unlock_irq();                    + 0.624 us
CPU[000]             }                                + 3.196 us
CPU[000]             _spin_lock_irqsave();                    + 0.624 us
CPU[000]             _spin_unlock_irqrestore();                    + 0.625 us
CPU[000] +         }                                + 13.611 us
CPU[000]           copy_from_read_buf() {                    -
CPU[000]             _spin_lock_irqsave();                    + 0.624 us
CPU[000]             _spin_unlock_irqrestore();                    + 0.616 us
CPU[000]           }                                + 2.820 us
CPU[000]

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branches 'tracing/blktrace', 'tracing/ftrace', 'tracing/function-graph-tracer...
Ingo Molnar [Thu, 27 Nov 2008 09:56:13 +0000 (10:56 +0100)]
Merge branches 'tracing/blktrace', 'tracing/ftrace', 'tracing/function-graph-tracer' and 'tracing/power-tracer' into tracing/core

17 years ago[MTD] [NAND] fsl_upm: fix build problem with 2.6.28-rc2
Wolfgang Grandegger [Thu, 27 Nov 2008 09:46:13 +0000 (09:46 +0000)]
[MTD] [NAND] fsl_upm: fix build problem with 2.6.28-rc2

The patch fixes following build error:

  CC      drivers/mtd/nand/fsl_upm.o
drivers/mtd/nand/fsl_upm.c: In function 'fun_chip_init':
drivers/mtd/nand/fsl_upm.c:168: warning: passing argument 2 of 'of_mtd_parse_partitions' from incompatible pointer type
drivers/mtd/nand/fsl_upm.c:168: warning: passing argument 3 of 'of_mtd_parse_partitions' from incompatible pointer type
drivers/mtd/nand/fsl_upm.c:168: error: too many arguments to function 'of_mtd_parse_partitions'
make[1]: *** [drivers/mtd/nand/fsl_upm.o] Error 1

The breakage was introduced in 69fd3a8d098faf41a04930afa83757c0555ee360
("[MTD] remove unused mtd parameter in of_mtd_parse_partitions()").

While at it, also add a check for the of_mtd_parse_partitions() return
value.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
17 years agosched: prevent divide by zero error in cpu_avg_load_per_task
Steven Rostedt [Thu, 27 Nov 2008 02:04:24 +0000 (21:04 -0500)]
sched: prevent divide by zero error in cpu_avg_load_per_task

Impact: fix divide by zero crash in scheduler rebalance irq

While testing the branch profiler, I hit this crash:

divide error: 0000 [#1] PREEMPT SMP
[...]
RIP: 0010:[<ffffffff8024a008>]  [<ffffffff8024a008>] cpu_avg_load_per_task+0x50/0x7f
[...]
Call Trace:
 <IRQ> <0> [<ffffffff8024fd43>] find_busiest_group+0x3e5/0xcaa
 [<ffffffff8025da75>] rebalance_domains+0x2da/0xa21
 [<ffffffff80478769>] ? find_next_bit+0x1b2/0x1e6
 [<ffffffff8025e2ce>] run_rebalance_domains+0x112/0x19f
 [<ffffffff8026d7c2>] __do_softirq+0xa8/0x232
 [<ffffffff8020ea7c>] call_softirq+0x1c/0x3e
 [<ffffffff8021047a>] do_softirq+0x94/0x1cd
 [<ffffffff8026d5eb>] irq_exit+0x6b/0x10e
 [<ffffffff8022e6ec>] smp_apic_timer_interrupt+0xd3/0xff
 [<ffffffff8020e4b3>] apic_timer_interrupt+0x13/0x20

The code for cpu_avg_load_per_task has:

if (rq->nr_running)
rq->avg_load_per_task = rq->load.weight / rq->nr_running;

The runqueue lock is not held here, and there is nothing that prevents
the rq->nr_running from going to zero after it passes the if condition.

The branch profiler simply made the race window bigger.

This patch saves off the rq->nr_running to a local variable and uses that
for both the condition and the division.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoftrace: prevent recursion
Lai Jiangshan [Thu, 27 Nov 2008 02:21:46 +0000 (10:21 +0800)]
ftrace: prevent recursion

Impact: prevent unnecessary stack recursion

if the resched flag was set before we entered, then don't reschedule.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoOMAP: HSMMC: SDBP and missing clock enabled fixes
Jarkko Lavinen [Wed, 19 Nov 2008 13:49:52 +0000 (15:49 +0200)]
OMAP: HSMMC: SDBP and missing clock enabled fixes

Disable SDBP at suspend and enable it resume. Make sure
fclk is running at suspend before touching HCTL.

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
17 years agoOMAP: HSMMC: Implement scatter-gather emulation
Juha Yrjola [Fri, 14 Nov 2008 13:22:00 +0000 (15:22 +0200)]
OMAP: HSMMC: Implement scatter-gather emulation

Instead of using the bounce buffer, using scatter-gather emulation
(as in the OMAP1/2 MMC driver) removes the need of one extra memory
copy and improves performance.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
17 years agoOMAP: HSMMC: Use mod_timer from a single point for readability.
Jarkko Lavinen [Thu, 6 Nov 2008 14:02:30 +0000 (16:02 +0200)]
OMAP: HSMMC: Use mod_timer from a single point for readability.

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
17 years agoOMAP: HSMMC: Fix SDVS values in omap_mmc_switch_opcond
Jarkko Lavinen [Thu, 6 Nov 2008 14:02:28 +0000 (16:02 +0200)]
OMAP: HSMMC: Fix SDVS values in omap_mmc_switch_opcond

Set only 1.8V as SDVS value in HCTL register for HSMMC2 and HSMMC3.

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
17 years agoOMAP: HSMMC: Fix oops in omap_mmc_remove
Jarkko Lavinen [Thu, 6 Nov 2008 14:02:29 +0000 (16:02 +0200)]
OMAP: HSMMC: Fix oops in omap_mmc_remove

Do not access host in omap_mmc_remove() if it is null.  This
occurs when module is removed before its platform data is set.

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
17 years agoOMAP: HSMMC: Fix suspend/resume for MMCHS2
Jarkko Lavinen [Tue, 28 Oct 2008 09:12:28 +0000 (11:12 +0200)]
OMAP: HSMMC: Fix suspend/resume for MMCHS2

For HSMMC2 and HSMMC3 set SDVSS to 1.8V in HCTL before enabling the SDBP bit.

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
17 years agoOMAP: HSMMC: Make fclk disable request driven.
Jarkko Lavinen [Fri, 24 Oct 2008 13:30:26 +0000 (16:30 +0300)]
OMAP: HSMMC: Make fclk disable request driven.

Start idle timer only at the end of request or request like operation
such card detect, set_ios, probe, or resume. This will ensure the fclk is
disable quickly after the operation is done, but never too early.

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
17 years agoOMAP: HSMMC: Ensure fclk is running before accessing HSMMC registers
Jarkko Lavinen [Fri, 24 Oct 2008 13:03:23 +0000 (16:03 +0300)]
OMAP: HSMMC: Ensure fclk is running before accessing HSMMC registers

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>