New branch 'jenner' available with the following commits:
commit 4546f091b36d9206a224c3ada4525f12d54dbc51
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Fri Oct 17 08:55:03 2008 -0700
Optimize 32 bit configuration
Put scsi-disk device, sata, and ext3 right in kernel.
Turn on all USB devices (includes 3G modem)
commit 5fdf7f43bb03f4f419a7a4f28282cc3b89d3f49c
Merge: 96afd745d5fa7200ae3a5bb5e6295b3808cb8b33
54a965395a97529068c9cb2ac32b9cb168f97640
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Fri Oct 17 08:28:07 2008 -0700
Merge [EMAIL PROTECTED]:linux-image into jenner
commit 96afd745d5fa7200ae3a5bb5e6295b3808cb8b33
Merge: f50a886507841343836dee2016b953c944afb5fc
bc5b8bb64a2dc740d8b99635931e689a8b13daf2
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Fri Oct 17 07:50:08 2008 -0700
Merge /home/shemminger/kernel/linux-2.6.27.y into jenner
commit bc5b8bb64a2dc740d8b99635931e689a8b13daf2
Author: Greg Kroah-Hartman <[EMAIL PROTECTED]>
Date: Wed Oct 15 16:02:53 2008 -0700
Linux 2.6.27.1
commit d23d43386311fde5f11e06c16d4185e94a8d6d06
Author: Steven Rostedt <[EMAIL PROTECTED]>
Date: Wed Oct 15 18:21:44 2008 -0400
disable CONFIG_DYNAMIC_FTRACE due to possible memory corruption on module
unload
While debugging the e1000e corruption bug with Intel, we discovered
today that the dynamic ftrace code in mainline is the likely source of
this bug.
For the stable kernel we are providing the only viable fix patch: labeling
CONFIG_DYNAMIC_FTRACE as broken. (see the patch below)
We will follow up with a backport patch that contains the fixes. But since
the fixes are not a one liner, the safest approach for now is to
disable the code in question.
The cause of the bug is due to the way the current code in mainline
handles dynamic ftrace. When dynamic ftrace is turned on, it also
turns on CONFIG_FTRACE which enables the -pg config in gcc that places
a call to mcount at every function call. With just CONFIG_FTRACE this
causes a noticeable overhead. CONFIG_DYNAMIC_FTRACE works to ease this
overhead by dynamically updating the mcount call sites into nops.
The problem arises when we trace functions and modules are unloaded.
The first time a function is called, it will call mcount and the mcount
call will call ftrace_record_ip. This records the calling site and
stores it in a preallocated hash table. Later on a daemon will
wake up and call kstop_machine and convert any mcount callers into
nops.
The evolution of this code first tried to do this without the kstop_machine
and used cmpxchg to update the callers as they were called. But I
was informed that this is dangerous to do on SMP machines if another
CPU is running that same code. The solution was to do this with
kstop_machine.
We still used cmpxchg to test if the code that we are modifying is
indeed code that we expect to be before updating it - as a final
line of defense.
But on 32bit machines, ioremapped memory and modules share the same
address space. When a module would load its code into memory and execute
some code, that would register the function.
On module unload, ftrace incorrectly did not zap these functions from
its hash (this was the bug). The cmpxchg could have saved us in most
cases (via luck) - but with ioremap-ed memory that was exactly the wrong
thing to do - the results of cmpxchg on device memory are undefined.
(and will likely result in a write)
The pending .28 ftrace tree does not have this bug anymore, as a general
push
towards more robustness of code patching, this is done differently: we do
not
use cmpxchg and we do a WARN_ON and turn the tracer off if anything deviates
from its expected state. Furthermore, patch sites are statically identified
during build time so there's no runtime discovery of dynamic code areas
anymore, and no room for code unmaps to cause the hash to become out of
date.
We believe the fragility of dynamic patching has been sufficiently
addressed in the development code via the static patching method, but
further
suggestions to make it more robust are welcome.
Signed-off-by: Steven Rostedt <[EMAIL PROTECTED]>
Acked-by: Ingo Molnar <[EMAIL PROTECTED]>
Acked-by: Thomas Gleixner <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
commit 54a965395a97529068c9cb2ac32b9cb168f97640
Merge: 984f7d7af043500941df4975c36c31edafd1d015
f50a886507841343836dee2016b953c944afb5fc
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Tue Oct 14 10:10:23 2008 -0700
Merge branch 'islavista-next' of extreme:git/linux-vyatta into islavista
commit f50a886507841343836dee2016b953c944afb5fc
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Tue Oct 14 10:09:17 2008 -0700
Cleanup 2.6.27 merge related file changes
CPU stuff that should be common
commit 984f7d7af043500941df4975c36c31edafd1d015
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Tue Oct 14 09:07:05 2008 -0700
Add changelog to for 2.6.27
commit 040582f657f3d7d0f6993ddb984f1b4b3fb535e2
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Tue Oct 14 09:03:53 2008 -0700
Update 32bit config's for 2.6.27
Both configurations are same except for addition of paravirt ops.
Drop support for Token Ring welcom to the '80s.
commit 4fa2eecf47e2794b82ebc7160532509c348ba1de
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Mon Oct 13 22:45:01 2008 -0700
Update to 2.6.27
commit b314a28c88cd2ba6bf1205837f21113fb0f25e8f
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Mon Oct 13 22:44:50 2008 -0700
update config for 2.6.27
commit b6de9c055a25c48a51bb1b5cb80526ced43c2bb5
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Mon Oct 13 22:09:51 2008 -0700
aufs update to latest version
From aufs cvs, use latest code.
commit bc35d95e37002b3b7b01b2312b34b6b42f8a8493
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Mon Oct 13 22:09:26 2008 -0700
More unionfs merge changes
commit 972a146da7363aa87a0bbe71dfa2102c9c477f1a
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Mon Oct 13 21:48:21 2008 -0700
Update unionfs to 2.5 for 2.6.27
commit 557109ec13b63e36fbe9be2642df1a23449e3bee
Merge: 7780f252b31a83c8041749fcaf7631dee7525593
5375addf59591d019929422a094b75b8222e3c44
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Mon Oct 13 21:40:52 2008 -0700
Merge branch 'islavista' into islavista-next
Resolve conflicts by using 2.6.27 version of files (except for handmerge
of ethtool.c)
commit 5375addf59591d019929422a094b75b8222e3c44
Merge: ec468269a82975bca684ef64709b869953ca9782
a10810aaf9680bfaae65099317df9c821b8d41c1
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Mon Oct 13 14:04:27 2008 -0700
Merge branch 'islavista' of suva.vyatta.com:/git/linux-vyatta into islavista
commit ec468269a82975bca684ef64709b869953ca9782
Author: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Mon Sep 22 08:08:41 2008 -0700
Update to unionfs 2.5
Merge in latest unionfs
_______________________________________________
svn mailing list
[email protected]
http://mailman.vyatta.com/mailman/listinfo/svn