* [Bug runtime/6504] New: change _stp_print_flush to avoid calling into kernel/relay.c
@ 2008-05-12 19:03 fche at redhat dot com
2008-05-12 19:39 ` [Bug runtime/6504] " mhiramat at redhat dot com
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: fche at redhat dot com @ 2008-05-12 19:03 UTC (permalink / raw)
To: systemtap
Following from bug #6487, we need to reduce the regions of the kernel
that are dynamically reachable from probe handlers. For this particular
case, _stp_print_flush should avoid calling into the relay subsystem
(on modern kernels) and instead use some other mechanism to flag
available data.
I'm told lttng uses more conservative code (setting a
flag; having a separate worker/timer thread manage data copying, or
something like that). Considering the many copies we already suffer
in sending data to userspace, this sort of thing would not be a big
hit.
--
Summary: change _stp_print_flush to avoid calling into
kernel/relay.c
Product: systemtap
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: runtime
AssignedTo: systemtap at sources dot redhat dot com
ReportedBy: fche at redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=6504
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug runtime/6504] change _stp_print_flush to avoid calling into kernel/relay.c
2008-05-12 19:03 [Bug runtime/6504] New: change _stp_print_flush to avoid calling into kernel/relay.c fche at redhat dot com
@ 2008-05-12 19:39 ` mhiramat at redhat dot com
2008-05-15 11:01 ` mhiramat at redhat dot com
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: mhiramat at redhat dot com @ 2008-05-12 19:39 UTC (permalink / raw)
To: systemtap
------- Additional Comments From mhiramat at redhat dot com 2008-05-09 21:03 -------
(In reply to comment #0)
> I'm told lttng uses more conservative code (setting a
> flag; having a separate worker/timer thread manage data copying, or
> something like that).
AFAIK, it has a separate interval timer which just wakes reader process
up, not copying data.
I think we can do similar thing by replacing relay_reserve/relay_flush with
original utt functions which do not call __mod_timer nor relay_switch_subbuf.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=6504
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug runtime/6504] change _stp_print_flush to avoid calling into kernel/relay.c
2008-05-12 19:03 [Bug runtime/6504] New: change _stp_print_flush to avoid calling into kernel/relay.c fche at redhat dot com
2008-05-12 19:39 ` [Bug runtime/6504] " mhiramat at redhat dot com
@ 2008-05-15 11:01 ` mhiramat at redhat dot com
2008-05-16 18:52 ` mhiramat at redhat dot com
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: mhiramat at redhat dot com @ 2008-05-15 11:01 UTC (permalink / raw)
To: systemtap
------- Additional Comments From mhiramat at redhat dot com 2008-05-14 20:43 -------
Created an attachment (id=2738)
--> (http://sourceware.org/bugzilla/attachment.cgi?id=2738&action=view)
Add utt_switch_subbuf and an interval timer.
Hi,
This patch adds utt_switch_subbuf() (almost same as relay_switch_subbuf()) and
an interval timer to avoid calling __mod_timer from probe handler.
(Actually, this patch doesn't care about older relayfs than 2.6.15 kernel.)
--
http://sourceware.org/bugzilla/show_bug.cgi?id=6504
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug runtime/6504] change _stp_print_flush to avoid calling into kernel/relay.c
2008-05-12 19:03 [Bug runtime/6504] New: change _stp_print_flush to avoid calling into kernel/relay.c fche at redhat dot com
2008-05-12 19:39 ` [Bug runtime/6504] " mhiramat at redhat dot com
2008-05-15 11:01 ` mhiramat at redhat dot com
@ 2008-05-16 18:52 ` mhiramat at redhat dot com
2008-05-19 22:51 ` mhiramat at redhat dot com
2008-09-17 19:22 ` fche at redhat dot com
4 siblings, 0 replies; 6+ messages in thread
From: mhiramat at redhat dot com @ 2008-05-16 18:52 UTC (permalink / raw)
To: systemtap
--
What |Removed |Added
----------------------------------------------------------------------------
OtherBugsDependingO| |6487
nThis| |
http://sourceware.org/bugzilla/show_bug.cgi?id=6504
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug runtime/6504] change _stp_print_flush to avoid calling into kernel/relay.c
2008-05-12 19:03 [Bug runtime/6504] New: change _stp_print_flush to avoid calling into kernel/relay.c fche at redhat dot com
` (2 preceding siblings ...)
2008-05-16 18:52 ` mhiramat at redhat dot com
@ 2008-05-19 22:51 ` mhiramat at redhat dot com
2008-09-17 19:22 ` fche at redhat dot com
4 siblings, 0 replies; 6+ messages in thread
From: mhiramat at redhat dot com @ 2008-05-19 22:51 UTC (permalink / raw)
To: systemtap
------- Additional Comments From mhiramat at redhat dot com 2008-05-19 20:28 -------
(In reply to comment #2)
> This patch adds utt_switch_subbuf() (almost same as relay_switch_subbuf()) and
> an interval timer to avoid calling __mod_timer from probe handler.
Actually, I tried to fix this bug by just replacing timer with workqueue. However,
it was not safe because queue_delayed_work() used add_timer(), and queue_work()
used wake_up(). So it will cause another deadlock. That is why I decided to use
an interval timer.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=6504
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug runtime/6504] change _stp_print_flush to avoid calling into kernel/relay.c
2008-05-12 19:03 [Bug runtime/6504] New: change _stp_print_flush to avoid calling into kernel/relay.c fche at redhat dot com
` (3 preceding siblings ...)
2008-05-19 22:51 ` mhiramat at redhat dot com
@ 2008-09-17 19:22 ` fche at redhat dot com
4 siblings, 0 replies; 6+ messages in thread
From: fche at redhat dot com @ 2008-09-17 19:22 UTC (permalink / raw)
To: systemtap
------- Additional Comments From fche at redhat dot com 2008-09-17 19:20 -------
commit 7ef27e8
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://sourceware.org/bugzilla/show_bug.cgi?id=6504
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-09-17 19:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-12 19:03 [Bug runtime/6504] New: change _stp_print_flush to avoid calling into kernel/relay.c fche at redhat dot com
2008-05-12 19:39 ` [Bug runtime/6504] " mhiramat at redhat dot com
2008-05-15 11:01 ` mhiramat at redhat dot com
2008-05-16 18:52 ` mhiramat at redhat dot com
2008-05-19 22:51 ` mhiramat at redhat dot com
2008-09-17 19:22 ` fche at redhat dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).