From: Tom Zanussi <tom.zanussi@linux.intel.com>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: About 'hash' event trigger patchset
Date: Wed, 02 Apr 2014 09:51:54 -0500 [thread overview]
Message-ID: <1396450314.11878.90.camel@empanada> (raw)
In-Reply-To: <CAM9d7ch-ZBYRHmhbHJEXQtS-V_kBPK5nMhtM3bPbHmnY+m-EeQ@mail.gmail.com>
Hi Namhyung,
On Wed, 2014-04-02 at 08:31 +0000, Namhyung Kim wrote:
> Hi Tom,
>
> (Sorry for replying in another thread, I have a problem on mail settings)
>
> I've just read your hash event trigger series, and want to give some feedback.
>
> At first, the change log of 5/5 is actually a better documentation
> than in patch 4/5 so I think it should be added to the doc also. But
Good point, I'll do that (after trimming it down a bit).
> the syntax of the hash trigger should be look like:
>
> - # echo hash:key(s):value(s)[:sort_keys()][ if filter] > event/trigger
> + # echo hash:key(s):value(s)[:"sort="sort_key(s)][ if filter] > event/trigger
>
> Also on first example in the changelog of 5/5, key should be
> 'stacktrace' instead of 'call_site'.
>
Yeah, I realized that just after posting - will fix.
> As far as I see in the code, the sort key can receive an optional
> descending/ascending modifier, but it's not documented.
>
I knew I was forgetting something ;-) Thanks for pointing it out.
> One thing I noticed in the main logic is that it seems there's no
> limit checking when adding/creating new entry. In
> hash_trigger_entry_create(), there's a check against max_entries but
> if it goes beyond the max, it'd just access a NULL pointer AFAICS. Am
> I missing something? Also I don't know what the difference between
> ->n_entries and ->total_entries (in hash_data).
>
> I guess you wanted to set ->drops in that case, but I cannot find
Yes, the code is missing a very important snippet, which I realized
after hitting the problem. My current code has this:
if (hash_data->drops)
return NULL;
else if (hash_data->n_entries == hash_data->max_entries) {
hash_data->drops = 1;
return NULL;
}
n_entries is the current number of entries used up, and max_entries is
the total number of available entries (a cached value to avoid
calculating it every time).
> where it gets set. And I'm not sure it's good to check ->drop first,
> since entry can find an existing entry and merged to it even if it
> reached the max already.
>
The assumption is that if you have any drops at all, you probably want
to redo the test with a bigger table, but regardless the data reflects
the situation up to the point the drops started happening. Letting
events that already have a entry merge while rejecting those that don't
would invalidate the data you already have.
Thanks for taking a look and for your helpful comments,
Tom
> Thanks,
> Namhyung
next prev parent reply other threads:[~2014-04-02 14:52 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-02 8:31 About 'hash' event trigger patchset Namhyung Kim
2014-04-02 14:51 ` Tom Zanussi [this message]
2014-04-04 7:36 ` Namhyung Kim
2014-04-05 18:47 ` Tom Zanussi
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=1396450314.11878.90.camel@empanada \
--to=tom.zanussi@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=namhyung@kernel.org \
--cc=rostedt@goodmis.org \
/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.