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 --- |