2008-11-26 02:44:54

by tip-bot for Liming Wang

[permalink] [raw]
Subject: [PATCH 1/1] ftrace: adding other non-leaving .text sections

Please review this patch, and I don't know whether new sections will conflict
with sched tracer or others.
This patch is against Steven tree's tip/devel latest commit.

Impact: improve recordmcount.pl

Besides .text section, there are three .text sections that won't
be freed after kernel booting. They are: .sched.text, .spinlock.text
and .kprobes.text, which contain functions we can trace. But the last
section ".kprobes.text" is particular, which has been marked as "notrace",
we ignore it. Thus we add other two sections.

Signed-off-by: Liming Wang <[email protected]>
---
scripts/recordmcount.pl | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
index 0197e2f..0b1dc9f 100755
--- a/scripts/recordmcount.pl
+++ b/scripts/recordmcount.pl
@@ -112,6 +112,8 @@ my ($arch, $bits, $objdump, $objcopy, $cc,
# Acceptable sections to record.
my %text_sections = (
".text" => 1,
+ ".sched.text" => 1,
+ ".spinlock.text" => 1,
);

$objdump = "objdump" if ((length $objdump) == 0);
--
1.6.0.3


2008-11-26 02:50:20

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH 1/1] ftrace: adding other non-leaving .text sections


* Liming Wang <[email protected]> wrote:

> Please review this patch, and I don't know whether new sections will conflict
> with sched tracer or others.
> This patch is against Steven tree's tip/devel latest commit.
>
> Impact: improve recordmcount.pl
>
> Besides .text section, there are three .text sections that won't
> be freed after kernel booting. They are: .sched.text, .spinlock.text
> and .kprobes.text, which contain functions we can trace. But the last
> section ".kprobes.text" is particular, which has been marked as "notrace",
> we ignore it. Thus we add other two sections.
>
> Signed-off-by: Liming Wang <[email protected]>
> ---
> scripts/recordmcount.pl | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
> index 0197e2f..0b1dc9f 100755
> --- a/scripts/recordmcount.pl
> +++ b/scripts/recordmcount.pl
> @@ -112,6 +112,8 @@ my ($arch, $bits, $objdump, $objcopy, $cc,
> # Acceptable sections to record.
> my %text_sections = (
> ".text" => 1,
> + ".sched.text" => 1,
> + ".spinlock.text" => 1,
> );

make sense - applied to tip/tracing/ftrace, thanks!

Ingo

2008-11-26 03:03:47

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH 1/1] ftrace: adding other non-leaving .text sections


On Wed, 26 Nov 2008, Liming Wang wrote:

> Please review this patch, and I don't know whether new sections will conflict
> with sched tracer or others.
> This patch is against Steven tree's tip/devel latest commit.
>
> Impact: improve recordmcount.pl
>
> Besides .text section, there are three .text sections that won't
> be freed after kernel booting. They are: .sched.text, .spinlock.text
> and .kprobes.text, which contain functions we can trace. But the last
> section ".kprobes.text" is particular, which has been marked as "notrace",
> we ignore it. Thus we add other two sections.

Yep, only those sections that we know will not disappear are OK. I was
conservative with only using ".text" but I knew there were other sections
that were OK, so I used the hash array to make it easy to add others.

Thanks!

Acked-by: Steven Rostedt <[email protected]>

-- Steve

