22 Oct, 2010
2 commits
-
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (278 commits)
arm: remove machine_desc.io_pg_offst and .phys_io
arm: use addruart macro to establish debug mappings
arm: return both physical and virtual addresses from addruart
arm/debug: consolidate addruart macros for CONFIG_DEBUG_ICEDCC
ARM: make struct machine_desc definition coherent with its comment
eukrea_mbimxsd-baseboard: Pass the correct GPIO to gpio_free
cpuimx27: fix compile when ULPI is selected
mach-pcm037_eet: fix compile errors
Fixing ethernet driver compilation error for i.MX31 ADS board
cpuimx51: update board support
mx5: add cpuimx51sd module and its baseboard
iomux-mx51: fix GPIO_1_xx 's IOMUX configuration
imx-esdhc: update devices registration
mx51: add resources for SD/MMC on i.MX51
iomux-mx51: fix SD1 and SD2's iomux configuration
clock-mx51: rename CLOCK1 to CLOCK_CCGR for better readability
clock-mx51: factorize clk_set_parent and clk_get_rate
eukrea_mbimxsd: add support for DVI displays
cpuimx25 & cpuimx35: fix OTG port registration in host mode
i.MX31 and i.MX35 : fix errate TLSbo65953 and ENGcm09472
... -
…git/tip/linux-2.6-tip
* 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (163 commits)
tracing: Fix compile issue for trace_sched_wakeup.c
[S390] hardirq: remove pointless header file includes
[IA64] Move local_softirq_pending() definition
perf, powerpc: Fix power_pmu_event_init to not use event->ctx
ftrace: Remove recursion between recordmcount and scripts/mod/empty
jump_label: Add COND_STMT(), reducer wrappery
perf: Optimize sw events
perf: Use jump_labels to optimize the scheduler hooks
jump_label: Add atomic_t interface
jump_label: Use more consistent naming
perf, hw_breakpoint: Fix crash in hw_breakpoint creation
perf: Find task before event alloc
perf: Fix task refcount bugs
perf: Fix group moving
irq_work: Add generic hardirq context callbacks
perf_events: Fix transaction recovery in group_sched_in()
perf_events: Fix bogus AMD64 generic TLB events
perf_events: Fix bogus context time tracking
tracing: Remove parent recording in latency tracer graph options
tracing: Use one prologue for the preempt irqs off tracer function tracers
...
20 Oct, 2010
1 commit
19 Oct, 2010
2 commits
-
…x' and 'unwind' into devel
-
When DYNAMIC_FTRACE is enabled and we use the C version of recordmcount,
all objects are run through the recordmcount program to create a
separate section that stores all the callers of mcount.The build process has a special file: scripts/mod/empty.o. This is
built from empty.c which is literally an empty file (except for a
single comment). This file is used to find information about the target
elf format, like endianness and word size.The problem comes up when we need to build recordmcount. The
build process requires that empty.o is built first. The build rules
for empty.o will try to execute recordmcount on the empty.o file.
We get an error that recordmcount does not exist.To avoid this recursion, the build file will skip running recordmcount
if the file that it is building is script/mod/empty.o.[ extra comment Suggested-by: Sam Ravnborg ]
Reported-by: Ingo Molnar
Tested-by: Ingo Molnar
Cc: Michal Marek
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Steven Rostedt
16 Oct, 2010
1 commit
-
The C version of recordmcount is compiled to a binary, which will
end up located in the objtree. If the kernel is built with O=path,
the srctree will not include the binary recordmcount caller.Cc: Michal Marek
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Steven Rostedt
15 Oct, 2010
4 commits
-
The file kernel/trace/ftrace.c references the mcount() call to
convert the mcount() callers to nops. But because it references
mcount(), the mcount() address is placed in the relocation table.The C version of recordmcount reads the relocation table of all
object files, and it will add all references to mcount to the
__mcount_loc table that is used to find the places that call mcount()
and change the call to a nop. When recordmcount finds the mcount reference
in kernel/trace/ftrace.o, it saves that location even though the code
is not a call, but references mcount as data.On boot up, when all calls are converted to nops, the code has a safety
check to determine what op code it is actually replacing before it
replaces it. If that op code at the address does not match, then
a warning is printed and the function tracer is disabled.The reference to mcount in ftrace.c, causes this warning to trigger,
since the reference is not a call to mcount(). The ftrace.c file is
not compiled with the -pg flag, so no calls to mcount() should be
expected.This patch simply makes recordmcount.c skip the kernel/trace/ftrace.c
file. This was the same solution used by the perl version of
recordmcount.Reported-by: Ingo Molnar
Cc: John Reiser
Signed-off-by: Steven Rostedt -
The elf reader for recordmcount.c had duplicate functions for both
32 bit and 64 bit elf handling. This was due to the need of using
the 32 and 64 bit elf structures.This patch consolidates the two by using macros to define the 32
and 64 bit names in a recordmcount.h file, and then by just defining
a RECORD_MCOUNT_64 macro and including recordmcount.h twice we
create the funtions for both the 32 bit version as well as the
64 bit version using one code source.Cc: John Reiser
Signed-off-by: Steven Rostedt -
This patch adds the support for the C version of recordmcount and
compile times show ~ 12% improvement.After verifying this works, other archs can add:
HAVE_C_MCOUNT_RECORD
in its Kconfig and it will use the C version of recordmcount
instead of the perl version.Cc:
Cc: Michal Marek
Cc: linux-kbuild@vger.kernel.org
Cc: John Reiser
Signed-off-by: Steven Rostedt -
Currently, the mcount callers are found with a perl script that does
an objdump on every file in the kernel. This is a C version of that
same code which should increase the performance time of compiling
the kernel with dynamic ftrace enabled.Signed-off-by: John Reiser
[ Updated the code to include .text.unlikely section as well as
changing the format to follow Linux coding style. ]Signed-off-by: Steven Rostedt
12 Oct, 2010
1 commit
-
* 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
kbuild: fix oldnoconfig to do the right thing
kconfig: Temporarily disable dependency warnings
kconfig: delay symbol direct dependency initialization
10 Oct, 2010
2 commits
-
Commit 861b4ea4 broke oldnoconfig when removed the oldnoconfig checks on
if (input_mode == nonint_oldconfig ||
input_mode == oldnoconfig) {
if (input_mode == nonint_oldconfig &&
sym->name &&
!sym_is_choice_value(sym)) {
to avoid oldnoconfig chugging through the else stanza.Fix that to restore expected behaviour (which I've confirmed in the
Fedora kernel build that the configs end up looking the same.)Signed-off-by: Kyle McMartin
Acked-by: Sam Ravnborg
Signed-off-by: Michal Marek -
After fixing a use-after-free bug in kconfig, a 'make defconfig' or
'make allmodconfig' fills the screen with warnings that were not
detected before. Given that we are close to the release now, disable the
warnings temporarily and deal with them after 2.6.36.Signed-off-by: Michal Marek
04 Oct, 2010
1 commit
-
This fixes the use-after-free and associated crash in kconfig introduced
in commit 246cf9c26bf11f2bffbecea6e5bd222eee7b1df8.Signed-off-by: Arnaud Lacombe
Acked-by: Catalin Marinas
Signed-off-by: Michal Marek
24 Sep, 2010
1 commit
-
The following build bug occurs on distcc builds:
CC arch/x86/kernel/asm-offsets.s
In file included from include/linux/module.h:24,
from include/linux/crypto.h:22,
from arch/x86/kernel/asm-offsets_64.c:9,
from arch/x86/kernel/asm-offsets.c:5:
include/trace/events/module.h: In function 'trace_module_load':
include/trace/events/module.h:18: error: expected '(' before 'goto'
include/trace/events/module.h:18: error: expected identifier or '*' before '(' tokenIt triggers because distcc is invoked by turning $CC into "distcc gcc",
but gcc-goto.sh check script was using $1 not $@ to expand parameters.Cc: Jason Baron
Cc: Steven Rostedt
LKML-Reference:
Signed-off-by: Ingo Molnar
23 Sep, 2010
2 commits
-
Convert the 'dynamic debug' infrastructure to use jump labels.
Signed-off-by: Jason Baron
LKML-Reference:
Signed-off-by: Steven Rostedt -
base patch to implement 'jump labeling'. Based on a new 'asm goto' inline
assembly gcc mechanism, we can now branch to labels from an 'asm goto'
statment. This allows us to create a 'no-op' fastpath, which can subsequently
be patched with a jump to the slowpath code. This is useful for code which
might be rarely used, but which we'd like to be able to call, if needed.
Tracepoints are the current usecase that these are being implemented for.Acked-by: David S. Miller
Signed-off-by: Jason Baron
LKML-Reference:[ cleaned up some formating ]
Signed-off-by: Steven Rostedt
12 Sep, 2010
2 commits
-
When you don't use !E or !I but only !F, then it's very easy to miss
including some functions, structs etc. in documentation. To help
finding which ones were missed, allow printing out the unused ones as
warnings.For example, using this on mac80211 yields a lot of warnings like this:
Warning: didn't use docs for DOC: mac80211 workqueue
Warning: didn't use docs for ieee80211_max_queues
Warning: didn't use docs for ieee80211_bss_change
Warning: didn't use docs for ieee80211_bss_confwhen generating the documentation for it.
Signed-off-by: Johannes Berg
Signed-off-by: Randy Dunlap
Signed-off-by: Linus Torvalds -
There are valid attributes that could have upper case letters, but we
still want to remove, like for example
__attribute__((aligned(NETDEV_ALIGN)))
as encountered in the wireless code.Signed-off-by: Johannes Berg
Signed-off-by: Randy Dunlap
Signed-off-by: Linus Torvalds
02 Sep, 2010
3 commits
-
Handle the different nop and call instructions for Thumb-2. Also, we
need to adjust the recorded mcount_loc addresses because they have the
lsb set.Cc: Catalin Marinas
Acked-by: Steven Rostedt [recordmcount.pl change]
Signed-off-by: Rabin Vincent
Signed-off-by: Russell King -
This adds mcount recording and updates dynamic ftrace for ARM to work
with the new ftrace dyamic tracing implementation. It also adds support
for the mcount format used by newer ARM compilers.With dynamic tracing, mcount() is implemented as a nop. Callsites are
patched on startup with nops, and dynamically patched to call to the
ftrace_caller() routine as needed.Acked-by: Steven Rostedt [recordmcount.pl change]
Signed-off-by: Rabin Vincent
Signed-off-by: Russell King -
On ARM, we have two ABIs, and the ABI used is controlled via a config
option. Object files built with one ABI can't be merged with object
files built with the other ABI. So, record_mcount.pl needs to use the
same compiler flags as the kernel when generating the object file with
the mcount locations. Ensure this by passing CFLAGS to the script.Acked-by: Steven Rostedt
Signed-off-by: Rabin Vincent
Signed-off-by: Russell King
24 Aug, 2010
1 commit
-
* 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
setlocalversion: Ignote SCMs above the linux source tree
makefile: not need to regenerate kernel.release file when make kernelrelease
fixes for using make 3.82
kconfig: fix segfault when detecting recursive dependency
kconfig: fix savedefconfig with choice marked optional
21 Aug, 2010
1 commit
-
Dan McGee writes:
> Note that when in git, you get the appended "+" sign. If
> LOCALVERSION_AUTO is set, you will get something like
> "eee-gb01b08c-dirty" (whereas the copy of the tree in /tmp still
> returns "eee"). It doesn't matter whether the working tree is dirty or
> clean.
>
> Is there a way to disable this? I'm building from a clean tarball that
> just happens to be unpacked inside a git repository. One would think
> setting LOCALVERSION_AUTO to false would do it, but no such luck...Fix this by checking if the kernel source tree is the root of the git or
hg repository. No fix for svn: If the kernel source is not tracked in
the svn repository, it works as expected, otherwise determining the
'repository root' is not really a defined task.Reported-and-tested-by: Dan McGee
Signed-off-by: Michal Marek
20 Aug, 2010
1 commit
17 Aug, 2010
1 commit
-
It doesn't like pattern and explicit rules to be on the same line,
and it seems to be more picky when matching file (or really directory)
names with different numbers of trailing slashes.Signed-off-by: Jan Beulich
Acked-by: Sam Ravnborg
Andrew Benton
Cc:
Signed-off-by: Michal Marek
16 Aug, 2010
1 commit
-
…t/rostedt/linux-2.6-trace into trace/tip/perf/urgent-4
Conflicts:
kernel/trace/trace_events.cSigned-off-by: Steven Rostedt <rostedt@goodmis.org>
15 Aug, 2010
3 commits
-
Following sample Kconfig generated a segfault:
config FOO
bool
select PERF_EVENTS if HAVE_HW_BREAKPOINTconfig PERF_EVENTS
boolconfig HAVE_HW_BREAKPOINT
bool
depends on PERF_EVENTSFix by reverting back to a valid property if there was no
property on the stack of symbols.The above pattern were seen in sh Kconfig.
A fix for the Kconfig file has been sent to the sh folks.Signed-off-by: Sam Ravnborg
Signed-off-by: Michal Marek -
savedefconfig failed to save the correct minimal config
when it encountered a choice marked optional.Consider following minimal configuration:
$cat Kconfig
choice
prompt "choice"
optionalconfig A
bool "a"config B
bool "b"endchoice
$cat .config | grep -v ^#
CONFIG_A=y$conf --savedefconfig=defconfig Kconfig
would before this fix result in an empty file, because
kconfig would assume that CONFIG_A=y is a default value.
But because the choice is optional the default is that
both A and B are =n.Fix so we handle optional choices correct.
Signed-off-by: Sam Ravnborg
Signed-off-by: Michal Marek -
unifdef-y is not used anymore - drop remaining references
Signed-off-by: Sam Ravnborg
14 Aug, 2010
2 commits
-
* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
setlocalversion: fix version for untaged nontip mercurial revs
Fix CONFIG_CROSS_COMPILE issue in .config -
* 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
kconfig: Fix warning: ignoring return value of 'fgets'
kconfig: Fix warning: ignoring return value of 'fwrite'
nconfig: Fix segfault when menu is empty
kconfig: fix tristate choice with minimal config
kconfig: fix savedefconfig for tristate choices
13 Aug, 2010
6 commits
-
The manpage for cut says it will return all lines without the delimiter
unless -s is specified.When I backed up my mecurial tree to generate modules, I found that the
scm part of localversion was turning up blank.Signed-off-by: Milton Miller
Cc: Michal Marek
Cc: "Michał Górny"
Signed-off-by: Michal Marek -
This fix facilitates fgets() either it returns on success or on error or
when end of file occurs.Signed-off-by: Jean Sacren
Signed-off-by: Michal Marek -
This fix facilitates fwrite() in both confdata.c and expr.c, either it
succeeds in writing, or an error occurs, or the end of file is reached.Signed-off-by: Jean Sacren
Signed-off-by: Michal Marek -
nconf crush with segfault if press right arrow in empty menu.
Signed-off-by: Andrej Gelenberg
Signed-off-by: Michal Marek -
* 'params' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (22 commits)
param: don't deref arg in __same_type() checks
param: update drivers/acpi/debug.c to new scheme
param: use module_param in drivers/message/fusion/mptbase.c
ide: use module_param_named rather than module_param_call
param: update drivers/char/ipmi/ipmi_watchdog.c to new scheme
param: lock if_sdio's lbs_helper_name and lbs_fw_name against sysfs changes.
param: lock myri10ge_fw_name against sysfs changes.
param: simple locking for sysfs-writable charp parameters
param: remove unnecessary writable charp
param: add kerneldoc to moduleparam.h
param: locking for kernel parameters
param: make param sections const.
param: use free hook for charp (fix leak of charp parameters)
param: add a free hook to kernel_param_ops.
param: silence .init.text references from param ops
Add param ops struct for hvc_iucv driver.
nfs: update for module_param_named API change
AppArmor: update for module_param_named API change
param: use ops in struct kernel_param, rather than get and set fns directly
param: move the EXPORT_SYMBOL to after the definitions.
... -
Permit .GCC-command-line sections in modules. Otherwise modpost says things
like:WARNING: drivers/mtd/chips/map_ram.o (.GCC-command-line): unexpected non-allocatable section.
Did you forget to use "ax"/"aw" in a .S file?
Note that for example contains
section definitions for use in .S files.Signed-off-by: David Howells
Signed-off-by: Linus Torvalds
12 Aug, 2010
2 commits
-
The mcount call on Blackfin systems includes some stack manipulation
around the actual call site, so extend the build time perl script to
support this. This way we can avoid doing the calculation at runtime.Signed-off-by: Mike Frysinger
LKML-Reference:
Signed-off-by: Steven Rostedt -
If a minimal config did not specify the value
of all choice values, the resulting configuration
could have wrong values.Consider following example:
config M
def_bool y
option modules
choice
prompt "choice list"
config A
tristate "a"
config B
tristate "b"
endchoiceWith a defconfig like this:
CONFIG_M=y
CONFIG_A=yThe resulting configuration would have
CONFIG_A=m
which was unexpected.
The problem was not not all choice values were set and thus
kconfig calculated a wrong value.The fix is to set all choice values when we
read a defconfig files.conf_set_all_new_symbols() is refactored such that
random choice values are now handled by a dedicated function.
And new choice values are set by set_all_choice_values().This was not the minimal fix, but the fix that resulted
in the most readable code.Signed-off-by: Sam Ravnborg
Reported-by: Arve Hjønnevåg
Tested-by: Arve Hjønnevåg
Signed-off-by: Michal Marek