This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug runtime/3858] option to share trace buffers between probe modules


------- Additional Comments From hunt at redhat dot com  2007-10-18 14:06 -------
(In reply to comment #16)
> Interesting solution (using module-exported functions from the host module)!
> Martin, if you have no objection, let's go ahead.

We have discussed this approach before and I am fine with it.

> One additional consideration for testing/checking: this now makes it theoretically
> possible for distinct probes to call into one particular probe module's runtime
> at the same time.  Even though this is limited to the I/O functions, can you
> cover whether any additional mutual exclusion may be necessary?  Even on per-cpu
> buffers, we have situations where probes don't run atomically any more ("begin" 
> probes that don't block interrupts, only preemption).  So if the host does a
> 
>  probe begin { while(i++<1000) { log ("lots of stuff") } }
> 
> at the same time the guest does
> 
>  probe timer.profile { log ("some stuff") }
> 
> then could we have a problem?

Ouch.  As soon as I read that I realized we currently have a problem with
begin/end probes.  See http://sourceware.org/bugzilla/show_bug.cgi?id=5194

For the buffer sharing, I think the problem is simply that output will get mixed
together in such situations, which is not unexpected in a shared buffer situation.  


-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=3858

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]