mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: linux-kernel@vger.kernel.org, mingo@redhat.com,
	paulmck@linux.vnet.ibm.com, Andrew Morton <akpm@osdl.org>,
	tglx@linutronix.de, mathieu.desnoyers@efficios.com,
	xiakaixu@huawei.com
Subject: Re: [PATCH] tracing: Allow raw_syscall tracepoints to work from boot
Date: Thu, 15 Jan 2015 08:58:17 -0500	[thread overview]
Message-ID: <20150115085817.46708f7f@grimm.local.home> (raw)
In-Reply-To: <1421302240.11409.6.camel@ellerman.id.au>

On Thu, 15 Jan 2015 17:10:40 +1100
Michael Ellerman <mpe@ellerman.id.au> wrote:

> > 
> > I don't like setting the swap task flag for syscall tracing, as
> > nothing will unset it.
> 
> We could unset it in the unregfunc(), I did that in my original patch
> but took it out because I wasn't sure it was necessary.

Yes we could but that shows the issue with this approach. We can not
just use for_each_process_thread(). swapper is special, and we really
shouldn't touch it for this special case (cmdline usage).

> 
> Actually I thought it was neat, basically everything else comes from
> init_task via copy_process().

Yes, but only at boot up. After that, the swapper is not part of the
game. That's why its not part of for_each_process_thread().

>  
> > Try my patch and let me know if it works for you?
> 
> Sure. It works.
> 
> I can still see the first syscalls in the trace:
> 
>     # entries-in-buffer/entries-written: 1021354/1021354   #P:8
>     #
>     #                              _-----=> irqs-off
>     #                             / _----=> need-resched
>     #                            | / _---=> hardirq/softirq
>     #                            || / _--=> preempt-depth
>     #                            ||| /     delay
>     #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
>     #              | |       |   ||||       |         |
>                 init-1     [000] ....     3.706370: sys_exit: NR -1 =
> 0 init-1     [000] ....     3.706394: sys_enter: NR 45 (0, 0,
> 3fffa2e20000, 3fffcfd4eac2, 80, 3fffa2e61820) init-1
> [000] ....     3.706395: sys_exit: NR 45 = 70367490932736 init-1
> [000] ....     3.706409: sys_enter: NR 33 (3fffa2e694d0, 0,
> 3fffa2e7be20, 0, 1, ffffffffe0000000) init-1     [000] ....
> 3.713325: sys_exit: NR 33 = -2 
> 
> I like my version better, but your call.

Of course you do :-)

I thought about it a bit, and both versions are really hacks. But in
the end, I'd rather not touch the swapper task because that might give
us some unwanted side effects.

I don't really like my approach where I need to disable and re-enable
all tracepoints. I was thinking of only enabling and disabling just the
syscall ones, but I could imagine another tracepoint with a reg that
could be affected by early boot as well, so I left it touching all
events. My patch is fine for mainline, but I could make a patch for
3.20 that will only restart a tracepoint if it has its own reg/unreg
functions and does not use the default ones.

Your patch fixes syscall events. I wanted something that will fix any
event with its own special registration that might also use
for_each_process_thread() or some other call that does not work before
init is created.

Thanks,

-- Steve

  reply	other threads:[~2015-01-15 13:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-13 22:35 Michael Ellerman
2015-01-14 18:03 ` Steven Rostedt
2015-01-15  6:10   ` Michael Ellerman
2015-01-15 13:58     ` Steven Rostedt [this message]
2015-01-15 22:47       ` Michael Ellerman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150115085817.46708f7f@grimm.local.home \
    --to=rostedt@goodmis.org \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=xiakaixu@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®