On Sun, Aug 19, 2012 at 02:27:12PM -0400, Huang Shijie wrote:
> --- a/include/linux/tty.h
> +++ b/include/linux/tty.h
> @@ -43,6 +43,7 @@
> #include
> #include
> #include
> +#include
>
>
>
> @@ -513,6 +514,12 @@ static inline struct tty_port *tty_port_get(struct
> tty_port *port)
>
On Sat, Aug 18, 2012 at 11:33:02PM -0700, Greg KH wrote:
> On Sat, Aug 18, 2012 at 11:13:52PM -0700, Greg KH wrote:
> > On Sat, Aug 18, 2012 at 06:35:51PM -0600, Jim Cromie wrote:
> > > commit af7f2158fde was done against master, and clashed with structured
> > > logging's change of KERN_LEVEL to
On Sat, Aug 18, 2012 at 11:14:43PM -0700, Greg KH wrote:
> On Sat, Aug 18, 2012 at 09:32:21PM +0200, Markus Trippelsdorf wrote:
> > On 2012.08.18 at 12:24 -0700, Linus Torvalds wrote:
> > > On Sat, Aug 18, 2012 at 11:55 AM, Markus Trippelsdorf
> > > wrote:
> > > >
> > > > IOW:
> > >
> > > Ack, th
On Sun, Aug 19, 2012 at 12:47:46AM +0530, Laxman Dewangan wrote:
> Tegra20 i2c controller does not support the continue transfer
> which implements the I2C_M_NOSTART functionality of i2c
> protocol mangling.
> Removing the I2C_M_NOSTART functionality support for Tegra20.
>
> Signed-off-by: Laxman
On Sat, Aug 18, 2012 at 11:13:52PM -0700, Greg KH wrote:
> On Sat, Aug 18, 2012 at 06:35:51PM -0600, Jim Cromie wrote:
> > commit af7f2158fde was done against master, and clashed with structured
> > logging's change of KERN_LEVEL to SOH.
> >
> > Bisected and fixed by Markus Trippelsdorf.
> >
> >
In most of the time, the driver needs to check if the cts flow control
is enabled. But now, the driver checks the ASYNC_CTS_FLOW flag manually,
which is not a grace way. So add a new wraper function to make the code
tidy and clean.
Signed-off-by: Huang Shijie
---
drivers/char/pcmcia/synclink_cs.
On Sat, Aug 18, 2012 at 10:49:06PM +0200, Rafael J. Wysocki wrote:
> On Saturday, August 18, 2012, Rafael J. Wysocki wrote:
> > On Saturday, August 18, 2012, Ming Lei wrote:
> > > On Sat, Aug 18, 2012 at 9:38 PM, Rafael J. Wysocki wrote:
> > > >
> > > > My question was about the number of current
On Sat, Aug 18, 2012 at 09:32:21PM +0200, Markus Trippelsdorf wrote:
> On 2012.08.18 at 12:24 -0700, Linus Torvalds wrote:
> > On Sat, Aug 18, 2012 at 11:55 AM, Markus Trippelsdorf
> > wrote:
> > >
> > > IOW:
> >
> > Ack, that looks about right. Does that simple patch fix the issue for
> > you?
>
On Sat, Aug 18, 2012 at 06:35:51PM -0600, Jim Cromie wrote:
> commit af7f2158fde was done against master, and clashed with structured
> logging's change of KERN_LEVEL to SOH.
>
> Bisected and fixed by Markus Trippelsdorf.
>
> CC: Markus Trippelsdorf
> Signed-off-by: Jim Cromie
> ---
> drivers
On 2012.08.18 at 17:08 -0700, Linus Torvalds wrote:
> On Sat, Aug 18, 2012 at 12:32 PM, Markus Trippelsdorf
> wrote:
> >
> > Yes. Everything is fine again with this patch applied.
>
> Ok, can you write a commit message and sign off on it, and I'll apply
> it (or Greg will, either way that message
On Sat, 2012-08-18 at 11:57 +0200, Thomas Haschka wrote:
> Hello everybody!
Hi Thomas,
Unfortunately, there are quite a few things wrong with your patch that
will likely prevent any kernel developers from picking it up as-is.
Please read through the file Documentation/SubmittingPatches, it has a
l
On 08/18/2012 07:38 PM, Yu, Fenghua wrote:
>
> In this early phase, detecting vendor in initrd is much simpler code.
> Otherwise, detecting vendor by cpuid (and without cpuid) needs
> similar but different code as existing functions and coding would be
> awkward.
>
I'm confused by this statement
On 08/18/2012 09:35 PM, Henrique de Moraes Holschuh wrote:
> On Sat, 18 Aug 2012, Yu, Fenghua wrote:
>>> From: Henrique de Moraes Holschuh [mailto:h...@hmh.eng.br] On Sat, 18 Aug
>>> 2012, Fenghua Yu wrote:
Given a file's name, find its starting point in a cpio formated area.
>>> This will
>>>
On Sun, Aug 19, 2012 at 03:59:11AM +0200, Andi Kleen wrote:
> On Sat, Aug 18, 2012 at 04:23:04PM -0700, Guenter Roeck wrote:
> > On Sat, Aug 18, 2012 at 10:30:05AM -0700, Andi Kleen wrote:
> > > From: Andi Kleen
> > >
> > > Signed-off-by: Andi Kleen
> >
> > Applied.
> >
>
> Thanks.
>
> > Loo
There are no more embedded kobjects in struct mem_ctl_info. Remove a header and
a comment that does not reflect the code anymore.
Signed-off-by: Shaun Ruffell
---
drivers/edac/edac_mc.c | 7 ---
include/linux/edac.h | 1 -
2 files changed, 8 deletions(-)
diff --git a/drivers/edac/edac_mc.
With kernel version 3.6-rc2 on a Dell Poweredge 2600 I experienced a NULL
pointer dereference that did not occur with on 3.5. I believe the error is
related to commit de3910eb79a "edac: change the mem allocation scheme to make
Documentation/kobject.txt happy" [1] and the fact that my system is goin
edac_mc_free() may need to deallocate any memory associated with struct
mem_ctl_info directly if the structure was never registered with sysfs in
edac_mc_add_mc(). This moves the error handling code from edac_mc_alloc() into a
dedicated function to be called by edac_mc_free() as well if necessary.
From: Fengguang Wu
We need to free up memory in this order:
free csrows[i]->channels[j]
free csrows[i]->channels
free csrows[i]
free csrows
Signed-off-by: Fengguang Wu
---
drivers/edac/edac_mc.c | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/e
On Sun, 19 Aug 2012, Yu, Fenghua wrote:
> > From: Henrique de Moraes Holschuh [mailto:h...@hmh.eng.br]
> > On Sat, 18 Aug 2012, Fenghua Yu wrote:
> > > + char ucode_name[] =
> > "kernel/x86/microcode/GenuineIntel/microcode.hex";
> >
> > Why name it ".hex" when you're loading binary data? I sugges
On Sat, 18 Aug 2012, Yu, Fenghua wrote:
> > From: Henrique de Moraes Holschuh [mailto:h...@hmh.eng.br] On Sat, 18 Aug
> > 2012, Fenghua Yu wrote:
> > > Given a file's name, find its starting point in a cpio formated area.
> > This will
> > > be used to find microcode in combined initrd image. But t
Adding linux-net to the CC list.
On Fri, Aug 17, 2012 at 11:57:56PM +0100, Dave Haywood wrote:
> [1.] One line summary of the problem:
> BUG: unable to handle kernel paging request at 00010016
>
> System boots then crashes a 5-10 or so seconds after getting to the
> login prompt
> Bo
Commit-ID: 515c7af85ed92696c311c53d53cb4898ff32d784
Gitweb: http://git.kernel.org/tip/515c7af85ed92696c311c53d53cb4898ff32d784
Author: Mike Frysinger
AuthorDate: Sat, 18 Aug 2012 16:11:37 -0400
Committer: H. Peter Anvin
CommitDate: Sat, 18 Aug 2012 14:15:39 -0700
x32: Use compat shims
From: Andi Kleen
LTO in gcc 4.6/47. has trouble with global register variables. They were used
to read the stack pointer. Use a simple inline assembler statement instead.
I verified this generates the same binary (on 64bit) as the original
register variable.
Signed-off-by: Andi Kleen
---
arch
From: Andi Kleen
Cc: herb...@gondor.apana.org.au
Signed-off-by: Andi Kleen
---
arch/x86/crypto/camellia_glue.c | 16
1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/arch/x86/crypto/camellia_glue.c b/arch/x86/crypto/camellia_glue.c
index eeb2b3b..f290db7 100644
From: Andi Kleen
- Inline assembler defining C callable code has to be global
- The function has to be visible
Do this in wan/sbni
Signed-off-by: Andi Kleen
---
drivers/net/wan/sbni.c |6 +++---
drivers/net/wan/sbni.h |2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git
From: Andi Kleen
This is an arch/x86 sweep to add asmlinkage or __visible
to all functions accessed by assembler code. A lot of
functions already had it, but not all.
This is needed for the LTO kernel so that these functions are
not optimized away.
I used asmlinkage for functions without argume
From: Andi Kleen
Mark 32bit dotraplinkage functions as __visible for LTO.
64bit already is using asmlinkage which includes it.
Signed-off-by: Andi Kleen
---
arch/x86/include/asm/traps.h |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/include/asm/traps.h b/arc
From: Andi Kleen
Signed-off-by: Andi Kleen
---
include/linux/export.h | 14 --
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/include/linux/export.h b/include/linux/export.h
index 696c0f4..784617e 100644
--- a/include/linux/export.h
+++ b/include/linux/export.h
@@
From: Andi Kleen
The vsyscall code is compiled without LTO. This also includes
its init function. The function which are called by it have
to be visible, otherwise they could be optimized away
Signed-off-by: Andi Kleen
---
drivers/char/random.c |2 +-
include/linux/mm.h|1 +
mm/vma
From: Joe Mario
Here is the workaround I made for having the kernel not reject modules
built with -flto. The clean solution would be to get the compiler to not
emit the symbol. Or if it has to emit the symbol, then emit it as
initialized data but put it into a comdat/linkonce section.
Minor tw
From: Andi Kleen
Signed-off-by: Andi Kleen
---
arch/x86/include/asm/vvar.h |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/include/asm/vvar.h b/arch/x86/include/asm/vvar.h
index de656ac..d76ac40 100644
--- a/arch/x86/include/asm/vvar.h
+++ b/arch/x86/include/a
From: Andi Kleen
Signed-off-by: Andi Kleen
---
arch/x86/include/asm/pgtable.h |3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
index 49afb3f..72b24ab 100644
--- a/arch/x86/include/asm/pgtable.h
+++ b/arch/
From: Andi Kleen
gcc 4.6+ has support for a externally_visible attribute, that prevents
the optimizer from optimizing unused symbols away. Add a __visible macro
to use it with that compiler version or later.
Signed-off-by: Andi Kleen
---
include/linux/compiler-gcc4.h |7 +++
include/li
From: Andi Kleen
LTO turns all global symbols effectively into statics. This
has the side effect that they all have a .NUMBER postfix to make
them unique. In modpost drop this postfix because it confuses
it.
Signed-off-by: Andi Kleen
---
scripts/mod/modpost.c | 15 ++-
scripts/mo
From: Andi Kleen
- Make all the external assembler template symbols __visible
- Move the templates inline assembler code into a top level
assembler statement, not inside a function. This avoids it being
optimized away or cloned.
Cc: ana...@in.ibm.com
Signed-off-by: Andi Kleen
---
arch/x86/incl
From: Andi Kleen
Signed-off-by: Andi Kleen
---
arch/m68k/include/asm/module.h |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/m68k/include/asm/module.h b/arch/m68k/include/asm/module.h
index edffe66..15cb110 100644
--- a/arch/m68k/include/asm/module.h
+++ b/arch/m
From: Andi Kleen
Signed-off-by: Andi Kleen
---
kernel/extable.c |4 ++--
kernel/ksysfs.c |4 ++--
kernel/module.c | 30 +++---
kernel/params.c |6 +++---
kernel/spinlock.c |2 +-
5 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/ke
From: Andi Kleen
Making these symbols visible works around a gcc 4.7 LTO compiler
problem with missing symbols.
Signed-off-by: Andi Kleen
---
.../net/wireless/ath/ath9k/dfs_pattern_detector.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/ath/at
From: Andi Kleen
It needs special options for a file, which LTO does not support.
XXX: may need some more __visibles
Cc: b...@kernel.crashing.org
Cc: h...@zytor.com
Signed-off-by: Andi Kleen
---
lib/raid6/Makefile |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/lib/r
From: Andi Kleen
Signed-off-by: Andi Kleen
---
init/do_mounts_initrd.c |2 +-
init/initramfs.c|4 ++--
init/main.c |2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c
index 135959a2..71a625e 1006
From: Andi Kleen
- Make the C code used by the paravirt stubs visible
- Since they have to be global now, give them a more unique
name.
Cc: ru...@rustcorp.com.au
Signed-off-by: Andi Kleen
---
arch/x86/lguest/boot.c | 12 ++--
1 files changed, 6 insertions(+), 6 deletions(-)
diff --g
From: Andi Kleen
When __gnu_lto_* is present that means that the module hasn't run with
LTO yet.
Cc: ru...@rustcorp.com.au
Signed-off-by: Andi Kleen
---
kernel/module.c |5 -
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/kernel/module.c b/kernel/module.c
index 2cbbae3.
From: Andi Kleen
The AMD K6 errata check relies on timing a indirect call.
But the way it was written it could be optimized to a direct call.
Force gcc to actually do a indirect call and not just
constant resolve the target address.
Signed-off-by: Andi Kleen
---
arch/x86/kernel/cpu/amd.c |
From: Andi Kleen
Signed-off-by: Andi Kleen
---
arch/sh/include/asm/sections.h |8
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/sh/include/asm/sections.h b/arch/sh/include/asm/sections.h
index 1b61997..e18e132 100644
--- a/arch/sh/include/asm/sections.h
+++ b/
From: Andi Kleen
Signed-off-by: Andi Kleen
---
include/linux/jump_label.h |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/jump_label.h b/include/linux/jump_label.h
index 0976fc4..a39e8e3 100644
--- a/include/linux/jump_label.h
+++ b/include/linux/jump_l
From: Andi Kleen
A label declared in inline assembler has to be visible
Signed-off-by: Andi Kleen
---
arch/x86/kernel/cpu/amd.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 9d92e19..2c02d92 100644
--- a/
From: Andi Kleen
... since it can be called from assembler code
Signed-off-by: Andi Kleen
---
include/linux/kernel.h |2 +-
kernel/exit.c |2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 6043821..73a1a5
From: Andi Kleen
The paravirt patching code assumes that it can reference a
local assembler label between two different top level assembler
statements. This does not work with some experimental gcc builds,
where the assembler code may end up in different assembler files.
Replace it with extern /
From: Andi Kleen
Signed-off-by: Andi Kleen
---
lib/bug.c |2 +-
lib/dynamic_debug.c |4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/bug.c b/lib/bug.c
index a28c141..f81e1a6 100644
--- a/lib/bug.c
+++ b/lib/bug.c
@@ -43,7 +43,7 @@
#include
#includ
From: Andi Kleen
The paravirt thunks use a hack of using a static reference to a static
function to reference that function from the top level statement.
This assumes that gcc always generates static function names in a specific
format, which is not necessarily true.
Simply make these functions
From: Andi Kleen
The new LTO EXPORT_SYMBOL references symbols even without CONFIG_MODULES.
Since these functions are macros in this case this doesn't work.
Add a ifdef to fix the build.
Cc: ti...@suse.de
Signed-off-by: Andi Kleen
---
sound/core/seq/seq_device.c |2 ++
1 files changed, 2 in
From: Andi Kleen
lockdep_sys_exit can be called from assembler code, so make it
asmlinkage
Signed-off-by: Andi Kleen
---
include/linux/lockdep.h |2 +-
kernel/lockdep.c|2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/lockdep.h b/include/linux/
From: Andi Kleen
Make the ksymtab symbols for EXPORT_SYMBOL visible.
This prevents the LTO compiler from adding a .NUMBER prefix,
which avoids various problems in later export processing.
Signed-off-by: Andi Kleen
---
include/linux/export.h |4 ++--
scripts/mod/modpost.c |2 +-
2 file
From: Andi Kleen
The VMX code references a local assembler label between two inline
assembler statements. This assumes they both end up in the same
assembler files. In some experimental builds of gcc this is not
necessarily true, causing linker failures.
Replace the local label reference with a
From: Andi Kleen
Signed-off-by: Andi Kleen
---
kernel/trace/ftrace.c |4 ++--
kernel/trace/trace.h |4 ++--
kernel/trace/trace_branch.c |8
kernel/trace/trace_events.c |4 ++--
kernel/trace/trace_syscalls.c |4 ++--
kernel/tracepoint.c
From: Andi Kleen
Signed-off-by: Andi Kleen
---
include/linux/linkage.h |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index 807f1e5..8d6ff27 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -5,9
From: Joe Mario
With the added postfixes that LTO adds for local
symbols, the longest name in the kernel overflows
the namebuf[KSYM_NAME_LEN] array by two bytes. That name is:
__pci_fixup_resumePCI_VENDOR_ID_SERVERWORKSPCI_DEVICE_ID_SERVERWORKS_HT1000SBquirk_disable_broadcom_boot_interrupt.14880
From: Andi Kleen
Disable static detection: the static currently drops a lot of useful information
including clones generated by gcc. Drop this. The statics will appear now
without static. prefix.
But remove the LTO .NUMBER postfixes that look ugly
Signed-off-by: Andi Kleen
---
scripts/bloat-o
On Sat, Aug 18, 2012 at 05:50:02AM -0400, Namjae Jeon wrote:
> From: Namjae Jeon
>
> This patch is based on suggestion by Wu Fengguang:
> https://lkml.org/lkml/2011/8/19/19
>
> kernel has mechanism to do writeback as per dirty_ratio and dirty_background
> ratio. It also maintains per task dirty
From: Andi Kleen
The gcc 4.7 LTO with -fno-toplevel-reorder sometimes drops data
variables. These show up as undefined symbols at link time.
As a workaround just make a few where it happened visible for now.
There isl nothing wrong with this driver, just a toolchain problem.
Signed-off-by: Andi
From: Andi Kleen
Every includer of vvar.h currently gets own static variables
for all the vvar addresses. Generate just one set each for the
main kernel and for the vdso. This saves some data space.
Cc: Andy Lutomirski
Signed-off-by: Andi Kleen
---
arch/x86/include/asm/vvar.h| 27 ++
From: Andi Kleen
The asm-offset.c technique to fish data out of the assembler file
does not work with LTO. Just disable for the asm-offset.c build.
Signed-off-by: Andi Kleen
---
scripts/Makefile.build |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/scripts/Makefile.bu
From: Andi Kleen
On a 32bit build gcc 4.7 with LTO decides to clobber the 6th argument on the
stack. Unfortunately this corrupts the user EBP and leads to later crashes.
For now mark do_futex noinline to prevent this.
I wish there was a generic way to handle this. Seems like a ticking time
bomb
From: Andi Kleen
Making this visible fixes some missing symbols with gcc 4.7 LTO.
This is a workaround for a compiler problem.
Signed-off-by: Andi Kleen
---
drivers/media/video/pvrusb2/pvrusb2-audio.c |6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/media/v
From: Andi Kleen
Work around a LTO gcc problem: when there is no reference to a variable
in a module it will be moved to the end of the program. This causes
reordering of initcalls which the kernel does not like.
Add a dummy reference function to avoid this. The function is
deleted by the linker.
From: Andi Kleen
LTO gcc has trouble with the weak alias definitions in sys_ni.
This leads to missing symbols. Just disable LTO for this file.
Signed-off-by: Andi Kleen
---
kernel/Makefile |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/kernel/Makefile b/kernel/Makef
From: Andi Kleen
Signed-off-by: Andi Kleen
---
drivers/rapidio/rio.h |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/rapidio/rio.h b/drivers/rapidio/rio.h
index b1af414..1fd0138 100644
--- a/drivers/rapidio/rio.h
+++ b/drivers/rapidio/rio.h
@@ -44,8 +44,8 @@
From: Andi Kleen
Signed-off-by: Andi Kleen
---
arch/x86/kernel/apm_32.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kernel/apm_32.c b/arch/x86/kernel/apm_32.c
index d65464e..61c9aa7 100644
--- a/arch/x86/kernel/apm_32.c
+++ b/arch/x86/kernel/apm_32.c
@@ -3
From: Andi Kleen
The VDSO does not play well with LTO, so just disable LTO for it.
Also pass a 32bit linker flag for the 32bit version.
Signed-off-by: Andi Kleen
---
arch/x86/vdso/Makefile | 10 +++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/arch/x86/vdso/Makefile
From: Andi Kleen
Signed-off-by: Andi Kleen
---
arch/x86/platform/efi/efi.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 2dc29f5..02bc41a 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/
From: Andi Kleen
Various kernel/mutex.c functions can be called from
inline assembler, so they should be all global and
__visible
Signed-off-by: Andi Kleen
---
kernel/mutex.c |9 -
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/kernel/mutex.c b/kernel/mutex.c
index
This rather large patchkit enables gcc Link Time Optimization (LTO)
support for the kernel.
With LTO gcc will do whole program optimizations for
the whole kernel and each module. This increases compile time,
but can generate faster code.
LTO allows gcc to inline functions between different
From: Andi Kleen
For LTO we need to run the link step with gcc, not ld.
Since there are a lot of linker options passed to it, add a gcc-ld wrapper
that wraps them as -Wl,
Signed-off-by: Andi Kleen
---
scripts/gcc-ld | 29 +
1 files changed, 29 insertions(+), 0 del
From: Andi Kleen
Add build documentation for LTO.
Signed-off-by: Andi Kleen
---
Documentation/lto-build | 115 +++
1 files changed, 115 insertions(+), 0 deletions(-)
create mode 100644 Documentation/lto-build
diff --git a/Documentation/lto-build b
From: Andi Kleen
The fancy x86 hweight uses different compiler options for the
hweight file. This does not work with LTO. Just disable the optimization
with LTO
Signed-off-by: Andi Kleen
---
arch/x86/Kconfig|5 +++--
arch/x86/include/asm/arch_hweight.h |9 +
From: Andi Kleen
With LTO gcc will do whole program optimizations for
the whole kernel and each module. This increases compile time,
but can generate faster code.
LTO allows gcc to inline functions between different files and
do various other optimization across the whole binary.
It might also
From: Andi Kleen
Also warn for too long symbols
Signed-off-by: Andi Kleen
---
scripts/kallsyms.c |8 +++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
index 487ac6f..acde016 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms
From: Andi Kleen
To check the linker version. Used by the LTO makefile.
Signed-off-by: Andi Kleen
---
scripts/Kbuild.include |9 +
scripts/ld-version.sh |8
2 files changed, 17 insertions(+), 0 deletions(-)
create mode 100755 scripts/ld-version.sh
diff --git a/scrip
From: Andi Kleen
Signed-off-by: Andi Kleen
---
lib/rwsem.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/lib/rwsem.c b/lib/rwsem.c
index 8337e1b..4a33b58 100644
--- a/lib/rwsem.c
+++ b/lib/rwsem.c
@@ -222,6 +222,7 @@ rwsem_down_failed_common(struct rw_semaphore *se
From: Andi Kleen
Cc: jer...@goop.org
Signed-off-by: Andi Kleen
---
arch/x86/include/asm/paravirt_types.h |3 ++-
arch/x86/xen/xen-ops.h| 16
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/arch/x86/include/asm/paravirt_types.h
b/arch/x86/i
From: Joe Mario
Use KSYM_NAME_LEN to size identifier buffers, so that it can
be easier increased.
Cc: ana...@in.ibm.com
Signed-off-by: Joe Mario
Signed-off-by: Andi Kleen
---
kernel/kprobes.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/kprobes.c b/kernel
From: Andi Kleen
The x86 kernel_execve has to be asmlinkage because it's called from
assembler code. To make it consistent I have to also change
the prototype in linux/syscalls.h
This in turn requires adding asmlinkage to all architectures.
Do this here in a tree sweep.
Signed-off-by: Andi Kle
From: Andi Kleen
Signed-off-by: Andi Kleen
---
arch/x86/kernel/cpu/common.c |4 ++--
arch/x86/kernel/process_64.c |2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 46d8786..8f12e8c 100644
--- a/arch/x8
From: Andi Kleen
VDSO does not play well with LTO, so just disable it.
(note that powerpc will likely need more changes for LTO, this was
just from grep)
Cc: b...@kernel.crashing.org
Signed-off-by: Andi Kleen
---
arch/powerpc/kernel/vdso32/Makefile |2 +-
arch/powerpc/kernel/vdso64/Makefi
From: Andi Kleen
- Don't warn for __gnu_lto_* COMMON symbols
- Don't complain about .gnu.lto* sections
Signed-off-by: Andi Kleen
---
scripts/mod/modpost.c |4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index ccd34ff..11
From: Andi Kleen
Signed-off-by: Andi Kleen
---
drivers/pnp/pnpbios/bioscalls.c |3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/pnp/pnpbios/bioscalls.c b/drivers/pnp/pnpbios/bioscalls.c
index 769d265..53a69a3 100644
--- a/drivers/pnp/pnpbios/bioscalls.c
+++ b/d
From: Andi Kleen
Signed-off-by: Andi Kleen
---
arch/powerpc/include/asm/cputable.h |2 +-
arch/powerpc/include/asm/firmware.h |2 +-
arch/powerpc/include/asm/mmu.h |2 +-
arch/powerpc/include/asm/synch.h|2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git
From: Andi Kleen
Signed-off-by: Andi Kleen
---
arch/tile/include/asm/sections.h |8
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/tile/include/asm/sections.h b/arch/tile/include/asm/sections.h
index d062d46..edee549 100644
--- a/arch/tile/include/asm/sections.
From: Andi Kleen
We cannot assume that the inline assembler code always ends up
in the same file as the original C file. So make any assembler labels
that are called with "extern" by C global
Cc: w...@iguana.be
Signed-off-by: Andi Kleen
---
drivers/watchdog/hpwdt.c |6 --
1 files chang
From: Andi Kleen
Signed-off-by: Andi Kleen
---
drivers/base/firmware_class.c |4 ++--
drivers/base/power/trace.c|2 +-
drivers/pci/quirks.c | 28 ++--
3 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/drivers/base/firmware_class.c b/
From: Andi Kleen
Various tables in aes_generic are accessed by assembler code.
Mark them __visible for LTO
Cc: herb...@gondor.apana.org.au
Signed-off-by: Andi Kleen
---
crypto/aes_generic.c |8
include/crypto/aes.h |8
2 files changed, 8 insertions(+), 8 deletions(-)
From: Andi Kleen
Signed-off-by: Andi Kleen
---
kernel/kallsyms.c | 12 ++--
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
index 2169fee..1b40cb7 100644
--- a/kernel/kallsyms.c
+++ b/kernel/kallsyms.c
@@ -36,20 +36,20 @@
* These
From: Andi Kleen
Signed-off-by: Andi Kleen
---
include/asm-generic/sections.h | 24
1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/include/asm-generic/sections.h b/include/asm-generic/sections.h
index c1a1216..eab95aa 100644
--- a/include/asm-generic
From: Andi Kleen
Make the sys_call_table type defined in asm/syscall.h match
the definition in syscall_64.c
v2: include asm/syscall.h in syscall_64.c too. I left uml alone
because it doesn't have an syscall.h on its own and including
the native one leads to other errors.
Cc: x...@kernel.org
Sign
From: Andi Kleen
Otherwise LTO will inline them anyways
Signed-off-by: Andi Kleen
---
kernel/spinlock.c | 56 ++--
1 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/kernel/spinlock.c b/kernel/spinlock.c
index 75439be..e68917a 100
From: Andi Kleen
Signed-off-by: Andi Kleen
---
arch/x86/kernel/alternative.c |4 ++--
arch/x86/kernel/vsyscall_64.c |4 ++--
arch/x86/power/hibernate_32.c |2 +-
arch/x86/um/vdso/vma.c|2 +-
arch/x86/vdso/vma.c | 10 +-
5 files changed, 11 insertions(
From: Andi Kleen
With LTO the tmp_vmlinux builds can take very long. Have own messages
to print so that it's clear what's going on. Previously the vmlinux
link would really happen during "LD init/built-in.o"
Also print separate messages for all the vmlinux link steps.
Signed-off-by: Andi Kleen
From: Andi Kleen
Signed-off-by: Andi Kleen
---
arch/ia64/include/asm/sections.h | 26 +-
1 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/arch/ia64/include/asm/sections.h b/arch/ia64/include/asm/sections.h
index 1a873b3..68b8f3a 100644
--- a/arch/ia64/i
On Sun, Jul 15, 2012 at 11:41:08AM +0800, Wang Sheng-Hui wrote:
> Put the sign '/' to the right position.
>
> Signed-off-by: Wang Sheng-Hui
Applied, thanks.
- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a
> -Original Message-
> From: Henrique de Moraes Holschuh [mailto:h...@hmh.eng.br]
> Sent: Saturday, August 18, 2012 3:45 PM
> To: Yu, Fenghua
> Cc: H Peter Anvin; Ingo Molnar; Thomas Gleixner; Mallick, Asit K;
> Tigran Aivazian; Andreas Herrmann; Borislav Petkov; linux-kernel; x86
> Subject
1 - 100 of 291 matches
Mail list logo