>
> Signed-off-by: Liming Wang <[email protected]>
> ---
> scripts/recordmcount.pl | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
> index 0197e2f..0b1dc9f 100755
> --- a/scripts/recordmcount.pl
> +++ b/scripts/recordmcount.pl
> @@ -112,6 +112,8 @@ my ($arch, $bits, $objdump, $objcopy, $cc,
> # Acceptable sections to record.
> my %text_sections = (
> ".text" => 1,
> + ".sched.text" => 1,
> + ".spinlock.text" => 1,
> );
>
> $objdump = "objdump" if ((length $objdump) == 0);
> --
> 1.6.0.3
>
>
>

2008-11-26 03:06:19

by Paul Mundt

[permalink] [raw]
Subject: Re: [PATCH 1/1] ftrace: adding other non-leaving .text sections

On Tue, Nov 25, 2008 at 10:03:35PM -0500, Steven Rostedt wrote:
>
> On Wed, 26 Nov 2008, Liming Wang wrote:
>
> > Please review this patch, and I don't know whether new sections will conflict
> > with sched tracer or others.
> > This patch is against Steven tree's tip/devel latest commit.
> >
> > Impact: improve recordmcount.pl
> >
> > Besides .text section, there are three .text sections that won't
> > be freed after kernel booting. They are: .sched.text, .spinlock.text
> > and .kprobes.text, which contain functions we can trace. But the last
> > section ".kprobes.text" is particular, which has been marked as "notrace",
> > we ignore it. Thus we add other two sections.
>
> Yep, only those sections that we know will not disappear are OK. I was
> conservative with only using ".text" but I knew there were other sections
> that were OK, so I used the hash array to make it easy to add others.
>
Does your .text cover .text.head by the way?

2008-11-26 03:14:53

by walimis

[permalink] [raw]
Subject: Re: [PATCH 1/1] ftrace: adding other non-leaving .text sections

On Wed, Nov 26, 2008 at 12:04:46PM +0900, Paul Mundt wrote:
>On Tue, Nov 25, 2008 at 10:03:35PM -0500, Steven Rostedt wrote:
>>
>> On Wed, 26 Nov 2008, Liming Wang wrote:
>>
>> > Please review this patch, and I don't know whether new sections will conflict
>> > with sched tracer or others.
>> > This patch is against Steven tree's tip/devel latest commit.
>> >
>> > Impact: improve recordmcount.pl
>> >
>> > Besides .text section, there are three .text sections that won't
>> > be freed after kernel booting. They are: .sched.text, .spinlock.text
>> > and .kprobes.text, which contain functions we can trace. But the last
>> > section ".kprobes.text" is particular, which has been marked as "notrace",
>> > we ignore it. Thus we add other two sections.
>>
>> Yep, only those sections that we know will not disappear are OK. I was
>> conservative with only using ".text" but I knew there were other sections
>> that were OK, so I used the hash array to make it easy to add others.
>>
>Does your .text cover .text.head by the way?
No, and not needed. Because .text.head is of booting code, to which
function tracer can't trace.

walimis
>--
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/

2008-11-26 03:20:26

by Paul Mundt

[permalink] [raw]
Subject: Re: [PATCH 1/1] ftrace: adding other non-leaving .text sections

On Wed, Nov 26, 2008 at 11:14:38AM +0800, walimis wrote:
> On Wed, Nov 26, 2008 at 12:04:46PM +0900, Paul Mundt wrote:
> >On Tue, Nov 25, 2008 at 10:03:35PM -0500, Steven Rostedt wrote:
> >>
> >> On Wed, 26 Nov 2008, Liming Wang wrote:
> >>
> >> > Please review this patch, and I don't know whether new sections will conflict
> >> > with sched tracer or others.
> >> > This patch is against Steven tree's tip/devel latest commit.
> >> >
> >> > Impact: improve recordmcount.pl
> >> >
> >> > Besides .text section, there are three .text sections that won't
> >> > be freed after kernel booting. They are: .sched.text, .spinlock.text
> >> > and .kprobes.text, which contain functions we can trace. But the last
> >> > section ".kprobes.text" is particular, which has been marked as "notrace",
> >> > we ignore it. Thus we add other two sections.
> >>
> >> Yep, only those sections that we know will not disappear are OK. I was
> >> conservative with only using ".text" but I knew there were other sections
> >> that were OK, so I used the hash array to make it easy to add others.
> >>
> >Does your .text cover .text.head by the way?
> No, and not needed. Because .text.head is of booting code, to which
> function tracer can't trace.
>
In the case of CPU hotplug it can be entered at any time. I don't see why
it can't be traced from the boot CPU at least.

2008-11-26 03:20:59

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH 1/1] ftrace: adding other non-leaving .text sections


On Wed, 26 Nov 2008, Paul Mundt wrote:

> On Tue, Nov 25, 2008 at 10:03:35PM -0500, Steven Rostedt wrote:
> >
> > On Wed, 26 Nov 2008, Liming Wang wrote:
> >
> > > Please review this patch, and I don't know whether new sections will conflict
> > > with sched tracer or others.
> > > This patch is against Steven tree's tip/devel latest commit.
> > >
> > > Impact: improve recordmcount.pl
> > >
> > > Besides .text section, there are three .text sections that won't
> > > be freed after kernel booting. They are: .sched.text, .spinlock.text
> > > and .kprobes.text, which contain functions we can trace. But the last
> > > section ".kprobes.text" is particular, which has been marked as "notrace",
> > > we ignore it. Thus we add other two sections.
> >
> > Yep, only those sections that we know will not disappear are OK. I was
> > conservative with only using ".text" but I knew there were other sections
> > that were OK, so I used the hash array to make it easy to add others.
> >
> Does your .text cover .text.head by the way?

No, you can add it if it is safe to trace, and it will not ever disappear.

-- Steve

2008-11-26 03:25:05

by walimis

[permalink] [raw]
Subject: Re: [PATCH 1/1] ftrace: adding other non-leaving .text sections

On Wed, Nov 26, 2008 at 12:18:50PM +0900, Paul Mundt wrote:
>On Wed, Nov 26, 2008 at 11:14:38AM +0800, walimis wrote:
>> On Wed, Nov 26, 2008 at 12:04:46PM +0900, Paul Mundt wrote:
>> >On Tue, Nov 25, 2008 at 10:03:35PM -0500, Steven Rostedt wrote:
>> >>
>> >> On Wed, 26 Nov 2008, Liming Wang wrote:
>> >>
>> >> > Please review this patch, and I don't know whether new sections will conflict
>> >> > with sched tracer or others.
>> >> > This patch is against Steven tree's tip/devel latest commit.
>> >> >
>> >> > Impact: improve recordmcount.pl
>> >> >
>> >> > Besides .text section, there are three .text sections that won't
>> >> > be freed after kernel booting. They are: .sched.text, .spinlock.text
>> >> > and .kprobes.text, which contain functions we can trace. But the last
>> >> > section ".kprobes.text" is particular, which has been marked as "notrace",
>> >> > we ignore it. Thus we add other two sections.
>> >>
>> >> Yep, only those sections that we know will not disappear are OK. I was
>> >> conservative with only using ".text" but I knew there were other sections
>> >> that were OK, so I used the hash array to make it easy to add others.
>> >>
>> >Does your .text cover .text.head by the way?
>> No, and not needed. Because .text.head is of booting code, to which
>> function tracer can't trace.
>>
>In the case of CPU hotplug it can be entered at any time. I don't see why
>it can't be traced from the boot CPU at least.
OK, I see. Need more investigating on it.
Thanks.