trace.c (289733ed456f7c1cbdb1f1ca58312f77c239953b) trace.c (047fe3605235888f3ebcda0c728cb31937eadfe6)
1/*
2 * ring buffer based function tracer
3 *
4 * Copyright (C) 2007-2008 Steven Rostedt <srostedt@redhat.com>
5 * Copyright (C) 2008 Ingo Molnar <mingo@redhat.com>
6 *
7 * Originally taken from the RT patch by:
8 * Arnaldo Carvalho de Melo <acme@redhat.com>

--- 3595 unchanged lines hidden (view full) ---

3604{
3605 struct page *pages_def[PIPE_DEF_BUFFERS];
3606 struct partial_page partial_def[PIPE_DEF_BUFFERS];
3607 struct trace_iterator *iter = filp->private_data;
3608 struct splice_pipe_desc spd = {
3609 .pages = pages_def,
3610 .partial = partial_def,
3611 .nr_pages = 0, /* This gets updated below. */
1/*
2 * ring buffer based function tracer
3 *
4 * Copyright (C) 2007-2008 Steven Rostedt <srostedt@redhat.com>
5 * Copyright (C) 2008 Ingo Molnar <mingo@redhat.com>
6 *
7 * Originally taken from the RT patch by:
8 * Arnaldo Carvalho de Melo <acme@redhat.com>

--- 3595 unchanged lines hidden (view full) ---

3604{
3605 struct page *pages_def[PIPE_DEF_BUFFERS];
3606 struct partial_page partial_def[PIPE_DEF_BUFFERS];
3607 struct trace_iterator *iter = filp->private_data;
3608 struct splice_pipe_desc spd = {
3609 .pages = pages_def,
3610 .partial = partial_def,
3611 .nr_pages = 0, /* This gets updated below. */
3612 .nr_pages_max = PIPE_DEF_BUFFERS,
3612 .flags = flags,
3613 .ops = &tracing_pipe_buf_ops,
3614 .spd_release = tracing_spd_release_pipe,
3615 };
3616 static struct tracer *old_tracer;
3617 ssize_t ret;
3618 size_t rem;
3619 unsigned int i;

--- 55 unchanged lines hidden (view full) ---

3675 trace_access_unlock(iter->cpu_file);
3676 trace_event_read_unlock();
3677 mutex_unlock(&iter->mutex);
3678
3679 spd.nr_pages = i;
3680
3681 ret = splice_to_pipe(pipe, &spd);
3682out:
3613 .flags = flags,
3614 .ops = &tracing_pipe_buf_ops,
3615 .spd_release = tracing_spd_release_pipe,
3616 };
3617 static struct tracer *old_tracer;
3618 ssize_t ret;
3619 size_t rem;
3620 unsigned int i;

--- 55 unchanged lines hidden (view full) ---

3676 trace_access_unlock(iter->cpu_file);
3677 trace_event_read_unlock();
3678 mutex_unlock(&iter->mutex);
3679
3680 spd.nr_pages = i;
3681
3682 ret = splice_to_pipe(pipe, &spd);
3683out:
3683 splice_shrink_spd(pipe, &spd);
3684 splice_shrink_spd(&spd);
3684 return ret;
3685
3686out_err:
3687 mutex_unlock(&iter->mutex);
3688 goto out;
3689}
3690
3691struct ftrace_entries_info {

--- 534 unchanged lines hidden (view full) ---

4226 unsigned int flags)
4227{
4228 struct ftrace_buffer_info *info = file->private_data;
4229 struct partial_page partial_def[PIPE_DEF_BUFFERS];
4230 struct page *pages_def[PIPE_DEF_BUFFERS];
4231 struct splice_pipe_desc spd = {
4232 .pages = pages_def,
4233 .partial = partial_def,
3685 return ret;
3686
3687out_err:
3688 mutex_unlock(&iter->mutex);
3689 goto out;
3690}
3691
3692struct ftrace_entries_info {

--- 534 unchanged lines hidden (view full) ---

4227 unsigned int flags)
4228{
4229 struct ftrace_buffer_info *info = file->private_data;
4230 struct partial_page partial_def[PIPE_DEF_BUFFERS];
4231 struct page *pages_def[PIPE_DEF_BUFFERS];
4232 struct splice_pipe_desc spd = {
4233 .pages = pages_def,
4234 .partial = partial_def,
4235 .nr_pages_max = PIPE_DEF_BUFFERS,
4234 .flags = flags,
4235 .ops = &buffer_pipe_buf_ops,
4236 .spd_release = buffer_spd_release,
4237 };
4238 struct buffer_ref *ref;
4239 int entries, size, i;
4240 size_t ret;
4241

--- 71 unchanged lines hidden (view full) ---

4313 ret = -EAGAIN;
4314 else
4315 ret = 0;
4316 /* TODO: block */
4317 goto out;
4318 }
4319
4320 ret = splice_to_pipe(pipe, &spd);
4236 .flags = flags,
4237 .ops = &buffer_pipe_buf_ops,
4238 .spd_release = buffer_spd_release,
4239 };
4240 struct buffer_ref *ref;
4241 int entries, size, i;
4242 size_t ret;
4243

--- 71 unchanged lines hidden (view full) ---

4315 ret = -EAGAIN;
4316 else
4317 ret = 0;
4318 /* TODO: block */
4319 goto out;
4320 }
4321
4322 ret = splice_to_pipe(pipe, &spd);
4321 splice_shrink_spd(pipe, &spd);
4323 splice_shrink_spd(&spd);
4322out:
4323 return ret;
4324}
4325
4326static const struct file_operations tracing_buffers_fops = {
4327 .open = tracing_buffers_open,
4328 .read = tracing_buffers_read,
4329 .release = tracing_buffers_release,

--- 835 unchanged lines hidden ---
4324out:
4325 return ret;
4326}
4327
4328static const struct file_operations tracing_buffers_fops = {
4329 .open = tracing_buffers_open,
4330 .read = tracing_buffers_read,
4331 .release = tracing_buffers_release,

--- 835 unchanged lines hidden ---