* Immedate Values Optimized Jump Fix
[not found] <20080715024754.GA26471@Krystal>
@ 2008-07-17 2:57 ` Mathieu Desnoyers
2008-07-17 3:10 ` [ltt-dev] LTTng 0.11 Mathieu Desnoyers
[not found] ` <000001c8e7aa$b9548600$2bfd9200$@css.fujitsu.com>
1 sibling, 1 reply; 8+ messages in thread
From: Mathieu Desnoyers @ 2008-07-17 2:57 UTC (permalink / raw)
To: ltt-dev, linux-kernel, Takashi Nishiie
I rarely emit a single patch for a fix wrt LTTng (I usually just release
a new version), but this one is worth it. It will be in 0.11 pretty
soon, but if you want to apply it to 0.10 meanwhile, it's highly
recommended.
Caused a kernel OOPS when loading the tracepoint probes once in a while
on a 8-way x86_64.
Immedate Values Optimized Jump Fix
Fix the immediate values optimized jump fallback, which parameters were wrong
following the last changes. It should be a 5 bytes instruction (not 2) with a 4
bytes operand.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
---
arch/x86/kernel/immediate.c | 2 +-
include/asm-x86/immediate.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Index: linux-2.6-lttng/arch/x86/kernel/immediate.c
===================================================================
--- linux-2.6-lttng.orig/arch/x86/kernel/immediate.c 2008-07-16 22:50:35.000000000 -0400
+++ linux-2.6-lttng/arch/x86/kernel/immediate.c 2008-07-16 22:51:07.000000000 -0400
@@ -500,7 +500,7 @@ __kprobes int arch_imv_update(struct __i
"Jump target fallback at %lX, nr fail %d\n",
imv->imv, ++nr_fail);
#endif
- imv->size = 1;
+ imv->size = 4; /* Fallback on movl */
} else {
#ifdef DEBUG_IMMEDIATE
static int nr_success;
Index: linux-2.6-lttng/include/asm-x86/immediate.h
===================================================================
--- linux-2.6-lttng.orig/include/asm-x86/immediate.h 2008-07-16 22:49:19.000000000 -0400
+++ linux-2.6-lttng/include/asm-x86/immediate.h 2008-07-16 22:51:07.000000000 -0400
@@ -132,7 +132,7 @@ struct __imv {
BUILD_BUG_ON(sizeof(__typeof__(name##__imv)) > 1); \
asm (".section __imv,\"aw\",@progbits\n\t" \
_ASM_PTR "%c1, (3f)-4\n\t" \
- ".byte 0, 2\n\t" \
+ ".byte 0, 5\n\t" \
".previous\n\t" \
"mov $0,%0\n\t" \
"3:\n\t" \
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ltt-dev] LTTng 0.11
2008-07-17 2:57 ` Immedate Values Optimized Jump Fix Mathieu Desnoyers
@ 2008-07-17 3:10 ` Mathieu Desnoyers
0 siblings, 0 replies; 8+ messages in thread
From: Mathieu Desnoyers @ 2008-07-17 3:10 UTC (permalink / raw)
To: ltt-dev, linux-kernel, Takashi Nishiie
LTTng 0.11 is released, which contains this bugfix.
http://ltt.polymtl.ca/lttng/patch-2.6.26-0.11.tar.bz2
Mathieu
* Mathieu Desnoyers (compudj@krystal.dyndns.org) wrote:
> I rarely emit a single patch for a fix wrt LTTng (I usually just release
> a new version), but this one is worth it. It will be in 0.11 pretty
> soon, but if you want to apply it to 0.10 meanwhile, it's highly
> recommended.
>
> Caused a kernel OOPS when loading the tracepoint probes once in a while
> on a 8-way x86_64.
>
>
> Immedate Values Optimized Jump Fix
>
> Fix the immediate values optimized jump fallback, which parameters were wrong
> following the last changes. It should be a 5 bytes instruction (not 2) with a 4
> bytes operand.
>
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
> ---
> arch/x86/kernel/immediate.c | 2 +-
> include/asm-x86/immediate.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> Index: linux-2.6-lttng/arch/x86/kernel/immediate.c
> ===================================================================
> --- linux-2.6-lttng.orig/arch/x86/kernel/immediate.c 2008-07-16 22:50:35.000000000 -0400
> +++ linux-2.6-lttng/arch/x86/kernel/immediate.c 2008-07-16 22:51:07.000000000 -0400
> @@ -500,7 +500,7 @@ __kprobes int arch_imv_update(struct __i
> "Jump target fallback at %lX, nr fail %d\n",
> imv->imv, ++nr_fail);
> #endif
> - imv->size = 1;
> + imv->size = 4; /* Fallback on movl */
> } else {
> #ifdef DEBUG_IMMEDIATE
> static int nr_success;
> Index: linux-2.6-lttng/include/asm-x86/immediate.h
> ===================================================================
> --- linux-2.6-lttng.orig/include/asm-x86/immediate.h 2008-07-16 22:49:19.000000000 -0400
> +++ linux-2.6-lttng/include/asm-x86/immediate.h 2008-07-16 22:51:07.000000000 -0400
> @@ -132,7 +132,7 @@ struct __imv {
> BUILD_BUG_ON(sizeof(__typeof__(name##__imv)) > 1); \
> asm (".section __imv,\"aw\",@progbits\n\t" \
> _ASM_PTR "%c1, (3f)-4\n\t" \
> - ".byte 0, 2\n\t" \
> + ".byte 0, 5\n\t" \
> ".previous\n\t" \
> "mov $0,%0\n\t" \
> "3:\n\t" \
>
> --
> Mathieu Desnoyers
> OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev@lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] Fix markers duplicate modpost entry
[not found] ` <487ED503.2060503@oracle.com>
@ 2008-07-17 7:03 ` Mathieu Desnoyers
2008-07-17 7:16 ` Andrew Morton
0 siblings, 1 reply; 8+ messages in thread
From: Mathieu Desnoyers @ 2008-07-17 7:03 UTC (permalink / raw)
To: akpm, Wenji Huang; +Cc: Takashi Nishiie, ltt-dev, systemtap, linux-kernel
When a kernel was rebuilt, the previous Module.markers was not cleared. It
caused markers with different format strings to appear as duplicates when a
markers was changed.
I merely merged the patches from Roland and Wenji here. It applies to
mainline (and is not intrusive, so will also apply to linux-next).
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
From: Roland McGrath <roland@redhat dot com>
From: Wenji Huang <wenji.huang@oracle.com>
CC: akpm@linux-foundation.org
---
scripts/Makefile.modpost | 1 +
scripts/mod/modpost.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
Index: linux-2.6-lttng/scripts/Makefile.modpost
===================================================================
--- linux-2.6-lttng.orig/scripts/Makefile.modpost 2008-07-17 02:47:44.000000000 -0400
+++ linux-2.6-lttng/scripts/Makefile.modpost 2008-07-17 02:48:17.000000000 -0400
@@ -101,6 +101,7 @@ quiet_cmd_kernel-mod = MODPOST $@
cmd_kernel-mod = $(modpost) $@
vmlinux.o: FORCE
+ @rm -fr $(kernelmarkersfile)
$(call cmd,kernel-mod)
# Declare generated files as targets for modpost
Index: linux-2.6-lttng/scripts/mod/modpost.c
===================================================================
--- linux-2.6-lttng.orig/scripts/mod/modpost.c 2008-07-17 02:49:33.000000000 -0400
+++ linux-2.6-lttng/scripts/mod/modpost.c 2008-07-17 02:50:10.000000000 -0400
@@ -1992,7 +1992,8 @@ static void read_markers(const char *fna
mod->skip = 1;
}
- add_marker(mod, marker, fmt);
+ if (!mod->skip)
+ add_marker(mod, marker, fmt);
}
return;
fail:
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Fix markers duplicate modpost entry
2008-07-17 7:03 ` [PATCH] Fix markers duplicate modpost entry Mathieu Desnoyers
@ 2008-07-17 7:16 ` Andrew Morton
2008-07-17 14:13 ` Mathieu Desnoyers
2008-07-17 14:52 ` [PATCH] Fix markers duplicate modpost entry (update) Mathieu Desnoyers
0 siblings, 2 replies; 8+ messages in thread
From: Andrew Morton @ 2008-07-17 7:16 UTC (permalink / raw)
To: Mathieu Desnoyers
Cc: Wenji Huang, Takashi Nishiie, ltt-dev, systemtap, linux-kernel
On Thu, 17 Jul 2008 03:03:21 -0400 Mathieu Desnoyers <compudj@krystal.dyndns.org> wrote:
> When a kernel was rebuilt, the previous Module.markers was not cleared. It
> caused markers with different format strings to appear as duplicates when a
> markers was changed.
>
> I merely merged the patches from Roland and Wenji here. It applies to
> mainline (and is not intrusive, so will also apply to linux-next).
Is this fix needed in 2.6.26.x? 2.6.25.x?
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
> From: Roland McGrath <roland@redhat dot com>
> From: Wenji Huang <wenji.huang@oracle.com>
> CC: akpm@linux-foundation.org
whoa, what's all that about?
Patches can only have one Author: in git, and we indicate that in
emails by putting a From: line right at the top of the changelog.
(Additional credits can and should be mentioned in the changelog text
of course). When that From: line is missing we take the authorship
info from the email headers.
So according to the above, this patch has three authors. Geeze, even I
can type faster than that!
Who wrote it?
> ---
> scripts/Makefile.modpost | 1 +
> scripts/mod/modpost.c | 3 ++-
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> Index: linux-2.6-lttng/scripts/Makefile.modpost
> ===================================================================
> --- linux-2.6-lttng.orig/scripts/Makefile.modpost 2008-07-17 02:47:44.000000000 -0400
> +++ linux-2.6-lttng/scripts/Makefile.modpost 2008-07-17 02:48:17.000000000 -0400
> @@ -101,6 +101,7 @@ quiet_cmd_kernel-mod = MODPOST $@
> cmd_kernel-mod = $(modpost) $@
>
> vmlinux.o: FORCE
> + @rm -fr $(kernelmarkersfile)
> $(call cmd,kernel-mod)
>
> # Declare generated files as targets for modpost
> Index: linux-2.6-lttng/scripts/mod/modpost.c
> ===================================================================
> --- linux-2.6-lttng.orig/scripts/mod/modpost.c 2008-07-17 02:49:33.000000000 -0400
> +++ linux-2.6-lttng/scripts/mod/modpost.c 2008-07-17 02:50:10.000000000 -0400
> @@ -1992,7 +1992,8 @@ static void read_markers(const char *fna
> mod->skip = 1;
> }
>
> - add_marker(mod, marker, fmt);
> + if (!mod->skip)
> + add_marker(mod, marker, fmt);
> }
> return;
> fail:
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Fix markers duplicate modpost entry
2008-07-17 7:16 ` Andrew Morton
@ 2008-07-17 14:13 ` Mathieu Desnoyers
2008-07-17 14:52 ` [PATCH] Fix markers duplicate modpost entry (update) Mathieu Desnoyers
1 sibling, 0 replies; 8+ messages in thread
From: Mathieu Desnoyers @ 2008-07-17 14:13 UTC (permalink / raw)
To: Andrew Morton
Cc: Wenji Huang, Takashi Nishiie, ltt-dev, systemtap, linux-kernel
* Andrew Morton (akpm@linux-foundation.org) wrote:
> On Thu, 17 Jul 2008 03:03:21 -0400 Mathieu Desnoyers <compudj@krystal.dyndns.org> wrote:
>
> > When a kernel was rebuilt, the previous Module.markers was not cleared. It
> > caused markers with different format strings to appear as duplicates when a
> > markers was changed.
> >
> > I merely merged the patches from Roland and Wenji here. It applies to
> > mainline (and is not intrusive, so will also apply to linux-next).
>
> Is this fix needed in 2.6.26.x? 2.6.25.x?
>
Yes, it's needed in 2.6.26.x and 2.6.25, but I doubt it is critical :
only needed for systemtap users which use markers and rebuild their
kernel after having changed a marker format string.
> > Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
> > From: Roland McGrath <roland@redhat dot com>
> > From: Wenji Huang <wenji.huang@oracle.com>
> > CC: akpm@linux-foundation.org
>
> whoa, what's all that about?
>
> Patches can only have one Author: in git, and we indicate that in
> emails by putting a From: line right at the top of the changelog.
> (Additional credits can and should be mentioned in the changelog text
> of course). When that From: line is missing we take the authorship
> info from the email headers.
>
> So according to the above, this patch has three authors. Geeze, even I
> can type faster than that!
>
hehehe :)
> Who wrote it?
>
I took the diffs Roland and Wenji sent in separate emails and created
this patch. They are the ones who actually identified the solution. So I
guess I should be the author, with credits to them, if they are ok with
that.
Mathieu
> > ---
> > scripts/Makefile.modpost | 1 +
> > scripts/mod/modpost.c | 3 ++-
> > 2 files changed, 3 insertions(+), 1 deletion(-)
> >
> > Index: linux-2.6-lttng/scripts/Makefile.modpost
> > ===================================================================
> > --- linux-2.6-lttng.orig/scripts/Makefile.modpost 2008-07-17 02:47:44.000000000 -0400
> > +++ linux-2.6-lttng/scripts/Makefile.modpost 2008-07-17 02:48:17.000000000 -0400
> > @@ -101,6 +101,7 @@ quiet_cmd_kernel-mod = MODPOST $@
> > cmd_kernel-mod = $(modpost) $@
> >
> > vmlinux.o: FORCE
> > + @rm -fr $(kernelmarkersfile)
> > $(call cmd,kernel-mod)
> >
> > # Declare generated files as targets for modpost
> > Index: linux-2.6-lttng/scripts/mod/modpost.c
> > ===================================================================
> > --- linux-2.6-lttng.orig/scripts/mod/modpost.c 2008-07-17 02:49:33.000000000 -0400
> > +++ linux-2.6-lttng/scripts/mod/modpost.c 2008-07-17 02:50:10.000000000 -0400
> > @@ -1992,7 +1992,8 @@ static void read_markers(const char *fna
> > mod->skip = 1;
> > }
> >
> > - add_marker(mod, marker, fmt);
> > + if (!mod->skip)
> > + add_marker(mod, marker, fmt);
> > }
> > return;
> > fail:
>
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Fix markers duplicate modpost entry (update)
2008-07-17 7:16 ` Andrew Morton
2008-07-17 14:13 ` Mathieu Desnoyers
@ 2008-07-17 14:52 ` Mathieu Desnoyers
2008-07-17 22:28 ` Andrew Morton
1 sibling, 1 reply; 8+ messages in thread
From: Mathieu Desnoyers @ 2008-07-17 14:52 UTC (permalink / raw)
To: Andrew Morton
Cc: Wenji Huang, Roland McGrath, Takashi Nishiie, ltt-dev, systemtap,
linux-kernel
When a kernel was rebuilt, the previous Module.markers was not cleared. It
caused markers with different format strings to appear as duplicates when a
markers was changed. This problem is present since scripts/mod/modpost.c started
to generate Module.markers,
commit b2e3e658b344c6bcfb8fb694100ab2f2b5b2edb0
It therefore applies to 2.6.25, 2.6.26 and linux-next.
I merely merged the patches from Roland, Wenji and Takashi here.
Credits to
Roland McGrath <roland@redhat.com>
Wenji Huang <wenji.huang@oracle.com>
and
Takashi Nishiie <t-nishiie@np.css.fujitsu.com>
for providing the individual fixes.
- Changelog :
- Integrated Takashi's Makefile modification to clear Module.markers upon
make clean.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Roland McGrath <roland@redhat.com>
CC: Wenji Huang <wenji.huang@oracle.com>
CC: Takashi Nishiie <t-nishiie@np.css.fujitsu.com>
CC: akpm@linux-foundation.org
---
Makefile | 3 ++-
scripts/Makefile.modpost | 1 +
scripts/mod/modpost.c | 3 ++-
3 files changed, 5 insertions(+), 2 deletions(-)
Index: linux-2.6-lttng/scripts/Makefile.modpost
===================================================================
--- linux-2.6-lttng.orig/scripts/Makefile.modpost 2008-07-17 02:47:44.000000000 -0400
+++ linux-2.6-lttng/scripts/Makefile.modpost 2008-07-17 02:48:17.000000000 -0400
@@ -101,6 +101,7 @@ quiet_cmd_kernel-mod = MODPOST $@
cmd_kernel-mod = $(modpost) $@
vmlinux.o: FORCE
+ @rm -fr $(kernelmarkersfile)
$(call cmd,kernel-mod)
# Declare generated files as targets for modpost
Index: linux-2.6-lttng/scripts/mod/modpost.c
===================================================================
--- linux-2.6-lttng.orig/scripts/mod/modpost.c 2008-07-17 02:49:33.000000000 -0400
+++ linux-2.6-lttng/scripts/mod/modpost.c 2008-07-17 02:50:10.000000000 -0400
@@ -1992,7 +1992,8 @@ static void read_markers(const char *fna
mod->skip = 1;
}
- add_marker(mod, marker, fmt);
+ if (!mod->skip)
+ add_marker(mod, marker, fmt);
}
return;
fail:
Index: linux-2.6-lttng/Makefile
===================================================================
--- linux-2.6-lttng.orig/Makefile 2008-07-17 10:37:44.000000000 -0400
+++ linux-2.6-lttng/Makefile 2008-07-17 10:38:34.000000000 -0400
@@ -1133,7 +1133,8 @@ clean: archclean $(clean-dirs)
@find . $(RCS_FIND_IGNORE) \
\( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
- -o -name '*.symtypes' -o -name 'modules.order' \) \
+ -o -name '*.symtypes' -o -name 'modules.order' \
+ -o -name 'Module.markers' \) \
-type f -print | xargs rm -f
# mrproper - Delete all generated files, including .config
--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Fix markers duplicate modpost entry (update)
2008-07-17 14:52 ` [PATCH] Fix markers duplicate modpost entry (update) Mathieu Desnoyers
@ 2008-07-17 22:28 ` Andrew Morton
2008-07-17 22:40 ` Randy Dunlap
0 siblings, 1 reply; 8+ messages in thread
From: Andrew Morton @ 2008-07-17 22:28 UTC (permalink / raw)
To: Mathieu Desnoyers
Cc: wenji.huang, roland, t-nishiie, ltt-dev, systemtap, linux-kernel
On Thu, 17 Jul 2008 10:52:17 -0400
Mathieu Desnoyers <compudj@krystal.dyndns.org> wrote:
> Subject: Re: [PATCH] Fix markers duplicate modpost entry (update)
Please prepare the patch titles along the lines of
[patch] subsystem-identifer: what i did to it
so this one would have been
[patch] markers: fix markers duplicate modpost entry
It's for consistency, and for ease of reading commits mailing lists and
gitk titles and git-shortlog output, etc.
Thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Fix markers duplicate modpost entry (update)
2008-07-17 22:28 ` Andrew Morton
@ 2008-07-17 22:40 ` Randy Dunlap
0 siblings, 0 replies; 8+ messages in thread
From: Randy Dunlap @ 2008-07-17 22:40 UTC (permalink / raw)
To: Andrew Morton
Cc: Mathieu Desnoyers, wenji.huang, roland, t-nishiie, ltt-dev,
systemtap, linux-kernel
On Thu, 17 Jul 2008 15:28:37 -0700 Andrew Morton wrote:
> On Thu, 17 Jul 2008 10:52:17 -0400
> Mathieu Desnoyers <compudj@krystal.dyndns.org> wrote:
>
> > Subject: Re: [PATCH] Fix markers duplicate modpost entry (update)
>
> Please prepare the patch titles along the lines of
>
> [patch] subsystem-identifer: what i did to it
>
> so this one would have been
>
> [patch] markers: fix markers duplicate modpost entry
>
>
> It's for consistency, and for ease of reading commits mailing lists and
> gitk titles and git-shortlog output, etc.
Agreed, although I would have used
[PATCH] modpost: fix duplicate markers entries
---
~Randy
Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA
http://linuxplumbersconf.org/
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-07-17 22:42 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20080715024754.GA26471@Krystal>
2008-07-17 2:57 ` Immedate Values Optimized Jump Fix Mathieu Desnoyers
2008-07-17 3:10 ` [ltt-dev] LTTng 0.11 Mathieu Desnoyers
[not found] ` <000001c8e7aa$b9548600$2bfd9200$@css.fujitsu.com>
[not found] ` <20080717024550.GA22869@Krystal>
[not found] ` <487ED503.2060503@oracle.com>
2008-07-17 7:03 ` [PATCH] Fix markers duplicate modpost entry Mathieu Desnoyers
2008-07-17 7:16 ` Andrew Morton
2008-07-17 14:13 ` Mathieu Desnoyers
2008-07-17 14:52 ` [PATCH] Fix markers duplicate modpost entry (update) Mathieu Desnoyers
2008-07-17 22:28 ` Andrew Morton
2008-07-17 22:40 ` Randy Dunlap
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox