summaryrefslogtreecommitdiffstats
path: root/runtime/transport
diff options
context:
space:
mode:
authorDavid Smith <dsmith@redhat.com>2009-03-13 16:48:58 -0500
committerDavid Smith <dsmith@redhat.com>2009-03-13 16:48:58 -0500
commit7d573b8d318836ef75d1f2888a50da230b7d83cc (patch)
treecceceab094d24dd4d613e557df5453c7111e6c0a /runtime/transport
parent325d52059ed170a698dd4d13e2b418e8e9ab0862 (diff)
downloadsystemtap-steved-7d573b8d318836ef75d1f2888a50da230b7d83cc.tar.gz
systemtap-steved-7d573b8d318836ef75d1f2888a50da230b7d83cc.tar.xz
systemtap-steved-7d573b8d318836ef75d1f2888a50da230b7d83cc.zip
Working bulkmode support.
2009-03-13 David Smith <dsmith@redhat.com> * print_new.c (stp_print_flush): Added bulkmode support for new transport. * transport/ring_buffer.c (__stp_find_next_entry): Fixed syntax error in bulkmode code. (_stp_transport_data_fs_init): Changed 'for_each_possible_cpu()' to 'for_each_online_cpu()' so that non-online cpu's won't have a trace file created.
Diffstat (limited to 'runtime/transport')
-rw-r--r--runtime/transport/ring_buffer.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/runtime/transport/ring_buffer.c b/runtime/transport/ring_buffer.c
index 3ea29f95..1d46c378 100644
--- a/runtime/transport/ring_buffer.c
+++ b/runtime/transport/ring_buffer.c
@@ -4,10 +4,6 @@
#include <linux/poll.h>
#include <linux/cpumask.h>
-#ifdef STP_BULKMODE
-#error "bulkmode support unfinished..."
-#endif
-
static struct ring_buffer *__stp_ring_buffer = NULL;
//DEFINE_PER_CPU(struct oprofile_cpu_buffer, cpu_buffer);
@@ -200,7 +196,7 @@ __stp_find_next_entry(long cpu_file, int *ent_cpu, u64 *ent_ts)
* If we are in a per_cpu trace file, don't bother by iterating over
* all cpus and peek directly.
*/
- if (ring_buffer_empty_cpu(buffer, (int)cpu_file))
+ if (ring_buffer_empty_cpu(__stp_ring_buffer, (int)cpu_file))
return NULL;
ent = peek_next_entry(cpu_file, ent_ts);
if (ent_cpu)
@@ -385,7 +381,7 @@ static int _stp_transport_data_fs_init(void)
return rc;
// create file(s)
- for_each_possible_cpu(cpu) {
+ for_each_online_cpu(cpu) {
char cpu_file[9]; /* 5(trace) + 3(XXX) + 1(\0) = 9 */
if (cpu > 999 || cpu < 0) {