Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 199438
b: refs/heads/master
c: 2711ca2
h: refs/heads/master
v: v3
  • Loading branch information
Steven Rostedt authored and Steven Rostedt committed May 25, 2010
1 parent 606efaa commit e9660c8
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b3230c8b44da5838cf396942d5c1ab19f8e8f720
refs/heads/master: 2711ca237a084286ea1c2dcf82ab2aadab23a00d
11 changes: 9 additions & 2 deletions trunk/kernel/trace/ring_buffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -3902,23 +3902,30 @@ int ring_buffer_read_page(struct ring_buffer *buffer,
ret = read;

cpu_buffer->lost_events = 0;

commit = local_read(&bpage->commit);
/*
* Set a flag in the commit field if we lost events
*/
if (missed_events) {
commit = local_read(&bpage->commit);

/* If there is room at the end of the page to save the
* missed events, then record it there.
*/
if (BUF_PAGE_SIZE - commit >= sizeof(missed_events)) {
memcpy(&bpage->data[commit], &missed_events,
sizeof(missed_events));
local_add(RB_MISSED_STORED, &bpage->commit);
commit += sizeof(missed_events);
}
local_add(RB_MISSED_EVENTS, &bpage->commit);
}

/*
* This page may be off to user land. Zero it out here.
*/
if (commit < BUF_PAGE_SIZE)
memset(&bpage->data[commit], 0, BUF_PAGE_SIZE - commit);

out_unlock:
spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);

Expand Down
6 changes: 0 additions & 6 deletions trunk/kernel/trace/trace.c
Original file line number Diff line number Diff line change
Expand Up @@ -3661,7 +3661,6 @@ tracing_buffers_read(struct file *filp, char __user *ubuf,
size_t count, loff_t *ppos)
{
struct ftrace_buffer_info *info = filp->private_data;
unsigned int pos;
ssize_t ret;
size_t size;

Expand All @@ -3688,11 +3687,6 @@ tracing_buffers_read(struct file *filp, char __user *ubuf,
if (ret < 0)
return 0;

pos = ring_buffer_page_len(info->spare);

if (pos < PAGE_SIZE)
memset(info->spare + pos, 0, PAGE_SIZE - pos);

read:
size = PAGE_SIZE - info->read;
if (size > count)
Expand Down

0 comments on commit e9660c8

Please sign in to comment.