David Smith wrote:
> After the lower layer's .report_quiesce handler is called, I'd like to
> turn off quiesce handling for this engine and leave on
> UTRACE_EVENT(DEATH) handling.  I've tried various combinations of return
> values and calling utrace_set_flags() in the .report_quiesce handler,
> but this handler always seems to get called twice (when the upper layer
> also does a UTRACE_ACTION_QUIESCE).

Sigh.  I've figured this out.  I put in some debugging code that showed
the flags before and after the call to utrace_set_flags and they were
getting set correctly, but when the 2nd call came they were back to the
original value.  I found that odd, so I printed the value of the engine
pointer also.  I then found out that I had asked the lower layer to put
a quiesce handler on the thread for every upper layer systemtap probe.
So, since I had 2 upper layer probes, I installed 2 engines that asked
for .report_quiesce.

When you ask for 2 .report_quiesce handlers to be called, you get them
called.

Sorry for the invalid bug report.  Now I'm off to figure out how to fix
the problem I've caused myself.

-- 
David Smith
[EMAIL PROTECTED]
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)

Reply via email to