From: Frederic Weisbecker <fweisbec@gmail.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Ingo Molnar <mingo@elte.hu>, LKML <linux-kernel@vger.kernel.org>,
Tom Zanussi <tzanussi@gmail.com>,
Steven Rostedt <rostedt@goodmis.org>,
Li Zefan <lizf@cn.fujitsu.com>
Subject: Re: [GIT PULL v2] bkl tracepoints + filter regex support
Date: Fri, 25 Sep 2009 12:38:07 +0200 [thread overview]
Message-ID: <20090925103806.GA6467@nowhere> (raw)
In-Reply-To: <1253871601.10287.23.camel@twins>
On Fri, Sep 25, 2009 at 11:40:00AM +0200, Peter Zijlstra wrote:
> On Fri, 2009-09-25 at 11:12 +0200, Frederic Weisbecker wrote:
> > That said, the future plans have evolved, and I'm fine if you have
> > changed your opinion and think about a better way to develop this.
>
> No, but the thing is, IF we're going to freeze this into ABI, then
> there's no second chances.
Right. Once it becomes an ioctl, it becomes an ABI :-/
> Using globs in string matches most certainly is useful, no question
> about that.
>
> But I had understood from previous communications we were going to have
> a C syntax, and there == is a straight comparison.
>
> If however people have changed their minds (fine with me) and we're now
> going to script like things..
Well, indeed we talked about C syntax, but I didn't think the idea
was that fixed in the rock, hence why I was suprised.
> Anyway, a glob in == just means we have to use another operator if we
> ever want to support actual regexes, ~ would then be recommened I think,
> since that's what awk and I think perl do.
Yeah. For example one may know python but not perl or awk,
other people may be in the opposite situation. But most
developers know the C (at least its basic syntax).
So I'm not sure using such ~ operator is a good idea. I think you're
right in the fact we should stay tight to the C syntax.
> Personally I wouldn't mind things like:
>
> glob_match(string, pattern)
> regex_match(string, pattern)
Yeah, actually that sounds more flexible and more something that people
are familar with, once we consider the future evolutions.
> But everybody involved in this filter stuff needs to agree what
> direction you want to take the language in.
Right!
> > I just don't want that this bridge turns out any ftrace uses through debugfs
> > into an overkill.
> > Instead I'd prefer to satisfy both, hence the above proposition.
>
> So you're proposing to split the filter language? I'm sure that's going
> to confuse a few people ;-)
Hmm, just at this level. That could even be a trace option.
Anyway, it would nice to have other tracing developers
opinion.
> Thing is, if you (or others) have a need to experiment with the
> language, then I'm not sure its the right moment to freeze bits into an
> ABI.
>
> I'm really fine with thing, as long as everybody on the filter side
> knows experimenting isn't really an option and agrees on the direction
> they want to take the language.
Well, I talked about experimenting the language before pushing it as
an ABI because I was afraid we were going too fast.
But I guess the ABI is a requirement to use it through perf ioctl,
and delay that would keep it as a hostage, may be even slow its
development.
> Is there no existing language with a proper license and clean code-base
> we can 'borrow'? That would avoid creating yet another funny language,
> and learning how to implement things all over again.
>
> Personally I don't think the kernel is the place to experiment in script
> language design, but that's me ;-)
Python? :-)
More seriously, as I said above, I think most developers are familiar with C
syntax, so IMHO this is one of our best possibility.
next prev parent reply other threads:[~2009-09-25 10:38 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-24 19:49 [GIT PULL v2] bkl tracepoints + filter regex support Frederic Weisbecker
2009-09-24 19:49 ` [PATCH 1/5 v2] tracing/bkl: Add bkl ftrace events Frederic Weisbecker
2009-09-24 19:49 ` [PATCH 2/5 v2] tracing/filters: Cleanup useless headers Frederic Weisbecker
2009-09-24 19:49 ` [PATCH 3/5 v2] tracing/event: Cleanup the useless dentry variable Frederic Weisbecker
2009-09-24 19:49 ` [PATCH 4/5 v2] tracing/filters: Provide basic regex support Frederic Weisbecker
2009-09-25 8:13 ` Andrey Panin
2009-09-25 8:16 ` Frederic Weisbecker
2009-09-24 19:49 ` [PATCH 5/5] tracing/filters: Unify the regex parsing helpers Frederic Weisbecker
2009-09-24 20:15 ` [GIT PULL v2] bkl tracepoints + filter regex support Ingo Molnar
2009-09-24 20:16 ` Ingo Molnar
2009-09-24 20:22 ` Ingo Molnar
2009-09-25 7:55 ` Frederic Weisbecker
2009-09-24 20:30 ` Peter Zijlstra
2009-09-24 20:44 ` Frederic Weisbecker
2009-09-24 20:51 ` Peter Zijlstra
2009-09-24 21:36 ` Frederic Weisbecker
2009-09-25 8:19 ` Peter Zijlstra
2009-09-25 9:12 ` Frederic Weisbecker
2009-09-25 9:40 ` Peter Zijlstra
2009-09-25 10:38 ` Frederic Weisbecker [this message]
2009-09-26 10:44 ` Steven Rostedt
2009-10-03 11:36 ` Frederic Weisbecker
2009-09-26 15:47 ` Frank Ch. Eigler
2009-10-03 11:49 ` Frederic Weisbecker
2009-09-26 10:30 ` Steven Rostedt
2009-09-24 20:33 ` Frederic Weisbecker
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=20090925103806.GA6467@nowhere \
--to=fweisbec@gmail.com \
--cc=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=lizf@cn.fujitsu.com \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.org \
--cc=tzanussi@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.